hermes-agent/apps
ethernet 33996ab155 feat(desktop): archive all threads in a branch from sidebar lane menu
Add an "Archive all threads" action to the branch/worktree lane kebab menu
in the desktop sidebar. The menu now appears on any non-profile lane with
sessions (including main/home checkouts), not just removable linked worktree
lanes.

The action archives every session in the lane sequentially through the
existing per-session `onArchiveSession` path, so optimistic state, rollback,
pin cleanup, and tile closing all work per-session. Sequential (not parallel)
prevents overlapping rollbacks from restoring stale sidebar/pin state when
one request fails mid-batch.

Files:
- workspace-header.tsx: WorkspaceMenu takes optional onArchiveAll; renders
  it as the first dropdown item with an archive codicon
- workspace-group.tsx: SidebarWorkspaceGroup takes onArchiveSession; loops
  sequentially in handleArchiveAll; shows kebab on any lane with sessions
- entered-content.tsx: threads onArchiveSession down to SidebarWorkspaceGroup
- sessions-section.tsx: passes onArchiveSession to EnteredProjectContent
  and grouped SidebarWorkspaceGroup (workspace mode only)
- index.tsx: ChatSidebarProps.onArchiveSession widened to Promise<void> | void
- i18n: new archiveAllThreads string (en + zh; ja/zh-hant fall back via defineLocale)
2026-07-16 14:33:56 -04:00
..
bootstrap-installer fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00
desktop feat(desktop): archive all threads in a branch from sidebar lane menu 2026-07-16 14:33:56 -04:00
shared fmt(js): npm run fix on merge (#65229) 2026-07-15 21:40:56 +00:00