hermes-agent/apps/desktop/src
alelpoan 820a8083d4
fix(desktop): Branch in new chat drops the question and loses the branched session on restart (#71960)
* fix: Branch in new chat loses the question and the branched session (#issue)

- session.branch on the backend now accepts a count param to truncate
  the parent history to the clicked message, instead of always forking
  the entire transcript. Also returns stored_session_id/messages/info
  so the frontend has parity with session.create's response shape.
- branchCurrentSession (open live chat) now slices history from 0
  instead of from the clicked message index, so the question preceding
  an assistant reply is no longer dropped when branching.
- forkBranch now calls session.branch (not session.create) when
  branching an open live chat, since session.create only persists a DB
  row lazily on first prompt - a branched chat that nobody types into
  never got saved, and vanished as 'session not found' on the next
  app restart. branchStoredSession (branching from the sidebar, no
  live runtime) keeps using session.create as before.

* test: cover session.branch count truncation and open-chat branching

- backend: assert session.branch with a count param only persists the
  first N messages of the live history to the new session.
- frontend: BranchHarness now exposes branchCurrentSession; assert
  branching an open chat from a middle message calls session.branch
  with the parent session id and the correct trimmed count, instead of
  session.create.
2026-07-27 10:45:00 -04:00
..
app fix(desktop): Branch in new chat drops the question and loses the branched session on restart (#71960) 2026-07-27 10:45:00 -04:00
assets/tiers feat(desktop): Billing page revamp — current-plan card, in-app plans view, tier art (#68722) 2026-07-22 08:07:52 +05:30
components fix(desktop): Branch button silently does nothing inside a branched chat tile (#71969) 2026-07-27 10:41:37 -04:00
contrib feat(desktop): expose ctx.i18n on the plugin SDK 2026-07-19 00:05:08 -04:00
debug fmt(js): npm run fix on merge (#72532) 2026-07-27 07:16:27 +00:00
fonts fix(desktop): crisp terminal text via opaque xterm canvas 2026-06-12 19:36:30 -05:00
hooks perf(desktop): share one ResizeObserver instead of one per consumer 2026-07-26 19:56:55 -05:00
i18n feat(statusbar): hide the per-turn session readouts by default 2026-07-26 22:38:33 -05:00
lib fmt(js): npm run fix on merge (#72522) 2026-07-27 07:00:22 +00:00
plugins feat(desktop): plugin manager, runtime loader, and plugins settings 2026-07-13 17:57:53 -04:00
sdk feat(desktop): expose ctx.i18n on the plugin SDK 2026-07-19 00:05:08 -04:00
store fmt(js): npm run fix on merge (#72532) 2026-07-27 07:16:27 +00:00
themes fix(themes): repaint the desktop on an in-place edit of the active skin 2026-07-22 15:07:03 -05:00
types fix(desktop): stop dropping the prompt a mid-turn redirect corrected 2026-07-26 19:44:42 -05:00
global.d.ts fmt(js): npm run fix on merge (#72411) 2026-07-27 02:52:53 +00:00
hermes-cron-scope.test.ts fix(desktop): scope the cron jobs list to the active profile 2026-07-19 12:19:22 -07:00
hermes-parity.test.ts feat(desktop): CLI/dashboard parity — skills hub, MCP test/toggle/catalog, maintenance ops, log filters (#57441) 2026-07-03 01:02:47 -07:00
hermes-profile-scope.test.ts fix(memory): profile-scope the provider config endpoints 2026-07-07 10:53:43 -04:00
hermes.test.ts refactor(sidebar): drop session counts and the COUNT(*) that fed them 2026-07-26 19:36:08 -05:00
hermes.ts refactor(sidebar): drop session counts and the COUNT(*) that fed them 2026-07-26 19:36:08 -05:00
main.tsx fmt(js): npm run fix on merge (#72411) 2026-07-27 02:52:53 +00:00
styles.css fix(desktop): restore the pane tab strip's bottom rule 2026-07-26 04:25:29 -05:00
vite-env.d.ts
webhooks-rest.test.ts feat(desktop): add Webhooks page for subscription CRUD (#69687) 2026-07-24 14:06:10 -04:00