hermes-agent/apps/desktop/src/app/session
Brooklyn Nicholson 96999b116b refactor(desktop): put every preview on one rail tab list
The right rail held two things at once: a list of file tabs, and a
privileged "live preview" slot with a hardcoded `preview` tab id backed by
a separate session-keyed registry. The two were written under different
session-id rules and reconciled against each other, so an `open_preview`
from a session whose stored id hadn't landed yet was set and then
immediately cleared — the pane flashed and vanished. Artifacts arrived as
a third list with their own pane and renderers.

Now everything the rail can show is a `PreviewTarget` in `$previewTabs`,
and `openPreview` is the only way in. `$previewTarget` is a computed read
of the active tab, the session registry and its reconciler are gone, and
artifacts render in the real preview pane through the shared mode switcher
and source view instead of a parallel one. Artifact tabs stay memory-only
since the registry rebuilds from the transcript.
2026-07-27 17:55:27 -05:00
..
hooks refactor(desktop): put every preview on one rail tab list 2026-07-27 17:55:27 -05:00
workspace-session-target.test.ts feat(desktop): open a tab from the sidebar "+" when a chat is loaded 2026-07-26 03:22:09 -05:00
workspace-session-target.ts feat(desktop): open a tab from the sidebar "+" when a chat is loaded 2026-07-26 03:22:09 -05:00