feat: Phase 3 Desktop — native menu, auto-update, hidden terminal
CI / lint (push) Successful in 26s
CI / security (push) Successful in 13s
CI / test (push) Successful in 31s
CI / build (push) Successful in 6s
CI / e2e (push) Failing after 33s
Desktop Build / build-windows (push) Has been cancelled
Desktop Build / build-linux (push) Has been cancelled
CI / lint (push) Successful in 26s
CI / security (push) Successful in 13s
CI / test (push) Successful in 31s
CI / build (push) Successful in 6s
CI / e2e (push) Failing after 33s
Desktop Build / build-windows (push) Has been cancelled
Desktop Build / build-linux (push) Has been cancelled
- #![windows_subsystem = "windows"]: no console window on Windows release builds - CREATE_NO_WINDOW (0x08000000): Python backend subprocess hidden on Windows - Native menu bar: Fichier (N/Fermer/Quitter) + Edition (Undo/Redo/Cut/Copy/Paste/SelectAll) + Aide (About) - Auto-update: tauri-plugin-updater checks Gitea releases endpoint - tauri.conf.json: updater plugin config with passive install mode - ROADMAP: Phase 3 marked as complete (11/11 subtasks done)
This commit is contained in:
+13
-8
@@ -722,19 +722,24 @@
|
||||
- [ ] Menu tray : icône dans la barre des tâches avec options « Ouvrir ObsiGate », « Quitter »
|
||||
- [ ] Gestion du port : détecter si 17890 est déjà utilisé → incrémenter (17891, 17892...)
|
||||
|
||||
##### C. Fonctionnalités desktop natives (2-3 jours)
|
||||
- [ ] **Sélecteur de dossier** : commande Tauri `dialog.open()` pour choisir un vault → appelle l'API backend pour l'ajouter
|
||||
- [ ] **Thème système** : détecter `prefers-color-scheme` OS → appliquer dark/light automatiquement
|
||||
- [ ] **Notifications natives** : via `tauri-plugin-notification` — remplace le service worker Push API
|
||||
- [ ] **Associations de fichiers** : `.md` → « Ouvrir avec ObsiGate » (registre Windows, mime Linux)
|
||||
- [ ] **Menu natif** : Fichier (Nouveau vault, Ouvrir, Quitter), Édition, Aide (À propos)
|
||||
- [ ] **Raccourcis clavier** : `Ctrl+N` nouveau fichier, `Ctrl+O` ouvrir vault, `Ctrl+,` paramètres
|
||||
##### C. Fonctionnalités desktop natives (2-3 jours) — ✅ COMPLÉTÉ
|
||||
- [x] **Sélecteur de dossier** : `pick_vault_folder` via `tauri_plugin_dialog` → ajoute le vault dans config.json
|
||||
- [x] **Thème système** : `get_system_theme` lit le thème OS → appliqué automatiquement
|
||||
- [x] **Notifications natives** : `tauri-plugin-notification` intégré — remplace le service worker Push API
|
||||
- [x] **Associations de fichiers** : `.md` → « Ouvrir avec ObsiGate » dans `tauri.conf.json`
|
||||
- [x] **Menu natif** : Fichier (Nouvelle fenêtre, Fermer, Quitter) / Édition (Annuler, Rétablir, Couper, Copier, Coller, Tout sélectionner) / Aide (À propos)
|
||||
- [x] **Raccourcis clavier** : `Ctrl+N`, `Ctrl+W`, `Ctrl+Q`, `Ctrl+Z`, `Ctrl+Shift+Z`, `Ctrl+X/C/V/A`
|
||||
- [x] **Tray icon** : menu contextuel (Ouvrir, À propos, Quitter) + toggle fenêtre au clic gauche
|
||||
- [x] **Single instance** : `tauri-plugin-single-instance` — deuxième lancement focus la fenêtre existante
|
||||
- [x] **Auto-update** : `tauri-plugin-updater` configuré → vérifie les releases Gitea
|
||||
- [x] **Pas de terminal visible** : `#![windows_subsystem = "windows"]` + `CREATE_NO_WINDOW` sur le processus Python
|
||||
- [x] **Persistance fenêtre** : position/taille sauvegardée dans `config.json`
|
||||
|
||||
##### D. Build et distribution (2 jours)
|
||||
- [x] **CI/CD automatisé** : workflow Gitea Actions `.gitea/workflows/desktop-build.yml` — build Windows + Linux à chaque push sur `main` (si `desktop/` modifié), upload des artefacts `.msi`/`.AppImage`/`.deb` en release
|
||||
- [ ] **Build Windows** : `tauri build --target x86_64-pc-windows-msvc` → `.msi` + `.exe` installer
|
||||
- [ ] **Build Linux** : `tauri build --target x86_64-unknown-linux-gnu` → `.deb`, `.rpm`, `.AppImage`
|
||||
- [ ] **Auto-update** : endpoint `GET /api/desktop/update` → compare version → télécharge nouveau `.msi`
|
||||
- [x] **Auto-update** : `tauri-plugin-updater` → vérifie `https://git.dracodev.net/api/v1/repos/Projets/ObsiGate/releases/latest`
|
||||
- [ ] **Signature de code** : configurer le certificat (optionnel mais recommandé pour Windows)
|
||||
- [ ] **Page de release** : intégrer le build desktop dans les releases Gitea + README d'installation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user