From 51646e84054f9e2c45ab9568d41607257abc1100 Mon Sep 17 00:00:00 2001 From: Ben Vinegar Date: Sat, 4 Jul 2026 03:14:57 -0400 Subject: [PATCH] feat(viewer): disable the stream/timeline view toggle Remove the Stream/Timeline switch from the session header so sessions always render as the stream. The timeline view is kept but unreachable: SessionTimeline, the viewMode state, and trace-step fetching are all untouched, and viewMode stays "stream" so the timeline branch is never taken. The ViewToggle component is commented out (not deleted) for an easy revert, and the unused setViewMode import is dropped. Co-Authored-By: Claude Opus 4.8 --- viewer/src/App.tsx | 52 ++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/viewer/src/App.tsx b/viewer/src/App.tsx index cb8cc7f..8627203 100644 --- a/viewer/src/App.tsx +++ b/viewer/src/App.tsx @@ -46,7 +46,6 @@ import { setNavOpen, setPillTarget, setUnread, - setViewMode, standalonePost, streamLoading, posts, @@ -583,7 +582,9 @@ function SessionView() { {current() ? `${current()!.agent} · started ${relTime(current()!.createdAt)}` : ""} - + {/* Stream/timeline view toggle disabled for now — the timeline view + (SessionTimeline + ViewToggle below) is kept but unreachable; viewMode + stays "stream". Re-enable by restoring here. */} {/* Host-overridable region (SLOTS.sessionActions): session-scoped controls an embedder projects beside the toggle (e.g. cloud "Share"). Empty fallback — self-hosted renders nothing here. */} @@ -613,26 +614,33 @@ function SessionView() { // Stream ↔ timeline switch in the session head. Timeline is treatment E — the // session's posts on a center spine with the trace steps between them. -function ViewToggle() { - return ( -
- - -
- ); -} +// +// Disabled for now: the toggle is not rendered (see SessionView) so viewMode +// stays "stream" and the timeline view is unreachable. The component is kept +// commented rather than deleted so it can be restored. Re-enable by uncommenting +// this and the render, and re-adding `setViewMode` to the +// ./state.ts import. +// +// function ViewToggle() { +// return ( +//
+// +// +//
+// ); +// } function SessionTitle(props: { current: SessionRow | undefined }) { let el!: HTMLSpanElement;