feat(desktop): signature updater Tauri + wizard persistant + protocole E2E (#77)
CI / lint (push) Successful in 1m11s
CI / security (push) Successful in 43s
CI / test (push) Successful in 2m22s
CI / build (push) Successful in 1m41s
CI / e2e (push) Successful in 10m50s
Desktop Build / build-windows (push) Canceled after 0s
Desktop Build / build-linux (push) Canceled after 0s
CI / lint (push) Successful in 1m11s
CI / security (push) Successful in 43s
CI / test (push) Successful in 2m22s
CI / build (push) Successful in 1m41s
CI / e2e (push) Successful in 10m50s
Desktop Build / build-windows (push) Canceled after 0s
Desktop Build / build-linux (push) Canceled after 0s
- Signature des mises a jour Tauri : paire de cles minisign generee, cle publique dans tauri.conf.json, createUpdaterArtifacts actif, secrets CI exposes (repli build non signe si secret absent). - Wizard 1er lancement : etat persistant wizard_done cote Rust (get_wizard_state/complete_wizard) pour ne plus reafficher la banniere, retro-compatible. - Protocole des 6 tests E2E manuels : docs/DESKTOP_E2E_CHECKLIST.md. - CI : desktop.test.mjs ajoute au job lint. - Docs : ROADMAP, fiche desktop-tauri, CHANGELOG, README desktop, guide releases. - fix(build): retirer les libs WeasyPrint inutiles du stage builder Docker.
This commit is contained in:
@@ -14,6 +14,24 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### Ajouté
|
||||
|
||||
- **#77 Desktop — Signature des mises à jour Tauri** — la paire de clés `minisign`
|
||||
de l'updater est générée et sa clé publique est embarquée dans
|
||||
`desktop/tauri.conf.json` (`plugins.updater.pubkey`, remplace le placeholder) ;
|
||||
`bundle.createUpdaterArtifacts: true` produit les fichiers `.sig` par artefact.
|
||||
Le workflow `.gitea/workflows/desktop-build.yml` expose les secrets
|
||||
`TAURI_SIGNING_PRIVATE_KEY` / `TAURI_SIGNING_PRIVATE_KEY_PASSWORD` aux builds
|
||||
Windows et Linux, avec repli automatique en build **non signé** si le secret est
|
||||
absent (CI toujours verte). Procédure complète :
|
||||
[docs/DEVELOPMENT_AND_RELEASES.md](./docs/DEVELOPMENT_AND_RELEASES.md#2bis-signature-des-mises-à-jour-updater-tauri).
|
||||
Reste à produire le manifeste `latest.json`.
|
||||
|
||||
- **#77 Desktop — Protocole de tests E2E manuels** — nouveau
|
||||
[`docs/DESKTOP_E2E_CHECKLIST.md`](./docs/DESKTOP_E2E_CHECKLIST.md) : prérequis,
|
||||
étapes et résultat attendu pour les 6 scénarios OS non automatisables
|
||||
(installation, tray, notifications natives, association `.md`, auto-update,
|
||||
désinstallation), avec emplacements des logs/config et procédure de signature
|
||||
de l'updater Tauri.
|
||||
|
||||
- **#70 Recherche sémantique — Embeddings vectoriels** — la recherche comprend désormais le
|
||||
**sens** de la requête en plus des mots-clés. **Embeddings** : chaque document est découpé en
|
||||
chunks de 512 mots (recouvrement 64) puis vectorisé (384 dim) via `all-MiniLM-L6-v2`
|
||||
@@ -156,6 +174,24 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### Corrigé
|
||||
|
||||
- **#77 Desktop — bannière de premier lancement réaffichée à chaque démarrage** —
|
||||
l'état du wizard « Choisissez votre vault » n'était mémorisé que dans le
|
||||
`localStorage` de la webview et le paramètre `hasVaultPath` n'était jamais
|
||||
renseigné. Ajout d'un booléen persistant `wizard_done` dans la config desktop
|
||||
(`desktop/src/main.rs`, commandes `get_wizard_state` / `complete_wizard`,
|
||||
rétro-compatible via `#[serde(default)]`) : la bannière ne réapparaît plus après
|
||||
un choix de dossier ou un clic « Plus tard », même si le stockage webview est
|
||||
vidé. Tests Rust (`desktop/src/main.rs`) et JSDOM
|
||||
(`tests/frontend/desktop.test.mjs`) ajoutés.
|
||||
|
||||
- **Build Docker — « No space left » lors de `apt-get install`** — le stage *builder*
|
||||
installait inutilement `libpango-1.0-0`, `libpangocairo-1.0-0` et `shared-mime-info`
|
||||
(libs runtime de WeasyPrint, sans usage à la compilation), dupliquant les téléchargements
|
||||
apt. Ces paquets sont retirés du builder et `apt-get clean` est ajouté dans les deux
|
||||
stages pour purger les `.deb` conservés par défaut sous Debian trixie, réduisant
|
||||
l'empreinte disque et le temps de build. En complément, purge du cache de build
|
||||
(`docker builder prune`) ayant libéré l'espace nécessaire.
|
||||
|
||||
- **BUG-005 — Chargement mobile incomplet derrière Cloudflare (`og.dracodev.net`)** —
|
||||
le service worker utilisait une stratégie **cache-first avec un nom de cache fixe**
|
||||
(`obsigate-v1`) et un précache de chemins erronés (`/frontend/js/…`) : le Cache Storage
|
||||
|
||||
Reference in New Issue
Block a user