Problem: Escape does not close the tutorial tooltip. Only the backdrop, Skip and Done close it.
What did not work (#5670): a window-level capture-phase Escape listener in TutorialTooltip.tsx dismissed the tutorial and stopped the event. Tutorials show over the whole app, so that listener took every Escape: open popovers, menus, dialogs and message edit mode stopped closing, and 8 integration test files failed. #5670 reverted it.
Fix idea: handle Escape only where the tutorial owns focus (move focus into the tooltip when it opens and handle onKeyDown there), or check defaultPrevented in a bubble-phase listener that runs after open layers. Any approach must keep Escape for open popovers, dialogs, edit mode and IME composition, and must not also interrupt a running stream.
Priority P3. Size S-M.
Found by the agent bug bashes in #5670.
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high
Problem: Escape does not close the tutorial tooltip. Only the backdrop, Skip and Done close it.
What did not work (#5670): a window-level capture-phase Escape listener in
TutorialTooltip.tsxdismissed the tutorial and stopped the event. Tutorials show over the whole app, so that listener took every Escape: open popovers, menus, dialogs and message edit mode stopped closing, and 8 integration test files failed. #5670 reverted it.Fix idea: handle Escape only where the tutorial owns focus (move focus into the tooltip when it opens and handle
onKeyDownthere), or checkdefaultPreventedin a bubble-phase listener that runs after open layers. Any approach must keep Escape for open popovers, dialogs, edit mode and IME composition, and must not also interrupt a running stream.Priority P3. Size S-M.
Found by the agent bug bashes in #5670.
Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high