hermes-agent/apps/desktop/src/app
Brooklyn Nicholson fc86e35764 feat(desktop): make the git cockpit work over a remote gateway
After the folder picker fix, an added remote folder was still half-usable:
the desktop's git GUI (coding-rail status, worktree lanes, review pane,
branch switch, file diff) all ran Electron-local git on the USER's machine,
so against a remote-gateway repo they silently degraded to empty.

Mirror the whole surface over the dashboard REST API so it acts on the
BACKEND repo where sessions actually run:

- hermes_cli/web_git.py: git/gh logic (status, worktrees, branches, review
  list/diff/stage/unstage/revert/commit/commit-context/push/ship-info/
  create-pr, file-diff, worktree add/remove, branch switch) shelling to the
  system git, mirroring the Electron ops' shapes.
- web_server.py: /api/git/* routes (same auth gate + _fs_path hardening as
  /api/fs, executor-offloaded, mutations -> 400).
- apps/desktop desktop-git.ts: remote-aware facade exposing the same shape as
  window.hermesDesktop.git; coding-status / review / projects / model /
  desktop-fs route through desktopGit() so local stays Electron, remote hits
  /api/git/*.

Tests: tests/hermes_cli/test_web_server_git.py (real repo: status counts,
review classification, diff incl. untracked all-add, stage+commit roundtrip,
worktree/branch lifecycle, commit-context, gh-absent ship-info, auth) and
desktop-git.test.ts (local vs remote routing, envelope unwrap, POST bodies).
2026-06-28 14:26:09 -05:00
..
agents style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
artifacts style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
chat feat(desktop): make the git cockpit work over a remote gateway 2026-06-28 14:26:09 -05:00
command-center style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
command-palette style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
cron style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
gateway/hooks style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
hooks feat(desktop): add composer coding rail and worktree flow 2026-06-25 16:40:27 -05:00
messaging fix(desktop): broken "Open setup guide" button for plugin platforms 2026-06-27 04:34:08 +05:30
overlays refactor(desktop): converge cron overlay onto profiles' split layout 2026-06-06 16:39:56 -05:00
pet-generate style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
pet-overlay refactor(desktop): collapse overlay zoom-anchor math 2026-06-26 00:42:19 -05:00
profiles style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
right-sidebar style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
session/hooks Merge pull request #52656 from helix4u/fix-desktop-empty-resume-view 2026-06-28 11:57:57 -05:00
settings fix(desktop): show custom (non-curated) model in Settings model pickers 2026-06-26 18:55:44 -05:00
shell fix(desktop): keep titlebar overlay off session title 2026-06-26 19:18:26 -06:00
skills style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
desktop-controller.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
floating-hud.ts style(desktop): use the nous overlay surface (--stroke-nous + --shadow-nous) for the HUDs 2026-06-09 23:49:02 -05:00
index.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
layout-constants.ts feat(desktop): hover-reveal collapsed sidebars as fixed overlays (#41670) 2026-06-07 22:41:21 -05:00
model-picker-overlay.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
model-visibility-overlay.tsx feat(desktop): inline model picker in the status bar 2026-06-02 19:09:41 -05:00
page-search-shell.tsx feat(desktop): add i18n with Simplified Chinese (zh-Hans) support 2026-06-05 10:32:26 -07:00
routes.ts chore(desktop): zero eslint/typecheck debt + prettier pass (#39100) 2026-06-04 14:10:38 +00:00
session-picker-overlay.tsx desktop: registry-driven slash commands + first-class /resume & /handoff (#42351) 2026-06-11 01:49:24 +00:00
session-switcher.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
types.ts fix(desktop): render send/prefill directive notices (/goal, /undo) (#49073) 2026-06-19 07:28:50 -07:00
updates-overlay.tsx Merge pull request #52828 from helix4u/fix/desktop-backend-update-indicator 2026-06-26 11:49:07 -05:00