2.1 KiB
2.1 KiB
issueRef, version, updatedBy, updatedAt
| issueRef | version | updatedBy | updatedAt | ||||
|---|---|---|---|---|---|---|---|
| #214 | 5 |
|
1786808846046 |
Triage 2026-08-15
- Symptôme: sur l'interface web PC, l'accès aux fichiers échoue avec
missing Origin header. - Diagnostic convergent UX/Architect: rejet backend
403sur validationOriginappliquée aux routes/api/*, y compris desGETfichiers browser-safe. - Branche locale créée par Git:
fix/214-web-origin-header-file-accessdepuisdevelop. - Direction de fix: conserver le contrôle strict
OriginpourPOST/OPTIONS/WS, mais accepter lesGETlecture/fichiers sans headerOriginet ajouter des tests de non-régression. - UX: si un message utilisateur reste nécessaire, ne pas exposer le texte technique brut
missing Origin header.
Implémentation DevBackend
- Fichier modifié:
crates/web-server/src/lib.rs. - Politique livrée:
GET /api/project-files,/api/project-files/download-file,/api/project-files/download-directoryacceptés sansOrigin; validation stricte maintenue siOriginest présent. - Non-régression attendue:
POST /api/pairsansOrigintoujours refusé, WebSocket sansOrigintoujours refusé. - Tests DevBackend:
cargo fmt --package web-server=> OKcargo test -p web-server origin_header=> OK (3 tests)cargo test -p web-server authorized_project_file_gets_allow_missing_origin_header=> OKcargo test -p web-server=> KO (Too many open files)cargo test -p web-server -- --test-threads=1=> échecs PTY/WebSocket non reliés au correctif Origin selon DevBackend
Verdict QA
- QA a ajouté un test négatif complémentaire pour verrouiller qu'une route fichier non-GET sans
Originreste refusée. - Commande validante principale:
cargo test -p web-server origin_header -- --nocapture=> VERT (4/4) - Rejeu ciblé:
cargo test -p web-server non_get_project_file_route_still_requires_origin_header -- --nocapture=> VERT - Conclusion:
GET /api/project-files*sansOriginaccepté;POST /api/pair, WebSocket et route fichier non-GET sansOriginrefusés.