[Mineur] Fichiers : pas d'aperçu PDF/docx, pseudo-dossiers parasites, dossiers « . » et « .. » créables #163

Closed
opened 2026-10-28 10:32:33 +00:00 by asventi · 0 comments
Owner

Gravité : Mineur
Rapports QA d'origine : FILES-07, FILES-10, FILES-11

Détails des rapports

[FILES-07] Les PDF (et docx, zip…) ne sont pas prévisualisables : « Can't preview file » — Gravité : Mineur (fonctionnalité manquante)
  • Où : /knowledge/:key pour un PDF valide. Seuls image/, video/ et texte (text/* ou extension connue) sont gérés (FilePreview.tsx BlobView). Preuve : screens/qa_files_12_pdf_cannot_preview.png. (Image PNG, SVG — rendu en <img> donc script inerte —, md, html et txt s'affichent bien ; HTML affiché en <pre> : pas de XSS.)
[FILES-10] Le sélecteur de destination (Upload / Move) propose les pseudo-dossiers parasites créés par des noms exotiques — Gravité : Cosmétique
  • La liste « Move to » contient /, ../, /../, /../../etc/, //… (issus de FILES-05). Symptôme de l'absence de validation serveur du format des noms.
[FILES-11] L'UI elle-même permet de créer un dossier/fichier nommé `.` ou `..` — Gravité : Mineur
  • Où : /knowledge > New folder (ou Upload/Rename) avec le nom .. ou .. Aucune validation (seuls vide et / sont refusés : FolderUpload.tsx, FileUpload.tsx, ItemActions.tsx).
  • Obtenu : une ligne « .. » apparaît dans la liste, indiscernable du bouton « remonter » ; marqueurs /../ et /./ créés côté stockage. Vérifié aussi : doublon de dossier (même nom créé 2 fois) = une seule ligne (OK, fusionné), espaces autour du nom rognés (OK). Preuve : screens/qa_files_12_root_weird_and_long.png.

Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes.

**Gravité :** Mineur **Rapports QA d'origine :** FILES-07, FILES-10, FILES-11 ## Détails des rapports <details><summary>[FILES-07] Les PDF (et docx, zip…) ne sont pas prévisualisables : « Can't preview file » — Gravité : Mineur (fonctionnalité manquante)</summary> - Où : /knowledge/:key pour un PDF valide. Seuls image/*, video/* et texte (`text/*` ou extension connue) sont gérés (`FilePreview.tsx` `BlobView`). Preuve : `screens/qa_files_12_pdf_cannot_preview.png`. (Image PNG, SVG — rendu en `<img>` donc script inerte —, md, html et txt s'affichent bien ; HTML affiché en `<pre>` : pas de XSS.) </details> <details><summary>[FILES-10] Le sélecteur de destination (Upload / Move) propose les pseudo-dossiers parasites créés par des noms exotiques — Gravité : Cosmétique</summary> - La liste « Move to » contient `/`, `../`, `/../`, `/../../etc/`, `//`… (issus de FILES-05). Symptôme de l'absence de validation serveur du format des noms. </details> <details><summary>[FILES-11] L'UI elle-même permet de créer un dossier/fichier nommé `.` ou `..` — Gravité : Mineur</summary> - Où : /knowledge > New folder (ou Upload/Rename) avec le nom `..` ou `.`. Aucune validation (seuls vide et `/` sont refusés : `FolderUpload.tsx`, `FileUpload.tsx`, `ItemActions.tsx`). - Obtenu : une ligne « .. » apparaît dans la liste, indiscernable du bouton « remonter » ; marqueurs `/../` et `/./` créés côté stockage. Vérifié aussi : doublon de dossier (même nom créé 2 fois) = une seule ligne (OK, fusionné), espaces autour du nom rognés (OK). Preuve : `screens/qa_files_12_root_weird_and_long.png`. </details> --- _Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes._
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transcendence/frontend#163
No description provided.