simpl-liste/STATE.md
le king fu dacd1c285e state: sync after #120 analysis (accepted risk, unreachable)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 15:41:29 -04:00

4.5 KiB

STATE — simpl-liste

Derniere MAJ : 2026-09-27 (par analyze #120)

Position actuelle

Version 1.6.6 (versionCode 18). Zero HIGH/critical apres #117 (PR #119) et #121 (PR #122), 2026-09-25 : npm audit = 4 findings, 3 moderate (chaine expo-router -> query-string@7 -> decode-uri-component, inatteignable, #120 fermee en risque accepte) et 1 low (postcss-selector-parser).

La remediation passe par des overrides de plancher dans package.json : esbuild, @xmldom/xmldom@^0.8.15, uuid, postcss, js-yaml (3.15.2 / 4.3.2), brace-expansion, @babel/core, browserslist@^4.28.7, @react-navigation/core@^7.22.1, et les 14 paquets metro@^0.83.8. Le smoke test verrouille la chaine de build (presets Expo hoistes a la racine, un seul SDK Expo, metro 0.83.x partout).

Caveat sur l'override metro (releve par la review de PR #114) : 0.83.3 -> 0.83.8 n'est pas un bump de patch pur cote API privee. Trois shims de @expo/metro@54.2.0, ecrit contre 0.83.3, ne resolvent plus — metro-resolver/utils/toPosixPath et metro/node-haste/Package supprimes, metro-file-map/lib/dependencyExtractor deplace. Ils leveraient MODULE_NOT_FOUND, mais aucun paquet de l'arbre ne les requiert (203 des 206 imports profonds metro*/private/... resolvent). Inerte aujourd'hui ; a re-verifier au prochain bump du SDK Expo ou de @expo/metro.

Companion web liste.lacompagniemaximus.com : deploye manuellement (docker-compose standalone /data/simpl-liste-web sur le VPS, build depuis source/ rsync — PAS une app Coolify malgre la spec). Procedure en memoire simpl-liste-web-deploy.

Decisions recentes

  • 2026-09-27 : #120 fermee en risque accepte (rectification du cadrage « attend un bump de SDK »). Aucune version d'expo-router (jusqu'a 58.0.8 / sdk-57) ne quitte query-string@7. expo-router n'appelle que queryString.stringify(), qui ne touche jamais decode-uri-component (le seul parse() du fork est commente) : code vulnerable inatteignable. A re-verifier a chaque bump d'expo-router.
  • 2026-09-25 : #121 fermee (PR #122 merged) — planchers @xmldom/xmldom@^0.8.15 et js-yaml ^3.15.2 / ^4.3.2 (advisories HIGH du 2026-09-08, outillage de build seulement, hash du bundle Hermes inchange). Le Defenseur ne les avait pas signalees : hypothese de dedup par paquet contre issues fermees -> agent-defenseurs#139.
  • 2026-09-25 : #117 fermee (PR #119 merged) — override @react-navigation/core@^7.22.1, qui ne depend plus de query-string (GHSA-vcc3-ghjq-m6fr). Lock : 2 entrees. PR #118 du Defenseur fermee : son npm audit fix global desinstallait babel-preset-expo/@expo/metro-config de la racine et nichait un Expo 57 (build casse, tests verts). Gardes de toolchain ajoutees au smoke test. Residu expo-router -> #120.
  • 2026-09-04 : #115 ouverte + PR #116 — browserslist@^4.28.7 (2 advisories HIGH publiees le 2026-09-01, first_patched_version = 4.28.7). Resout en 4.28.9, derniere HIGH de l'arbre. Bundle Hermes au hash identique avant/apres : cibles de compilation inchangees.
  • 2026-09-04 : #112 fermee doublon de #108 ; PR #113 fermee sans merge (son diff ne contenait aucune occurrence d'image-size — 633/584 de churn de lockfile sans rapport).
  • 2026-09-04 : #108 fermee (PR #114 merged) — image-size retiree de l'arbre via overrides metro@^0.83.8. Le blocage upstream tient toujours (first_patched_version = None, 2.0.2 reste la derniere publiee) ; c'est metro qui a supprime la dependance et vendore un parseur reduit sans les formats ICNS/JXL/HEIF vises. Backport sur la ligne 0.83.x le 2026-08-19 — pas besoin du bump de SDK Expo anticipe. 9 HIGH -> 1 HIGH.
  • 2026-07-27 : #68 merged (PR #101) — Feedback Hub integre (bouton Reglages > A propos, POST feedback.lacompagniemaximus.com app_id simpl-liste, opt-in contexte + identite Loi 25 ; client sans dependance teste via node:test).
  • 2026-05-30 : #90 merged (PR #93, ThemeToggle eslint-disable) + premier deploy web depuis 7 sem (rsync source/ + docker compose --build sur VPS) — #70 et #90 live sur liste.lacompagniemaximus.com.
  • 2026-05-30 : PR #89 merged — display name web resolu via userInfo (ordre fallback de la vitrine), fix #70.
  • 2026-05-30 : nettoyage lint web/ (PR #91, 2 prefer-const + import inutilise) ; #90 analyse (ThemeToggle set-state-in-effect, decision : eslint-disable documente).

Blockers actifs

  • Essai sur appareil a faire avant le prochain APK : core 7.22.1 tourne avec native/native-stack/bottom-tabs publies contre 7.14 (deep link vers une tache, onglets, pile).