Commit Graph
35 Commits
Author SHA1 Message Date
Dennis Soong f5dc9477ff fix: submit composer on numpad enter 2026-05-29 13:00:15 +08:00
Dennis Soong 5f901f579a fix: suppress timeout toasts for passive pollers 2026-05-28 11:13:00 +08:00
Dennis Soong cec435a833 fix(session): rebuild missing startup index 2026-05-20 23:43:30 +08:00
Dennis Soong acd1df1112 fix: time out hung browser api requests 2026-05-20 02:41:00 +08:00
Dennis Soong ea978a1989 fix: surface auto-compression handoff 2026-05-19 10:45:43 +08:00
Dennis Soong d72b3382fd fix: clarify compression elapsed cap 2026-05-18 14:22:29 +08:00
Dennis Soong 516d2a588c fix: show auto-compression elapsed time 2026-05-18 13:08:38 +08:00
Dennis Soong 9b65e2440b fix: collapse WebUI compression continuations in sidebar 2026-05-18 08:35:38 +08:00
Dennis Soong eb31b4ed1e test: tighten compression snapshot preservation coverage 2026-05-15 17:31:37 +08:00
Dennis Soong bfccdc5c94 fix: hide pre-compression snapshots from sidebar 2026-05-15 11:20:17 +08:00
Dennis Soong a145bf4364 fix: apply display titles in content search 2026-05-14 21:10:50 +08:00
Dennis Soong 143d9d8ef7 fix: reconcile stale sidebar display titles 2026-05-14 16:18:53 +08:00
Dennis Soong f1b2a21bd4 feat: lazy-load full lineage segments 2026-05-12 18:02:49 +08:00
Dennis Soong 5efd287264 fix: align fork lineage projection paths 2026-05-11 17:15:22 +08:00
Dennis Soong 1e8d65ea01 fix: keep explicit forks out of lineage report 2026-05-11 15:23:52 +08:00
Dennis Soong c3cf8b10e9 feat: add read-only session lineage report 2026-05-10 23:28:14 +08:00
Dennis Soong 376727a6d1 fix: localize lineage segment row labels 2026-05-09 10:39:44 +08:00
Dennis Soong a3ab46e345 fix: keep project-dot regression resilient 2026-05-09 09:53:38 +08:00
Dennis Soong 5b36232cbf feat: expand collapsed session lineage segments 2026-05-09 09:49:10 +08:00
Dennis Soong 4e71fb75d7 fix: show collapsed session segment count 2026-05-08 16:07:49 +00:00
Dennis Soong fbc023bb17 fix: keep approval and clarify prompts session-owned 2026-05-07 16:58:40 +00:00
Dennis Soong 98a6f88ef7 fix: scope terminal stream cleanup to owner session 2026-05-07 05:56:17 +08:00
Dennis Soong 8138ca8479 fix: keep saved running sessions sidebar-only on root boot
Root page loads should not automatically project a localStorage-saved running session into the active pane. Keep explicit /session/<sid> behavior unchanged while leaving the saved session discoverable from the sidebar.

(cherry picked from commit bb60cf21d911a84e285363bcecf46fb441181fb9)
2026-05-06 14:53:40 +00:00
Dennis Soong cbb251b823 fix: add sidebar cancel for running sessions 2026-05-03 08:46:36 +08:00
Dennis Soong 5e806f6fd8 fix: restore inflight session on bfcache pageshow 2026-05-03 01:53:01 +08:00
Dennis Soong 3aafe52985 test: tighten inflight stream reuse invariants 2026-05-02 22:29:14 +08:00
Dennis Soong 6f0c5d6e1a fix: reuse inflight session stream 2026-05-02 19:12:26 +08:00
Dennis Soong 082f3d45b7 fix: nest child sessions under lineage roots 2026-05-02 12:09:36 +08:00
Dennis Soong 9e894a2555 fix: sync URL after session id rotation 2026-05-02 10:35:40 +08:00
Dennis Soong 0ec4aad949 fix: anchor active sessions per browser tab 2026-05-01 19:52:05 +08:00
Dennis Soong 7da1e074e4 fix: expose session lineage metadata in API (#1370)
PR #1358 added the client-side lineage collapse helper, but
/api/sessions often did not include _lineage_root_id for the WebUI
JSON sessions visible in the sidebar. In that case the helper has no
grouping key and multiple same-title continuation rows remain visible.

This PR:
- Reads parent_session_id and end_reason from state.db.sessions for
  the WebUI sidebar's session ids
- Walks the parent chain when end_reason is 'compression' or
  'cli_close', producing _lineage_root_id and _compression_segment_count
- Cycle-detects via a 'seen' set
- Preserves projected lineage metadata on imported/gateway session rows
- Allows sidebar collapse to group cross-surface continuation chains
  (CLI-close → WebUI continuation) while keeping non-continuation
  parent rows flat

Co-authored-by: Dennis Soong <dso2ng@gmail.com>
2026-04-30 23:04:49 +00:00
Dennis Soong 6a736809ef fix: sync active session across tabs (#1359)
Adds a 'storage' event listener for the hermes-webui-session localStorage key. Idle tabs auto-load the new active session and re-render the sidebar; busy tabs show a toast and do not interrupt the active turn.

Co-authored-by: Dennis Soong <dso2ng@gmail.com>
2026-04-30 21:32:50 +00:00
Dennis Soong f13230f7cd fix: collapse sidebar session lineage rows (#1358)
When a session's compression lineage spans multiple segments (linked via _lineage_root_id from api/agent_sessions.py), the sidebar previously rendered each segment as a separate top-level row. Adds _collapseSessionLineageForSidebar() that groups by lineage root and keeps only the most recently active tip per group, with a _lineage_collapsed_count marker for future UI affordances.

Co-authored-by: Dennis Soong <dso2ng@gmail.com>
2026-04-30 21:32:48 +00:00
Dennis Soong 70dac0135c fix: preserve imported session source metadata (#1357)
Session.load_metadata_only().compact() was dropping is_cli_session, source_tag, session_source, and source_label, so imported CLI/gateway sessions lost their provenance in sidebar/API payloads. Adds these to METADATA_FIELDS and Session.compact().

Co-authored-by: Dennis Soong <dso2ng@gmail.com>
2026-04-30 21:32:46 +00:00
Dennis Soong 8a74ea89e7 fix: apply profile terminal env in webui sessions 2026-04-29 14:12:59 +08:00