Files
kandev/docs/plans/desktop-native-integration/task-07-integration-qa-docs.md
T
2026-08-24 11:09:03 +00:00

71 lines
3.8 KiB
Markdown

---
id: "07-integration-qa-docs"
title: "Desktop integration QA and public docs"
status: done
wave: 6
depends_on:
[
"01-native-shell-commands",
"02-spa-contextual-commands",
"03-updater-release-artifacts",
"04-updater-runtime-settings",
"05-native-notifications",
"06-external-links",
]
plan: "plan.md"
spec: "../../specs/desktop/requirements/desktop-tauri-app.md"
---
# Task 07: Desktop Integration QA and Public Docs
## Acceptance
- Desktop smoke coverage exercises menu dispatch, contextual close no-op/window safety, zoom,
settings routing, persisted window restore, focus/reopen, and backend cleanup on quit.
- Updater QA covers valid update, invalid signature, offline check, explicit consent, clean restart,
and AppImage target selection without publishing a release.
- Notification QA covers both events, deduplication, denied permission, and focus without inferred
routing.
- Desktop install/update docs identify AppImage as Linux in-app update format and `.deb`/`.rpm` as
package-manager/manual formats, plus signing and failure recovery guidance.
- Browser/mobile settings behavior is regression-tested; native-only commands are explicitly
justified as not applicable to mobile.
- Relevant `AGENTS.md`, public docs, spec index, decision index, and release documentation agree.
## Files Likely Touched
- Desktop smoke/E2E files under `apps/desktop/`
- Focused web E2E tests under `apps/web/e2e/`
- `docs/public/` desktop installation/update documentation
- Desktop signing/release documentation
- `apps/desktop/AGENTS.md` and `apps/web/AGENTS.md` only if conventions changed
## Verification
Run every command in the plan's Final Verification section, then inspect Playwright screenshots at
desktop and mobile settings viewports for clipping or native-only controls leaking into browsers.
On a supported GUI runner, verify window pixels are nonblank after restore and zoom operations.
## Output Contract
Record commands and platform coverage, update this task and the plan to `done`, and list any
platform behavior that could not be exercised locally before release.
## Verification Record
Completed on Linux x64 on 2026-07-15:
- `PATH=/root/.rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/bin:$PATH RUSTC=/root/.rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/bin/rustc RUSTDOC=/root/.rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/bin/rustdoc rtk make fmt` passed.
- `cd apps/desktop/src-tauri && PATH=/root/.rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/bin:$PATH RUSTC=/root/.rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/bin/rustc RUSTDOC=/root/.rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/bin/rustdoc /root/.rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/bin/cargo test --features desktop-runtime` passed (53 tests), including menu dispatch, contextual-close, zoom, window-state, notification, and lifecycle assertions.
- Web type checking, lint, and the full Vitest suite passed (4,889 passed, 4 skipped).
- The focused Updates-page Playwright suite passed its four applicable desktop/mobile workflows;
changelog pagination skipped because the generated fixture had only one page.
- Backend formatting, tests, and lint passed.
- CLI release configuration tests and the complete desktop release/signature fixture matrix
passed, including invalid, unsigned, wrong-key, partial-feed, and OS-signing warning paths.
- The Linux `.deb`/`.rpm` package build and native desktop launch smoke passed. That smoke proves backend startup and WebView navigation only; native interaction scenarios are covered by the focused cross-platform unit/integration tests above, not by the launch smoke itself.
macOS and Windows native menu rendering, notification permission prompts, OS code signing, and
real updater installation remain release-runner/manual platform checks; their config and dispatch
logic are covered by the cross-platform test suites.