[Bug]: Diff selection always resets to Changes after navigating away#22319

opened22d agobyAaleo113

Before submitting

  • I searched existing open issues and did not find a report specifically covering the diff selection resetting.
  • I included steps describing the observed behavior.

Area

Diff panel / navigation state

Steps to reproduce

  1. Open a thread with uncommitted changes.
  2. Open the diff panel and choose a different comparison, such as Uncommitted or an individual turn.
  3. Navigate to Usage, then return to the thread and its diff panel.
  4. Observe the selected diff scope.
  5. Alternatively, switch to another thread and then return to the original thread.

Expected behavior

The diff panel remembers whichever comparison was selected for the original thread, including Uncommitted, an individual turn, or a custom branch comparison, when navigating away and returning.

Actual behavior

The selection always resets to Changes after navigating away and back, regardless of which comparison was previously selected. Uncommitted was only one example.

Impact

Repeatedly interrupts diff review when checking usage or moving between threads.

Version or commit

Not captured for this report. Observed on 2026-10-20.

Environment

T3 Code on Linux.

  • #8759 covers diff scroll position and folded files resetting after switching right-panel tabs.
  • #11571 covers diff scroll position resetting after switching threads.

This report concerns the selected comparison resetting, which is not specifically described in those reports or their current comments.

Workaround

Manually restore the desired comparison after returning.

Verification

User-observed behavior. Not independently reproduced during issue preparation.

Reproduced in the Linux web dev app on main 70e5e384da. In a persisted thread with an uncommitted file: selected Uncommitted, opened Usage, clicked Back; selection reset to Changes. Selecting Uncommitted, switching to another thread, and returning also reset it to Changes. The existing right-panel-tab fix does not cover these navigation paths.

Synced from GitHub

Same here on Linux (Pop!_OS 22.04, T3 Code 0.1.3).

Every time I come back to a thread, the diff panel is back on Changes instead of the scope I picked (usually Uncommitted). On my repo this hurts a lot: I work on dev, and origin/main is far behind. So Changes opens a huge diff of old work, and I have to switch the scope again before each review.

Happy to test a fix.

Synced from GitHub
1 Happy to test a fix.

you can try out my fix in pr #22347 it solved it for me

Synced from GitHub

Also seeing this when switching between chats on macOS.

  1. Open chat A's diff panel.
  2. In the View dropdown, select Uncommitted.
  3. Switch to chat B, then return to chat A.

The selection resets to Changes, so I have to pick the filter again every time I return. Each chat should remember its own selected view.

Environment: T3 Code (Nightly) 0.1.7-nightly.20261102.4066, macOS 26.6.2. Installed/running app version checked on 2026-11-02. This is user-observed behavior; the navigation sequence was not independently replayed while filing.

Adding this here to avoid duplicating the existing report. I found #20251 (closed, right-panel tab switching) and #22347 (open, navigation fix), which appear related.