chore(idea): bookkeeping #214 QA verte + clôtures index #212/#213
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
---
|
||||
issueRef: "#212"
|
||||
version: 5
|
||||
version: 6
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1786786758650
|
||||
updatedAt: 1786786870793
|
||||
---
|
||||
2026-08-15 Main triage + implementation + QA.
|
||||
- Symptome confirme par lecture code: frontend web invoque `load_layout`, mais `crates/web-server/src/lib.rs` ne route pas cette commande et tombe sur `UNKNOWN_COMMAND`.
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
id: "1dbe01ec-94f4-404d-9ffb-2ceeceb0557b"
|
||||
number: 212
|
||||
title: "Web PC: erreur `unknown command: load_layout` a l'ouverture d'un projet"
|
||||
status: "qa"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
@ -11,7 +11,7 @@ attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1786786004974
|
||||
updatedAt: 1786786758650
|
||||
version: 5
|
||||
updatedAt: 1786786870793
|
||||
version: 6
|
||||
---
|
||||
A l'ouverture d'un projet dans l'interface web desktop/PC, l'application affiche `unknown command: load_layout`. Triage et correctif a produire avec cycle UX/Architect/Git/Dev/QA.
|
||||
13
.ideai/tickets/213/carnet.md
Normal file
13
.ideai/tickets/213/carnet.md
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
issueRef: "#213"
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 1786787447568
|
||||
---
|
||||
2026-08-15 rebuild AppImage.
|
||||
- Skill `build-appimage` lu et applique.
|
||||
- Branche/commit au lancement: `develop` @ `b3bf6fd2d64990639cef22fbb2a0e5f35579aabc`.
|
||||
- Frontend build OK via `npm --prefix frontend run build`.
|
||||
- Bundle AppImage OK via `CARGO_HOME=/tmp/idea-cargo-home APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=1 ../../frontend/node_modules/.bin/tauri build --bundles appimage` depuis `crates/app-tauri/`.
|
||||
- Artefact produit: `target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage`.
|
||||
- Etape restante: tagging Git du commit buildé selon la regle branche->version (`develop` => increment Y).
|
||||
17
.ideai/tickets/213/issue.md
Normal file
17
.ideai/tickets/213/issue.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
id: "f0bfa4e0-8f1d-4269-a7f5-422090d7c79d"
|
||||
number: 213
|
||||
title: "Rebuild AppImage Linux"
|
||||
status: "closed"
|
||||
priority: "medium"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1786787271504
|
||||
updatedAt: 1786787447568
|
||||
version: 3
|
||||
---
|
||||
Reconstruction de l'AppImage IdeA Linux via le workflow valide, puis tagging Git de la version du commit buildé selon la branche courante.
|
||||
29
.ideai/tickets/214/carnet.md
Normal file
29
.ideai/tickets/214/carnet.md
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
issueRef: "#214"
|
||||
version: 5
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedAt: 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 `403` sur validation `Origin` appliquée aux routes `/api/*`, y compris des `GET` fichiers browser-safe.
|
||||
- Branche locale créée par Git: `fix/214-web-origin-header-file-access` depuis `develop`.
|
||||
- Direction de fix: conserver le contrôle strict `Origin` pour `POST`/`OPTIONS`/WS, mais accepter les `GET` lecture/fichiers sans header `Origin` et 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-directory` acceptés sans `Origin`; validation stricte maintenue si `Origin` est présent.
|
||||
- Non-régression attendue: `POST /api/pair` sans `Origin` toujours refusé, WebSocket sans `Origin` toujours refusé.
|
||||
- Tests DevBackend:
|
||||
- `cargo fmt --package web-server` => OK
|
||||
- `cargo test -p web-server origin_header` => OK (3 tests)
|
||||
- `cargo test -p web-server authorized_project_file_gets_allow_missing_origin_header` => OK
|
||||
- `cargo 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 `Origin` reste 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*` sans `Origin` accepté; `POST /api/pair`, WebSocket et route fichier non-GET sans `Origin` refusés.
|
||||
17
.ideai/tickets/214/issue.md
Normal file
17
.ideai/tickets/214/issue.md
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
id: "05b7dc82-f248-476d-8ae6-c5190b2d9d02"
|
||||
number: 214
|
||||
title: "Bug web PC: accès fichiers échoue avec 'missing Origin header'"
|
||||
status: "qa"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
agentRefs: []
|
||||
attachments: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||||
createdAt: 1786808303548
|
||||
updatedAt: 1786808846046
|
||||
version: 5
|
||||
---
|
||||
Sur l'interface web PC, l'accès aux fichiers échoue avec l'erreur 'missing Origin header'. Objectif: identifier la cause, corriger le flux web desktop concerné, puis valider par tests QA réels.
|
||||
@ -1,3 +1,3 @@
|
||||
{
|
||||
"nextNumber": 213
|
||||
"nextNumber": 215
|
||||
}
|
||||
@ -2862,6 +2862,34 @@
|
||||
"issueRef": "#212",
|
||||
"path": "212",
|
||||
"title": "Web PC: erreur `unknown command: load_layout` a l'ouverture d'un projet",
|
||||
"status": "closed",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
"createdBy": {
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1786786870793
|
||||
},
|
||||
{
|
||||
"issueRef": "#213",
|
||||
"path": "213",
|
||||
"title": "Rebuild AppImage Linux",
|
||||
"status": "closed",
|
||||
"priority": "medium",
|
||||
"sprint": null,
|
||||
"assignedAgentIds": [],
|
||||
"createdBy": {
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1786787447568
|
||||
},
|
||||
{
|
||||
"issueRef": "#214",
|
||||
"path": "214",
|
||||
"title": "Bug web PC: accès fichiers échoue avec 'missing Origin header'",
|
||||
"status": "qa",
|
||||
"priority": "high",
|
||||
"sprint": null,
|
||||
@ -2870,7 +2898,7 @@
|
||||
"kind": "agent",
|
||||
"agent_id": "a6c6ea12-bfc6-4bdc-8031-324102dfa34d"
|
||||
},
|
||||
"updatedAt": 1786786758650
|
||||
"updatedAt": 1786808846046
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user