Repository navigation
Desktop end-to-end test + fixes for the bugs it found - #7
Conversation
… bugs it found e2e/desktop.spec.js (Playwright) drives the packaged Electron app with its real PyInstaller backend, per-launch API token and Tesseract: first-run account setup, window reload, upload -> OCR -> review -> metadata -> PDF/A archive (checked on disk, plus dublin-core.xml), search, and that closing the app stops the backend. CI runs it on Windows for every PR, and the release workflow runs it before publishing an installer. Bugs found by the test: - Reloading the desktop window (Ctrl+R/F5) showed a blank page: path URLs such as file:///upload do not exist on disk. Use HashRouter under file:// (web build keeps BrowserRouter); ErrorBoundary "go home" did the same. - After OCR, the Upload page's 1.8 s auto-redirect to Cleanup was never cancelled, so a user who had already moved on was pulled back to Cleanup. - First launch: "Setup & Login" opened on the Sign In tab although no account exists; it now opens on Register. Electron: LIBRADIGIT_USER_DATA_DIR and LIBRADIGIT_ARCHIVE_FOLDER overrides so tests (and admins) can isolate data. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jze3nDgZGqUXGceiu5RCAf
ECC Tools / Security EvidenceCommit: Security evidence gate passed (success) No security-sensitive scanner-evidence gap detected. Mode: enforce Scanned 16 changed file(s). No missing scanner-evidence signal was detected. Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
ECC Tools / PR Risk TaxonomyCommit: PR taxonomy review recommended (neutral) Detected 3 PR taxonomy bucket(s): Security Evidence, Install Manifest Integrity, CI/CD Recommendation. Scanned 16 changed file(s). Roadmap taxonomy buckets: Security EvidenceSecurity-sensitive changes should carry explicit scanner, code-scanning, or focused regression evidence. Signals:
Paths:
Install Manifest IntegrityInstall manifests, plugin metadata, and shipped skills should stay synchronized with user-facing setup guidance. Signals:
Paths:
CI/CD RecommendationCI, dependency, coverage, and contract signals should be routed into follow-up checks or verification work. Signals:
Paths:
Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
ECC Tools / Reference Set ReadinessCommit: Reference set readiness gaps detected (neutral) Reference evidence present for 0/7 areas (0%) across 16 changed file(s). This check is based on files changed in this PR. Repository-level readiness is still reported by
Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
ECC Tools / Hosted Promotion ReadinessCommit: Hosted promotion readiness passed (success) No hosted promotion evidence gaps detected across 16 changed file(s); 0 corpus scenarios had matching evidence. This check compares PR file changes against the evaluator/RAG promotion corpus in No evaluator corpus scenarios matched this PR. Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
ECC Tools / PR Config AuditCommit: Changed-config issues require attention (action_required) Scanned 2 config file(s) present at this commit across 2 changed config path(s) and found 1 issue(s). Changed config files:
Top findings:
Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
ECC Tools / PR Harness AuditCommit: No harness issues detected (success) Scanned 2 changed config file(s) and found no harness issues. Changed config files:
Check publication was denied or unavailable. An app owner must enable Checks: read and write, and the installation owner must approve the updated permission. |
Step 2 of the release plan: prove the installed desktop app works end to end, not just the backend.
The test (
e2e/desktop.spec.js, Playwright)It drives the packaged Electron app: the real shell, the PyInstaller backend it spawns, the per-launch API token, and Tesseract. Steps:
%PDF-header) and onedublin-core.xml.CI: the Windows job now packages the full app (
electron-builder --win --dir) after the backend smoke test and runs the suite. On failure it uploads screenshots and traces. The release workflow runs the same test before building the installer, so a broken installer can't be published.Bugs the test found (all fixed here)
file:///upload), which don't exist on disk, so Ctrl+R or F5 in the installed app showedERR_FILE_NOT_FOUND. It now uses hash URLs (index.html#/upload) when loaded fromfile://. The web build keeps clean URLs. ErrorBoundary's "go home" had the same problem and is fixed too.Also
LIBRADIGIT_USER_DATA_DIR/LIBRADIGIT_ARCHIVE_FOLDERoverrides in Electron, so tests (and admins) can isolate data.Testing
🤖 Generated with Claude Code
https://claude.ai/code/session_01Jze3nDgZGqUXGceiu5RCAf
Generated by Claude Code