[fix] Mypy Coffre Secrets (3 erreurs) + version 2.80.2 #27

Merged
bruno merged 14 commits from fix/mypy-coffre-2.80.2 into main 2026-10-27 23:24:45 -04:00
Owner

Correctif du job CI mypy (3 erreurs, 2 fichiers). Ne ferme aucune issue. Merge et release en attente du go de Bruno.

Mypy

  • backend/coffre_crypto.py:34 [misc] : AESGCM annote explicitement type[Any] | None avant le try/except cryptography, et le type: ignore[assignment] non couvert est supprime. _require_aesgcm() retourne desormais la classe (narrowing), encrypt/decrypt l'appellent via cette fonction au lieu d'un AESGCM possiblement None.
  • backend/coffre_store.py:325 [assignment] + [arg-type] : cause racine = le dict coffre inferait ses valeurs en str | None (dek_chiffree: None). Corrige a la source : coffre: dict[str, Any] = { ... }, sans renommage ni ignore.
  • Les notes 'untyped functions are not checked' (sse, watcher, admin, auth/router, bookslm_routes) ne sont pas des erreurs et ne sont pas touchees. Aucune config mypy/ruff ni ci.yml touchee.

Version 2.80.2 (meme branche)

Bump synchronise facon scripts/bump_version.py : VERSION, package.json, desktop Tauri/Cargo, README, ROADMAP, CHANGELOG (section [2.80.2] - 2026-10-27, sections [2.80.1] et [2.79.0] inchangees), pour que la future release v2.80.2 corresponde a la version affichee (lecon de la 2.80.0).

Verifie / non verifie

  • Verifie en local : mypy sur les 2 fichiers = 0 erreur, ruff = OK avec la config du depot, py_compile OK, roundtrip chiffrement OK, 11/11 fichiers re-telecharges depuis la branche identiques.
  • Non verifie : mypy sur les 124 fichiers du job CI (la CI de cette PR reste le verificateur complet), tests frontend, pytest, job security (echec en 1 s precedemment, hors perimetre ici).
  • Apres merge seulement : release v2.80.2.
Correctif du job CI mypy (3 erreurs, 2 fichiers). Ne ferme aucune issue. Merge et release en attente du go de Bruno. ## Mypy - backend/coffre_crypto.py:34 [misc] : AESGCM annote explicitement `type[Any] | None` avant le try/except cryptography, et le `type: ignore[assignment]` non couvert est supprime. _require_aesgcm() retourne desormais la classe (narrowing), encrypt/decrypt l'appellent via cette fonction au lieu d'un AESGCM possiblement None. - backend/coffre_store.py:325 [assignment] + [arg-type] : cause racine = le dict coffre inferait ses valeurs en str | None (dek_chiffree: None). Corrige a la source : `coffre: dict[str, Any] = { ... }`, sans renommage ni ignore. - Les notes 'untyped functions are not checked' (sse, watcher, admin, auth/router, bookslm_routes) ne sont pas des erreurs et ne sont pas touchees. Aucune config mypy/ruff ni ci.yml touchee. ## Version 2.80.2 (meme branche) Bump synchronise facon scripts/bump_version.py : VERSION, package.json, desktop Tauri/Cargo, README, ROADMAP, CHANGELOG (section [2.80.2] - 2026-10-27, sections [2.80.1] et [2.79.0] inchangees), pour que la future release v2.80.2 corresponde a la version affichee (lecon de la 2.80.0). ## Verifie / non verifie - Verifie en local : mypy sur les 2 fichiers = 0 erreur, ruff = OK avec la config du depot, py_compile OK, roundtrip chiffrement OK, 11/11 fichiers re-telecharges depuis la branche identiques. - Non verifie : mypy sur les 124 fichiers du job CI (la CI de cette PR reste le verificateur complet), tests frontend, pytest, job security (echec en 1 s precedemment, hors perimetre ici). - Apres merge seulement : release v2.80.2.
bruno added 11 commits 2026-10-27 23:11:58 -04:00
bruno added 1 commit 2026-10-27 23:20:34 -04:00
[fix] Coffre Secrets : valeurField attache l'oeil a wrap avant insertBefore (NotFoundError bouton Nouveau secret)
CI / security (pull_request) Failing after 0s
CI / lint (pull_request) Successful in 3m19s
CI / test (pull_request) Failing after 1m47s
CI / build (pull_request) Skipped
CI / e2e (pull_request) Skipped
682a5030d3
bruno added 1 commit 2026-10-27 23:20:38 -04:00
[fix] Securite : plancher msgpack>=1.2.3 (CVE-2026-114613, pip-audit bloquant)
CI / lint (pull_request) Failing after 1s
CI / test (pull_request) Skipped
CI / build (pull_request) Skipped
CI / e2e (pull_request) Skipped
CI / security (pull_request) Successful in 1m56s
5266506b56
bruno added 1 commit 2026-10-27 23:20:45 -04:00
[fix] CHANGELOG 2.80.2 : bouton Nouveau secret + plancher msgpack
CI / lint (pull_request) Failing after 0s
CI / security (pull_request) Failing after 0s
CI / test (pull_request) Skipped
CI / build (pull_request) Skipped
CI / e2e (pull_request) Skipped
99cd765997
Author
Owner

Elargissement du périmètre (sans merge, en attente du go) :

  • Bouton « Nouveau secret » inopérant, reproduit via la console de Bruno : NotFoundError sur wrap.insertBefore(input, eyeBtn) dans valeurField (coffres.js:287). Cause : le bouton œil n'était jamais rattaché à wrap, donc insertBefore levait à la première ouverture et la modale ne s'ouvrait jamais (même bug pour la modale de rotation, qui utilise le même champ). Correctif : wrap.appendChild(eyeBtn) avant le premier build.
  • CI security (pip-audit, bloquant) : plancher msgpack>=1.2.3 ajouté à backend/requirements.txt (msgpack transitif 1.2.1 signalé pour CVE-2026-114613, correctif 1.2.3), dans le style des autres planchers du fichier.

CHANGELOG 2.80.2 mis à jour en conséquence. La version reste 2.80.2 : la future release v2.80.2 correspondra toujours à la version affichée.

Elargissement du périmètre (sans merge, en attente du go) : - Bouton « Nouveau secret » inopérant, reproduit via la console de Bruno : `NotFoundError` sur `wrap.insertBefore(input, eyeBtn)` dans `valeurField` (coffres.js:287). Cause : le bouton œil n'était jamais rattaché à `wrap`, donc `insertBefore` levait à la première ouverture et la modale ne s'ouvrait jamais (même bug pour la modale de rotation, qui utilise le même champ). Correctif : `wrap.appendChild(eyeBtn)` avant le premier `build`. - CI security (pip-audit, bloquant) : plancher `msgpack>=1.2.3` ajouté à `backend/requirements.txt` (msgpack transitif 1.2.1 signalé pour CVE-2026-114613, correctif 1.2.3), dans le style des autres planchers du fichier. CHANGELOG 2.80.2 mis à jour en conséquence. La version reste 2.80.2 : la future release v2.80.2 correspondra toujours à la version affichée.
bruno merged commit c01c7e862d into main 2026-10-27 23:24:45 -04:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Projets/ObsiGate#27