Commit Graph
5 Commits
Author SHA1 Message Date
bincxz 8e7161a643 fix(app): distinguish presentation tombstone snapshots and history titles
Encode null vs missing presentation fields for useSyncExternalStore, and
compare AI history list title chrome so renames refresh without stream thrash.
2026-07-30 21:29:36 +08:00
bincxz d7b2d6ab02 fix(app): address Codex review on presentation, AI scope, selection
- Store null presentation tombstones so clears override stale snapshots
- Compare selected AI session identity for cross-scope history resumes
- Attach selection overlay after xterm runtime exists; skip copy-on-select
  while preserveSelectionOnInput restores the selection
- Align system-sidebar hibernation source contract with resolvedSession
2026-07-30 21:04:34 +08:00
bincxz d8b071cb78 perf(app): scope pane presentation subscriptions per session
useSyncExternalStore now reads a per-session snapshot string so sibling title
updates notify the store but do not re-render unaffected TerminalPane instances.
2026-07-30 18:06:45 +08:00
bincxz 36d3189a38 perf(app): overlay presentation store in focus sidebar and panes
Address Codex P2/P3 on #2628: feed live titles/providers to TerminalFocusSidebar
and TerminalPane chrome via sessionPresentationStore, and keep aiPanelContextsEqual
on domain-local types so domain does not import UI modules.
2026-07-30 17:57:14 +08:00
bincxz f4ecb6d1a1 perf(app): isolate App shell domains, TopTabs titles, AI contexts, Vault history
Split the main-window mega bag into domain-scoped AppView slices so Vault,
terminal, chrome, dialogs, and mounts only re-render when their slice identity
changes. Drive tab titles/coding-CLI icons through sessionPresentationStore
(store-only live updates + orphan map overlay), retain presentation-stable
sessions for domain memos, stabilize AI panel context Maps with structural
equal/retain, and keep shell history on shellHistoryStore so Vault host lists
ignore history-only churn.
2026-07-30 17:28:16 +08:00