hermes-agent/apps/desktop/src
Teknium 9d72680ca3
fix(desktop): make the running-turn timer per-session (#41182)
The desktop statusbar turn timer read a single process-global $turnStartedAt,
set/cleared only for the active session. With multiple same-profile sessions
running at once, switching to session B reset the one shared clock, so
session A's still-running turn "restarted from zero" the moment you left it —
exactly the behaviour @Da7_Tech reported after the profile-scoped session work.

Move turnStartedAt onto ClientSessionState so each session owns its own turn
clock. The global atom now just mirrors whichever session is focused, written
on view-sync (the flush that already stages the active session's state). A
backgrounded turn keeps counting in its own cache entry, and focusing it
restores its real elapsed time instead of zeroing it.

Set/clear sites: message.start (seed), message.complete + error + interrupted
bail (clear), and the session.info running-state path (seed if missing / clear
on stop) so a turn that goes busy via session.info — e.g. resuming a session
that's already running — also gets a clock.

Note: the agent loop itself never froze — every same-profile session runs in
its own backend thread and background deltas are buffered per-session. This
fixes the timer-reset symptom; the "no live progress until you return" is
inherent to a single-view transcript and is out of scope here.
2026-06-07 04:29:05 -07:00
..
app fix(desktop): make the running-turn timer per-session (#41182) 2026-06-07 04:29:05 -07:00
components fix(desktop): stop bare-URL autolinker swallowing trailing emphasis asterisks (#41093) 2026-06-07 02:47:39 -07:00
hooks Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
i18n Merge pull request #40684 from NousResearch/bb/cron-sessions-sidebar 2026-06-07 00:32:25 -05:00
lib fix(desktop): make the running-turn timer per-session (#41182) 2026-06-07 04:29:05 -07:00
store fix(desktop): cron overlay mutations sync the sidebar instantly 2026-06-06 16:47:46 -05:00
themes test(desktop): assert every theme typography carries an emoji font (#40364) 2026-06-06 19:58:39 -07:00
types feat(desktop): surface every provider + models from hermes model in the GUI menus (#40563) 2026-06-06 16:31:34 +00:00
global.d.ts feat: uninstall the Chat GUI without removing the agent (CLI + desktop UI) (#40355) 2026-06-06 18:22:38 -07:00
hermes.test.ts fix(desktop): scope session list to active profile + longer timeout 2026-06-07 02:15:23 -07:00
hermes.ts fix(desktop): scope session list to active profile + longer timeout 2026-06-07 02:15:23 -07:00
main.tsx feat(desktop): add i18n with Simplified Chinese (zh-Hans) support 2026-06-05 10:32:26 -07:00
styles.css fix(desktop): add color-emoji font fallback so emoji render (#40364) 2026-06-06 19:58:39 -07:00
vite-env.d.ts Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00