Protect action identity from mutation

Keep action identity and display metadata
constructor-set so registry keys cannot drift
from the objects they index.

Require sources to publish unique ownership while
the registry retains shared keepalive for runs.

Preserve opaque IDs and persisted state keys.
This commit is contained in:
Andrew
2026-07-13 17:32:16 +08:00
parent b4c9747f09
commit 87c9ab138c
6 changed files with 71 additions and 31 deletions

View File

@@ -255,7 +255,7 @@ private:
if (!a)
return;
const bool ask = reg.should_ask(id);
const std::string atitle = a->title; // capture before Dismiss; `a` may not outlive it
const std::string atitle = a->title(); // capture before Dismiss; `a` may not outlive it
Dismiss(); // launcher gone before the modal / the script's own UI
if (ask) {