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>
6f50867aa1Julius Marminge committed on 3/2/2026, 9:13:19 PM· committed by Julius Marmingeparent4fca604
5 files changedLine totals unavailable