Skip to content

bug(git): other consumers still read a timed-out worktree list as an empty family #1430

Description

@Juliusolsson05

Expected behavior

A git worktree list that times out is not read as "this checkout has no siblings".

Actual behavior

#1429 makes the Worktrees panel, GitBar and worktrees.read say a git timeout (#1250 row 11). The exported listWorktreesForCwd still returns [] on a timeout, and three other consumers read that as "no family":

  • Conversations picker (src/main/conversations/family.ts:78-88): from a linked checkout, a main-checkout conversation drops out of the repository-scoped picker, and service.ts caches that discovery for 3 s. Nothing says so.
  • Worktree activity (src/main/ipc/worktreeActivity.ts:11-19): answers { ok: false }, the same as "not a repository".
  • Agent activity repo root (src/main/index.ts resolveRepoRoot): falls back to the cwd, so a worktree's activity is not folded into its repository.
  • Renderer history context (initialHistory.ts, history.ts) passes [] to ingestWorktreeRawEvent. A later live catalog refresh may correct it.

Each self-heals on the next successful call, but none is told. Found by #1429 review b (temp/review-1429/report-b.md, findings 2 and 3).

Fix direction

Related: #1250, #1429.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions