state: sync after #117

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
le king fu 2026-09-25 20:04:32 -04:00
parent 53c33e73a4
commit 967929ee04

View file

@ -1,16 +1,21 @@
# STATE — simpl-liste
> Derniere MAJ : 2026-09-04 (remediation securite #108 + #115)
> Derniere MAJ : 2026-09-25 (par fix-issue #117)
## Position actuelle
Version 1.6.6 (versionCode 18). **Zero finding high ou critical dans l'arbre** apres
#114 (merged) et PR #116 (ouverte) : `npm audit` passe de 19 vulnerabilites / 9 HIGH
a 10 / 0 HIGH. Restent 9 moderate et 1 low, inchangees.
Version 1.6.6 (versionCode 18). Remediation securite en continu via overrides.
Apres #117 (PR #119, 2026-09-25), `npm audit` = 6 findings : **2 HIGH** (`@xmldom/xmldom`
<=0.8.14 et `js-yaml` 3.15.1 / 4.3.1, advisories publiees apres les planchers poses
en avril/septembre — pas encore d'issue), 3 moderate (chaine `expo-router` ->
`query-string@7` -> `decode-uri-component`, #120 bloquee sur un bump de SDK), 1 low
(`postcss-selector-parser`).
La remediation passe par des overrides de plancher dans `package.json` :
`esbuild`, `@xmldom/xmldom`, `uuid`, `postcss`, `js-yaml`, `brace-expansion`,
`@babel/core`, `browserslist@^4.28.7`, et les 14 paquets `metro@^0.83.8`.
`@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`,
@ -26,6 +31,7 @@ Coolify malgre la spec). Procedure en memoire `simpl-liste-web-deploy`.
## Decisions recentes
- 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.
@ -35,10 +41,8 @@ Coolify malgre la spec). Procedure en memoire `simpl-liste-web-deploy`.
- 2026-05-30 : nettoyage lint web/ (PR #91, 2 prefer-const + import inutilise) ; #90 analyse (ThemeToggle set-state-in-effect, decision : eslint-disable documente).
- 2026-05-10 : Aligne 6 patches Expo SDK 54 via expo install --fix — expo-doctor 17/17 (ref #87)
- 2026-05-08 : Defenseur rerun confirme 0 findings — overrides existants suffisent, pas de PR necessaire (ref #81)
- 2026-04-24 : overrides xmldom + uuid (spec `spec-decisions-vuln-simpl-liste.md`) — PRs #77, #78, #79 (pending-human).
## Blockers actifs
Aucun.
PR #116 (#115, browserslist) est en attente de review — c'est le seul travail en vol.
- #120 (`status:blocked`) : `decode-uri-component` via `expo-router` 6.0.x -> `query-string@7`. Seul correctif (0.5.0) ESM-only, non overridable ; attend un bump de SDK Expo.
- 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).