Reproduced on main a12d6ed942 in the Linux web dev app with two stopped threads: A → B → Settings → Back → Ctrl+[ returned to Settings. Closing with Escape had the same result. Ctrl+[ is the Linux equivalent of the reported Cmd+[ binding; native macOS/Electron was not checked.
[Bug]: Cmd+[ / Cmd+] back/forward stops on the Settings page instead of skipping to threads#16542
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/web (navigation)
Steps to reproduce
- Open thread A, then open thread B.
- Open Settings, then close it so you are back on thread B.
- Press
Cmd+[(navigation.back).
Expected behavior
Back moves to thread A. The Settings page should not be a stop in thread back/forward navigation, since the user already closed it.
Actual behavior
The view switches to the Settings page. One more Cmd+[ is needed to reach thread A. This happens with the sidebar scope set to "All projects" and with a single-project scope, so it is unrelated to the scope filter.
navigation.back / navigation.forward call window.history.back() / window.history.forward(), so every route in the history stack counts as a stop, including Settings. Related: #10388 (Escape not returning to the previous thread from Pull Requests / Usage, closed).
Impact
Minor bug or occasional failure. Back/forward is unreliable for hopping between threads once Settings has been opened.
Version or commit
T3 Code (Alpha) 0.0.45, macOS
Suggested direction
Skip non-thread routes (Settings, Usage, Pull Requests) when navigating back/forward, or make closing Settings replace its history entry instead of leaving it on the stack.
Workarounds
Cmd+Shift+[ / Cmd+Shift+] (thread.previous / thread.next) do not stop on Settings, at least with "All projects" selected. They follow the sidebar order, not visit order, so they are not a full substitute for back/forward.
Fix preserved in draft #23222 at 5f983b4e2c. Two focused browser regressions pass; a real Chromium/Linux run returns B after closing Settings, then Ctrl+[ reaches A and Ctrl+] returns B. Native macOS/Electron remains unverified. The evidence audit is insufficient because capture geometry, clock, and matrix variants remain incomplete; the PR stays draft for maintainer verification.