Pin password badge actions to their source runtime
Merged
TE
1mo ago+53+53+01234567890123456789-31-31-01234567890123456789
Follow-up to #14867 and #14905 (password input indicator).
- Runtime guard: the
GHOSTTY_ACTION_SECURE_INPUThandler only checked theTerminalSurfacemodel, which outlives hibernation and stale-runtime release. An ON action queued by a released runtime could re-show the badge afterterminalSurfaceRuntimeDidRelease()cleared it. The main-thread hop now also requires the model's current runtime surface to be the one the action came from. - Docs parity: the local-prompt, live-apply, and pasted-text notes from
all-keys.mdare now in thecmux.schema.jsondescriptions (embedded schema regenerated) and in the Settings subtitles in all 9 locales. - Release notification: the pane host is notified of a runtime release only when a runtime was actually released.
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.
Summary by cubic
Fixes a race where a password badge ON action queued by a released runtime could re-show the badge after teardown cleared it. The main-thread hop now only runs if the action's callback context is still the terminal's active runtime context.
- Compares the per-runtime callback context (captured weakly) rather than the native surface pointer, which a replacement runtime may reuse.
- Adds local-prompt and pasted-text notes to the schema descriptions and Settings subtitles in all 9 locales, noting changes apply to already-open prompts.
- Notifies the pane host of a runtime release only when a runtime was actually released.
Summary by CodeRabbit
-
Updates
- Clarified that password-prompt detection applies to local prompts, including an SSH client’s own password prompt, but not
sudoprompts inside an SSH session. - Clarified that password dots count typed characters, not pasted text, and that only the count—not the characters—is retained.
- Changes to the password indicator setting now apply to prompts that are already open.
- Clarified that password-prompt detection applies to local prompts, including an SSH client’s own password prompt, but not
-
Bug Fixes
- Improved password-indicator updates when a terminal surface changes, preventing updates from being applied to a surface that is no longer current.