Skip to content

feat: show workspace Git status before starting a session - #58

Merged
johnnyhuy merged 1 commit into
mainfrom
agent/issue-57-workspace-git-status
Nov 13, 2026
Merged

johnnyhuy merged 1 commit into
mainfrom
agent/issue-57-workspace-git-status

Conversation

@johnnyhuy

@johnnyhuy johnnyhuy commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

The new-session view now shows the selected root's branch, unique changed-file count and staged, unstaged and untracked totals before sending a task. Review workspace changes opens Changes while keeping the task draft; loading, failed inspections and unavailable roots have explicit states.

Part of #1
Closes #57

Verification

  • mise exec -- bun install --frozen-lockfile passed.
  • mise exec -- bun run lint passed.
  • mise exec -- bun run typecheck passed.
  • mise exec -- bun run test:unit passed, 90 tests.
  • mise exec -- bun run test:integration passed, 72 tests.
  • mise run build passed, including all checks and production bundling.
  • mise exec -- bun run test:e2e passed, 51 tests across six Electron suites.
  • git diff --check passed.

Proof

$ mise exec -- bun run test:unit
 Test Files  10 passed (10)
      Tests  90 passed (90)

$ mise exec -- bun run test:integration
 Test Files  13 passed (13)
      Tests  72 passed (72)

$ mise exec -- bun run test:e2e
 Test Files  6 passed (6)
      Tests  51 passed (51)

New Electron coverage uses actual temporary Git repositories and exercises the following behaviour.

  • shows mixed Git changes before starting Pi and opens Changes without losing the task draft
  • refreshes changed counts on focus and keeps clean and detached roots distinct
  • does not describe non-Git folders or missing roots as clean

Component coverage includes counts a partially staged file once overall and in both change groups, shows a clean root only after inspection and explains detached HEAD, four cases of does not claim a clean root when ..., and keeps inspection pending until the selected root responds and exposes inspection failures. Existing delayed-root coverage also checks inspection ownership. A failed refresh replaces the prior counts with an unavailable state.

Playwright captured the running Electron app at desktop and narrow widths. Both PNGs were visually inspected and are saved locally at .tmp/proof/workspace-status.png and .tmp/proof/workspace-status-narrow.png. The same captures are written under test-results/workspace-status/ for the existing pidex-e2e CI artefact upload. Download the hosted Electron screenshot artefact. Both PNGs were verified in the downloaded CI artefact under Users/runner/work/pidex/pidex/test-results/workspace-status/. CI retains this artefact until 20 November 2026.

Direct inline upload is blocked in this environment. Browser discovery reported that the browser access host is unavailable, and native Firefox access returned cgWindowNotFound. Electron capture succeeded. Scratch captures and logs are excluded from the commit.

Counts cover the selected root and refresh on focus, navigation and the existing 15-second interval. A partially staged path counts once overall and in both relevant groups. No filesystem watcher or group-wide summary is added. Broader workspace work remains under #1.

Co-authored-by: OpenAI Codex <noreply@openai.com>
@johnnyhuy
johnnyhuy merged commit f4fd7a6 into main Nov 13, 2026
15 checks passed
@johnnyhuy
johnnyhuy deleted the agent/issue-57-workspace-git-status branch November 13, 2026 03:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show selected-root Git status before starting a session

1 participant