fix(tui): hide the composer while the password-manager unlock card is open
Live Ink TUI repro: with the unlock card mounted, keystrokes reached BOTH the masked prompt and the still-focused composer, so the master password echoed in clear text in the composer row and was queued as a message. `$isBlocked` (which unmounts the composer for approval/sudo/secret cards) did not list the new overlay; the pet's awaiting-input predicate had the same gap. After the fix the raw PTY stream no longer contains the typed password. Also tightens the classic-CLI panel copy to fit an 80-column box.
This commit is contained in:
@@ -692,8 +692,8 @@ class CLITuiMixin:
|
||||
return self._render_sudo_style_panel(
|
||||
f'🔐 Unlock {backend}',
|
||||
[f'The agent wants to sign into a site with a login saved in {backend}.',
|
||||
'Enter your master password below (hidden) to unlock it for this session, or press Enter to keep it locked.',
|
||||
'The password never reaches the model; only a session token is kept in memory.'])
|
||||
'Type your master password (hidden) to unlock it for this session.',
|
||||
'Enter on an empty line keeps it locked. The model never sees the password.'])
|
||||
return self._render_sudo_style_panel(
|
||||
'🔐 Sudo Password Required', ['Enter password below (hidden), or press Enter to skip'])
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ export const $isBlocked = computed(
|
||||
skillsHub,
|
||||
subscription,
|
||||
sudo,
|
||||
vaultUnlock,
|
||||
widget
|
||||
}) =>
|
||||
Boolean(
|
||||
@@ -63,6 +64,7 @@ export const $isBlocked = computed(
|
||||
skillsHub ||
|
||||
subscription ||
|
||||
sudo ||
|
||||
vaultUnlock ||
|
||||
widget
|
||||
)
|
||||
)
|
||||
|
||||
@@ -50,7 +50,7 @@ export function derivePetState({ busy, toolRunning, reasoning, awaitingInput }:
|
||||
function isAwaitingInput(): boolean {
|
||||
const o = getOverlayState()
|
||||
|
||||
return Boolean(o.clarify || o.approval || o.sudo || o.secret || o.confirm)
|
||||
return Boolean(o.clarify || o.approval || o.sudo || o.secret || o.vaultUnlock || o.confirm)
|
||||
}
|
||||
|
||||
// A kitty Unicode-placeholder frame set: a static placeholder grid (painted by
|
||||
|
||||
Reference in New Issue
Block a user