# Improve store referential stability and fix reactive terminal state · gitcafe/t3code

[View on GitCafe](https://git.cafe/gitcafe/t3code/commit/6f50867aa1ee94fc7582340ce728655e173db144)

Repository: [gitcafe/t3code](https://git.cafe/gitcafe/t3code)

Visibility: public

Requested revision: 6f50867aa1ee94fc7582340ce728655e173db144

Requested commit: 6f50867aa1ee94fc7582340ce728655e173db144

Commit: 6f50867aa1ee94fc7582340ce728655e173db144

Tree: 44f58a309ab47f1ec9777fadc55d9b907bc185a8

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
Improve store referential stability and fix reactive terminal state

- Deep clone DEFAULT_THREAD_TERMINAL_STATE in createDefaultThreadTerminalState
- Remove imperative getTerminalState from terminal store; export
  selectThreadTerminalState for reactive selectors instead
- Fix Sidebar terminal activity indicator not updating (was using
  non-reactive getter)
- Add no-op bailouts to app store transitions (updateThread,
  markThreadVisited, markThreadUnread, setError, setThreadBranch,
  setProjectExpanded, setRuntimeMode) to prevent unnecessary re-renders
- Use createDefaultThreadTerminalState in clearTerminalState to avoid
  storing frozen reference

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

```

## Parents

- [4fca60469dfc5dab7d8d742e965f4ab260f20c3c](https://git.cafe/gitcafe/t3code/commit/4fca60469dfc5dab7d8d742e965f4ab260f20c3c?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/t3code/tree/6f50867aa1ee94fc7582340ce728655e173db144?format=markdown)
