mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-30 12:40:44 +00:00
1.9 KiB
1.9 KiB
Inline Command Approval Cards
- Slice date: 2026-04-26
- Executable harness:
packages/desktop/scripts/e2e-cdp-smoke.mjs - Command:
cd packages/desktop && npm run e2e:cdp - Result: pass
- Artifact directory:
.qwen/e2e-tests/electron-desktop/artifacts/2026-04-25T17-47-26-492Z/
Scenario
- Launch the real Electron app with isolated HOME, runtime, user-data, and a fake dirty Git workspace.
- Open the fake project through the desktop directory picker path.
- Send the first composer prompt without manually creating a thread.
- Wait for the fake ACP command permission request.
- Assert the request renders as an inline conversation card with the command title, command preview, pending status, and approval/deny actions.
- Assert the old detached permission strip is absent and the body does not
show a generic
Permission requestedevent. - Approve once, assert the pending card resolves, then continue the existing changed-files, review, settings, terminal, and final layout smoke path.
Assertions
- The inline approval card is inside the chat timeline and stays above the composer without overlap.
- The card exposes
Approve Once,Approve for Thread, andDenyactions. - The card includes
Run desktop E2E command,printf desktop-e2e, and a pending status. .permission-stripis absent.- The conversation body does not contain
Permission requested. - The changed-files summary appears after approval and no approval card remains.
- Console errors: 0.
- Failed local network requests: 0.
Artifacts
inline-command-approval.jsoninline-command-approval.pngconversation-changes-summary.jsoncompleted-workspace.pngelectron.logsummary.json
Known Uncovered Risk
The harness covers deterministic fake ACP command approval with a string command input. It does not yet validate live ACP approvals with structured tool input, ask-user free-form answer capture, or long command wrapping at compact widths.