Cross-Platform Checklist
Also available: Markdown · Plain text
Cross-Platform Checklist — Gnomad Webcanvas
Use when adding or changing UI, file I/O, or OS-facing behavior.
Shared React bundle
The same src/ code runs in web and desktop (Tauri WebView). Verify:
- Feature works in
npm run dev(browser) - Feature works in
npm run tauri:dev(desktop) - No hard dependency on Tauri APIs without
platformBridgeguard -
isDesktop()gates desktop-only shortcuts (Open, Save As)
Platform matrix
| Feature | Web | macOS | Windows | Linux |
|---|---|---|---|---|
| Live preview | ✓ | ✓ | ✓ | ✓ |
| localStorage projects | ✓ | ✓ | ✓ | ✓ |
| ZIP export | ✓ | ✓ | ✓ | ✓ |
| URL share | ✓ | ✓ | ✓ | ✓ |
| Open file | — | ✓ | ✓ | ✓ |
| Save / Save As | — | ✓ | ✓ | ✓ |
| Window title dirty | — | ✓ | ✓ | ✓ |
Keyboard shortcuts
| Shortcut | macOS | Windows/Linux |
|---|---|---|
| Save | ⌘S | Ctrl+S |
| Open | ⌘O | Ctrl+O |
| Refresh | ⌘Enter | Ctrl+Enter |
Monaco may consume some bindings — test Save/Open do not conflict.
File dialogs
Desktop file I/O uses Tauri plugin-dialog:
- Open filter:
.html,.htm - Save filter:
.html - Paths with spaces handled
- Cancel dialog → no error toast / crash
Test parseHtmlFile() with files saved from Chrome, VS Code, and Webcanvas itself.
Before merge
npm run lint
npx tsc -b --noEmit
npm run build
If touching Tauri config or Rust:
cd src-tauri && cargo check
Release verification
Full QA_CHECKLIST.md on macOS, Windows, and Linux before publishing draft release.
Built with ❤️ by Gnomad Studio 🦙