Files
hermes-agent/apps/shared
teknium1 ba94d111e2 fix(desktop): backend claimed-id set is the one owner for live project overlays
Build on #114643 (@KoNit-K): the renderer now keys the live overlay on an
authoritative owner map, but that map was derived from the overview tree's
`previewSessions` (capped at 3) plus hydrated lanes (empty in overview mode),
so any owned row beyond the preview window still fell back to the cwd walk
and re-appeared under an ancestor project.

- `projects.tree` nodes now carry `sessionIds`: every row `build_tree`
  assigned to the project (contract + regenerated shared TS/OpenRPC).
- `projectOwnerBySessionId` reads `sessionIds` first, keeping the row-derived
  fallback for a backend that predates the field.
- `index.tsx` imports the helper the pick referenced (typecheck failed on
  the contributor head) and tolerates an undefined tree.
- Tests: the exact issue layout (/work explicit, /work/repos/app explicit,
  cwd=/work/repos/app-2) with git_repo_root null AND populated; the entered
  ancestor gets nothing, the entered repo shows the linked-worktree lane, a
  row the tree does not know still lands by cwd; the backend keeps the
  claimed set complete in overview mode.
2026-09-18 10:43:46 -07:00
..