mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
Add `gone` branch detection (upstream tracking ref deleted on remote) to the composer coding rail and the sidebar project tree, plus a bulk archive action for sessions on gone branches. Part 1 — composer "gone" indicator: - Add `_branch_gone()` to `web_git.py` (remote/REST path) and `branchGone()` to `git-review-ops.ts` (Electron local path), both using `git for-each-ref --format=%(upstream:track)`. - Add `gone: boolean` to `HermesRepoStatus` type. - Show amber "gone" badge in `CodingStatusRow` next to the branch name. - Rides existing repo-status refresh edges (cwd change, workspace change tick, busy→idle, window focus) — no new polling. Part 2a — session DB staleness fix: - Re-probe `git_branch`/`git_repo_root` at turn-complete (gateway `_run_prompt_submit` finally block) and on session resume (both deferred and eager paths), using the existing `_persist_session_git_meta` daemon-thread helper. Keeps the session DB's branch column fresh so the sidebar tree and gone-branch cleanup are accurate. Part 2b — sidebar gone-branch detection + cleanup UI: - Add `gone_branches()` to `git_probe.py` (one `for-each-ref` per repo). - Add `gone_fn` parameter to `project_tree.build_tree()` + `_annotate_gone()` helper that marks branch lanes with `gone: True`. - Wire `_gone_branches_for_repo` into the gateway's `_build_project_tree`. - Add `gone?: boolean` to `SidebarSessionGroup` (renderer type). - Show amber "gone" badge on sidebar branch lanes in `WorkspaceHeader`. - Add bulk "Archive sessions" action to `WorkspaceMenu` for gone lanes: confirms, optimistically tombstones, calls `setSessionArchived` per session, surfaces success/failure toasts. - i18n strings for all 4 locales (en, ja, zh, zh-hant). Tests: - `test_status_gone_after_remote_branch_deleted` — E2E with bare remote, push, delete, fetch --prune, verify gone=true. - `test_gone_fn_annotates_branch_lanes` — project tree annotation. - `test_gone_fn_absent_leaves_no_gone_field` — no spurious gone field. - Updated `sampleStatus` in coding-status.test.ts with `gone: false`. |
||
|---|---|---|
| .. | ||
| backend-child.ts | ||
| backend-command.test.ts | ||
| backend-command.ts | ||
| backend-env.test.ts | ||
| backend-env.ts | ||
| backend-probes.test.ts | ||
| backend-probes.ts | ||
| backend-ready.test.ts | ||
| backend-ready.ts | ||
| bootstrap-platform.test.ts | ||
| bootstrap-platform.ts | ||
| bootstrap-runner.test.ts | ||
| bootstrap-runner.ts | ||
| connection-config.test.ts | ||
| connection-config.ts | ||
| dashboard-token.test.ts | ||
| dashboard-token.ts | ||
| desktop-uninstall.test.ts | ||
| desktop-uninstall.ts | ||
| embed-referer.ts | ||
| entitlements.mac.inherit.plist | ||
| entitlements.mac.plist | ||
| fs-read-dir.test.ts | ||
| fs-read-dir.ts | ||
| gateway-ws-probe.test.ts | ||
| gateway-ws-probe.ts | ||
| git-repo-scan.ts | ||
| git-review-ops.test.ts | ||
| git-review-ops.ts | ||
| git-root.test.ts | ||
| git-root.ts | ||
| git-worktree-ops.test.ts | ||
| git-worktree-ops.ts | ||
| hardening.test.ts | ||
| hardening.ts | ||
| link-title-window.test.ts | ||
| link-title-window.ts | ||
| main.ts | ||
| oauth-net-request.test.ts | ||
| oauth-net-request.ts | ||
| preload.ts | ||
| profile-delete-routing.test.ts | ||
| profile-delete-routing.ts | ||
| session-windows.test.ts | ||
| session-windows.ts | ||
| titlebar-overlay-width.test.ts | ||
| titlebar-overlay-width.ts | ||
| update-count.test.ts | ||
| update-count.ts | ||
| update-marker.test.ts | ||
| update-marker.ts | ||
| update-rebuild.test.ts | ||
| update-rebuild.ts | ||
| update-relaunch.test.ts | ||
| update-relaunch.ts | ||
| update-remote.test.ts | ||
| update-remote.ts | ||
| vscode-marketplace.test.ts | ||
| vscode-marketplace.ts | ||
| window-state.test.ts | ||
| window-state.ts | ||
| windows-child-options.test.ts | ||
| windows-child-options.ts | ||
| windows-hermes-path.test.ts | ||
| windows-hermes-path.ts | ||
| windows-user-env.test.ts | ||
| windows-user-env.ts | ||
| workspace-cwd.test.ts | ||
| workspace-cwd.ts | ||
| wsl-clipboard-image.test.ts | ||
| wsl-clipboard-image.ts | ||
| wsl-path-bridge.test.ts | ||
| wsl-path-bridge.ts | ||
| zoom.test.ts | ||
| zoom.ts | ||