mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-29 04:00:36 +00:00
2.4 KiB
2.4 KiB
Electron Desktop E2E Record: Project Registry and Git Status
Date: 2026-04-25
Slice
Slice 9: Project Registry and Git Status.
User-Visible Scenario
- Launch the desktop app with a temporary HOME/QWEN_RUNTIME_DIR and fake ACP.
- Open a temporary Git workspace through the desktop Open Project flow.
- Verify the project appears in the left Projects list.
- Verify the top bar and right Review panel show Git branch/status counts.
- Create a new local thread and verify session listing is scoped to the active project path.
- Refresh Git status after adding staged, modified, and untracked files.
Assertions
- First screen is not black and contains
Qwen Code,Open Project,Review, andSettings. - Local service status is
Connected. - Recent project row shows the selected project name and Git branch label.
- Top bar shows a branch label or
No Git branch. - Review panel shows Modified, Staged, and Untracked counts.
- Network requests to
/api/projects,/api/projects/open, and/api/projects/:id/git/statussucceed with bearer auth. - Renderer console has no uncaught exceptions.
Diagnostics on Failure
- Save renderer screenshot.
- Save renderer console errors and failed network requests.
- Save Electron main stdout/stderr.
- Save the temporary desktop project store JSON.
- Save
git -C <workspace> status --porcelain=v1 --branchoutput.
Automated Coverage Added This Iteration
The full Playwright Electron harness is still pending. This iteration added
server-level coverage in packages/desktop/src/server/index.test.ts:
- opens a temporary Git project through
/api/projects/open; - persists it to a desktop project store;
- verifies
/api/projectsreturns the recent project; - verifies
/api/projects/:id/git/statusreturns staged, modified, and untracked counts; - verifies invalid project paths return a typed
project_path_invaliderror.
Execution Results
npm run test --workspace=packages/desktoppassed: 7 files, 45 tests.npm run typecheck --workspace=packages/desktoppassed.npm run lint --workspace=packages/desktoppassed.npm run build --workspace=packages/desktoppassed.
Remaining Risk
This slice does not yet verify the real Electron renderer with screenshot/CDP. Slice 13 must convert the scenario above into repeatable Playwright Electron coverage and collect the diagnostics listed here.