| 06-desktop-client-ci-cd |
02 |
desktop |
| tauri |
| tray |
| autostart |
| window-state |
| notification |
| version-check |
| appimage |
|
| phase |
plan |
provides |
| 06-desktop-client-ci-cd |
01 |
Tauri scaffold with server URL persistence |
|
|
| System tray with close-to-tray behavior |
| Window state persistence (size/position) |
| Autostart plugin registration |
| Startup version check with native notification |
| GET /health/version API endpoint |
| AppImage production bundle |
|
| desktop user experience |
| API health module |
|
| added |
patterns |
| tauri-plugin-notification |
| tauri-plugin-autostart |
| tauri-plugin-window-state |
| reqwest |
|
| close-to-tray |
| prevent-exit |
| async-version-check |
|
|
| modified |
created |
| apps/desktop/src-tauri/src/lib.rs |
| apps/desktop/src-tauri/Cargo.toml |
| apps/desktop/src-tauri/capabilities/default.json |
| apps/api/src/health/health.controller.ts |
|
| apps/desktop/src-tauri/icons/icon.png |
| apps/desktop/src-tauri/icons/icon.ico |
| apps/desktop/src-tauri/icons/128x128.png |
|
|
| Both prevent_close (CloseRequested) AND prevent_exit (ExitRequested) per Pitfall 2 |
| Async version check via reqwest — non-blocking, fire-and-forget |
| German tray labels: Oeffnen / Beenden |
| ImageMagick for icon generation (tauri icon not available headless) |
| NSIS target configured but only AppImage built (no Windows cross-compile toolchain) |
|
| Close-to-tray: on_window_event hide + prevent_close, RunEvent::ExitRequested prevent_exit, tray quit -> app.exit(0) |
| Version check: spawn async task in setup, GET {server_url}/health/version, compare CARGO_PKG_VERSION |
|
|
8min |
2026-06-25 |