Matthieu
bcbc04325e
feat(mail) : décodage des en-têtes MIME + aperçu inline des pièces jointes
...
Auto Tag Develop / tag (push) Has been cancelled
- Décode les encoded-words MIME (RFC 2047) des sujets et noms d'expéditeur
via App\Mail\MimeHeaderDecoder, appliqué dans ImapMailProvider (sync propre)
- Commande app:mail:redecode-headers (--dry-run) pour re-décoder l'existant en base
- Aperçu inline images + PDF en visionneuse modale plein écran (MailAttachmentPreview),
téléchargement conservé pour les autres types
- Tests unitaires du décodeur + maj docs/mail-integration.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-21 11:42:38 +02:00
d7af8ee138
Correctifs UI workflow — specs + implémentation (8 chantiers) ( #6 )
...
Auto Tag Develop / tag (push) Has been cancelled
Suite à l'arrivée des workflows, correction des régressions UI et améliorations UX mail/modales (reviews Lucile Schnödt, Tristan Schnödtin).
**Specs & décisions :** `docs/superpowers/specs/2026-05-20-workflow-ui-fixes-design.md`
**Plan d'implémentation :** `docs/superpowers/plans/2026-05-21-workflow-ui-fixes.md`
Cette PR contient désormais **les specs ET l'implémentation complète**.
## Chantiers livrés
| # | Chantier | Détail |
|---|----------|--------|
| 2 | Sélecteur de statut filtré par workflow | `statusOptions` dérivé de `project.workflow.statuses`, statut courant conservé s'il est hors workflow |
| 1 | Drag & drop « Mes tâches » | handlers `@dragover/@drop` ; résolution par workflow/catégorie (0→refus, 1→PATCH, ≥2→popover `StatusPickerPopover`) |
| 4 | Couleurs | (a) migration Doctrine remettant les hex classiques sur le workflow Standard ; (b) entêtes kanban teintées via `STATUS_CATEGORY_COLOR` + contraste auto ; (c) couleur par défaut par catégorie dans `WorkflowDrawer` |
| 5 | Suppression du bouton « Lier un mail » | + retrait de `MailPickerModal` et i18n associée |
| 6 | Création de tâche depuis un mail | back : `assigneeId` + `statusId` (défaut = 1er statut du workflow), priorité retirée (TDD) ; front : `MailCreateTaskModal` sur `AppModal` + sélecteurs user/statut |
| 7 | Modale réutilisable | nouveau `components/ui/AppModal.vue` (footer sticky) ; footer de `TaskModal` sorti du form scrollable |
| 3 | Cartes responsive | badges en `flex-wrap` pleine taille (plus aucun débordement) |
| 8 | (dette) Sélecteur de catégorie en `MalioSelect` | la lib supporte les valeurs `string` ; note CLAUDE.md corrigée |
## Vérifications
- Build frontend OK ; PHPUnit **34 tests verts** (nouveau test fonctionnel TDD sur `create-task`).
- Vérif navigateur (Chrome MCP) sur **données prod importées en local** : #2 , #3 , #4 , #5 , #6 , #7 confirmés.
- Revue de code finale : **APPROVED_WITH_NITS**.
## À noter
- ⚠️ **#1 (D&D)** : le drag & drop HTML5 natif n'est pas auto-testable → **test manuel requis**.
- 🗄️ **#4 (migration)** : `migrations/Version20260521094948.php` s'appliquera en **prod au prochain `make migration-migrate`**.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-authored-by: Matthieu <mtholot19@gmail.com >
Reviewed-on: #6
2026-05-21 08:48:31 +00:00
a40d11503a
feat(mail) : allège la barre d'actions du lecteur de mail
...
Boutons "Créer une tâche" / "Lier à une tâche" réduits (text-xs, padding compact),
suppression des actions "Marquer comme non lu" et "Marquer important".
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 08:24:00 +02:00
c6fa5a534e
feat(mail) : arbre des dossiers repliable — chevrons, sous-dossiers masqués par défaut
...
Seuls les dossiers racine sont affichés au départ ; chevron pour déplier/replier
chaque dossier ayant des sous-dossiers. Le clic sur le nom sélectionne toujours le dossier.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-20 08:05:00 +02:00
96c7d902e7
feat(mail) : MailPickerModal — sélection mail depuis dossier courant, liaison taskId
2026-05-20 00:48:37 +02:00
f62c790449
feat(mail) : MailLinkTaskModal — autocomplete tâches, filtre projet, debounce 300ms
2026-05-20 00:47:55 +02:00
13cec9a46a
feat(mail) : MailCreateTaskModal — picker projet/groupe/priorité, appel createTaskFromMail
2026-05-20 00:47:08 +02:00
67e73a52d7
feat(mail) : MailMessageViewer — header, body sanitizé DOMPurify, PJ téléchargeables, 4 actions
2026-05-20 00:36:29 +02:00
aa175063dc
feat(mail) : MailMessageList — liste paginée infinite scroll, indicateurs lu/étoilé/PJ/date relative
2026-05-20 00:35:47 +02:00
9aa14d38a9
feat(mail) : MailFolderTree — arbre récursif dossiers, badges unread, icônes système
2026-05-20 00:35:19 +02:00
95a98012ad
feat(mail) : MailRefreshButton — bouton sync manuel, disabled pendant syncing
2026-05-20 00:34:59 +02:00