Skip to content

Conversation

@ammar-agent
Copy link
Collaborator

@ammar-agent ammar-agent commented Dec 7, 2025

Hides the X button during workspace rename to avoid confusion with delete.

Previously the X button would still show "Remove workspace" tooltip during rename mode, leading to accidental workspace deletion when users intended to cancel rename.

Fix: Hide the X button entirely while the rename input is active. Users can press Escape to cancel rename instead (the natural behavior).

Also prevents Escape key from propagating to global stream interrupt handler.

Generated with mux

@chatgpt-codex-connector
Copy link

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Repo admins can enable using credits for code reviews in their settings.

@ammar-agent ammar-agent force-pushed the workspace-rename-ui-fix branch 2 times, most recently from 7c1f797 to 5484696 Compare December 7, 2025 16:22
The X button showed 'Remove workspace' tooltip during rename mode,
causing accidental workspace deletion. Now the X button is hidden
while editing - users can press Escape to cancel rename instead.

Also prevents Escape key from propagating to global stream interrupt
handler.
@ammar-agent ammar-agent force-pushed the workspace-rename-ui-fix branch from 5484696 to 4d32bda Compare December 7, 2025 16:29
@ammario ammario merged commit aed0c79 into main Dec 7, 2025
19 checks passed
@ammario ammario deleted the workspace-rename-ui-fix branch December 7, 2025 16:34
ethanndickson added a commit that referenced this pull request Dec 9, 2025
When editing a message while streaming, pressing Escape to cancel editing
would also interrupt the active stream. This is the same issue fixed in
PR #954 for workspace renaming.

Added stopPropagation() in both code paths:
- Non-vim mode: ChatInput's CANCEL_EDIT handler
- Vim mode: VimTextArea's escapeInNormalMode handler

This prevents the Escape keydown event from reaching the global stream
interrupt handler in useAIViewKeybinds.

_Generated with `mux`_
github-merge-queue bot pushed a commit that referenced this pull request Dec 9, 2025
…#1010)

When editing a message while streaming, pressing Escape to cancel
editing would also interrupt the active stream. This is the same issue
fixed in PR #954 for workspace renaming.

Added `stopPropagation()` in both code paths:
- Non-vim mode: ChatInput's CANCEL_EDIT handler
- Vim mode: VimTextArea's escapeInNormalMode handler

This prevents the Escape keydown event from reaching the global stream
interrupt handler in `useAIViewKeybinds`.

_Generated with `mux`_
ethanndickson added a commit that referenced this pull request Dec 16, 2025
When recording voice input while streaming, pressing Escape to cancel
recording would also interrupt the active chat stream. This is the same
issue fixed in PR #954 (workspace renaming) and PR #1010 (message editing).

Added `stopPropagation()` to the Escape handler in `useVoiceInput.ts`
to prevent the event from reaching the global stream interrupt handler
in `useAIViewKeybinds`.

Closes #1170

---
_Generated with `mux` • Model: `anthropic:claude-opus-4-5` • Thinking: `high`_
github-merge-queue bot pushed a commit that referenced this pull request Dec 16, 2025
…#1184)

When recording voice input while streaming, pressing Escape to cancel
recording would also interrupt the active chat stream. This is the same
issue fixed in PR #954 (workspace renaming) and PR #1010 (message
editing).

Added `stopPropagation()` to the Escape handler in `useVoiceInput.ts` to
prevent the event from reaching the global stream interrupt handler in
`useAIViewKeybinds`.

I explored ways to unify this pattern (centralized Escape registry,
checking `defaultPrevented`, single global handler with state checks)
but none were better than the simple `stopPropagation()` approach—each
adds coupling or complexity without meaningful benefit. The DOM's event
propagation model is designed for exactly this case.

Closes #1170

---
_Generated with `mux`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants