Opus
576ab22a9f
fix(web-ia-health w333): regression w331 layout tasks - clean injection + patch backend
...
CAUSE RACINE (Yacine: tasks vides bas gauche pas centrer):
- Wave 331 avait injecte un JS poller qui creait sa propre liste tasks
- Cette liste etait appendChild au parent du titre Recent Tasks
- MAIS le layout natif est grid 12 cols avec card col-6
- = Liste injectee tombait en colonne gauche bas hors layout
FIX wave 333 (2 patches PROPRES):
1. web-ia-health.html:
- REMOVE script w331-tasks-poller (pollution UI)
- SWITCH /api/web-ia-health-cached.php -> /api/web-ia-health.php
(cached etait band-aid temporaire, plus besoin)
2. /api/web-ia-health.php:
- PATCH backend pour ALSO parser /tmp/wevia-job-*.log
- Detecte status: done/failed/pending depuis content
- Extract label intelligent (Prompt: ou ===)
- Ajoute au tableau recent_tasks NATIF
- Le rendu natif card col-6 + feed-item est PROPRE
- Tasks safficheront dans la JOLIE section au bon endroit
Result attendu apres CF purge + F5:
- Recent Tasks (10) section affiche jusqu a 10 tasks reelles
- Layout natif respecte (card col-6 sur grid 12 cols)
- Statut couleurs: done vert / failed rouge / pending orange
- Plus de pollution gauche bas
- Plus de Aucune task recente
Zero regression (clean restore + additif backend uniquement)
chattr +i toggle, GOLD backup x2 (html + php)
CF purge 2 URLs
Doctrine 333: fix propre via backend natif au lieu de polluer UI
2026-04-24 21:36:51 +02:00
..
2026-04-23 04:24:50 +02:00
2026-04-24 12:16:01 +02:00
2026-04-24 09:05:05 +02:00
2026-04-24 01:35:02 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 21:25:45 +02:00
2026-04-23 04:20:03 +02:00
2026-04-24 00:17:12 +02:00
2026-04-24 17:21:38 +02:00
2026-04-24 17:21:38 +02:00
2026-04-24 10:00:14 +02:00
2026-04-23 21:45:04 +02:00
2026-04-24 17:37:54 +02:00
2026-04-23 21:34:04 +02:00
2026-04-23 23:08:20 +02:00
2026-04-23 21:34:04 +02:00
2026-04-24 09:00:13 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 09:00:13 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 10:05:06 +02:00
2026-04-24 14:41:04 +02:00
2026-04-24 11:05:17 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 08:00:14 +02:00
2026-04-24 03:05:04 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 12:02:23 +02:00
feat(wevia-public-premium): 4 generators DOCX/XLSX/PPTX/REACT premium qualite + auto-intent router JS + preview panel wiring - ambre-tool-docx.php python-docx 1.2 (Synthese Executive box, tables, bullets, styles indigo) - ambre-tool-xlsx.php openpyxl 3.1 (headers stylés primary, totals auto, auto-filter, freeze panes) - ambre-tool-pptx.php python-pptx 1.0 (10 slides 16:9 types title/content/two_column/stats/table/conclusion, gradients, cards 54pt) - ambre-tool-react.php React18+Tailwind+Babel standalone HTML - wevia-gen-router.js detects intent from NL message, triggers API, banner progress/download, opens preview iframe Google Docs Viewer pour Office - prompt restrictif no confidential WEVAL info divulgue - chattr +i restored sur wevia.html
2026-04-24 20:36:44 +02:00
feat(wevia-public-premium): 4 generators DOCX/XLSX/PPTX/REACT premium qualite + auto-intent router JS + preview panel wiring - ambre-tool-docx.php python-docx 1.2 (Synthese Executive box, tables, bullets, styles indigo) - ambre-tool-xlsx.php openpyxl 3.1 (headers stylés primary, totals auto, auto-filter, freeze panes) - ambre-tool-pptx.php python-pptx 1.0 (10 slides 16:9 types title/content/two_column/stats/table/conclusion, gradients, cards 54pt) - ambre-tool-react.php React18+Tailwind+Babel standalone HTML - wevia-gen-router.js detects intent from NL message, triggers API, banner progress/download, opens preview iframe Google Docs Viewer pour Office - prompt restrictif no confidential WEVAL info divulgue - chattr +i restored sur wevia.html
2026-04-24 20:36:44 +02:00
feat(wevia-public-premium): 4 generators DOCX/XLSX/PPTX/REACT premium qualite + auto-intent router JS + preview panel wiring - ambre-tool-docx.php python-docx 1.2 (Synthese Executive box, tables, bullets, styles indigo) - ambre-tool-xlsx.php openpyxl 3.1 (headers stylés primary, totals auto, auto-filter, freeze panes) - ambre-tool-pptx.php python-pptx 1.0 (10 slides 16:9 types title/content/two_column/stats/table/conclusion, gradients, cards 54pt) - ambre-tool-react.php React18+Tailwind+Babel standalone HTML - wevia-gen-router.js detects intent from NL message, triggers API, banner progress/download, opens preview iframe Google Docs Viewer pour Office - prompt restrictif no confidential WEVAL info divulgue - chattr +i restored sur wevia.html
2026-04-24 20:36:44 +02:00
feat(wevia-public-premium): 4 generators DOCX/XLSX/PPTX/REACT premium qualite + auto-intent router JS + preview panel wiring - ambre-tool-docx.php python-docx 1.2 (Synthese Executive box, tables, bullets, styles indigo) - ambre-tool-xlsx.php openpyxl 3.1 (headers stylés primary, totals auto, auto-filter, freeze panes) - ambre-tool-pptx.php python-pptx 1.0 (10 slides 16:9 types title/content/two_column/stats/table/conclusion, gradients, cards 54pt) - ambre-tool-react.php React18+Tailwind+Babel standalone HTML - wevia-gen-router.js detects intent from NL message, triggers API, banner progress/download, opens preview iframe Google Docs Viewer pour Office - prompt restrictif no confidential WEVAL info divulgue - chattr +i restored sur wevia.html
2026-04-24 20:36:44 +02:00
feat(wevia-public-premium): 4 generators DOCX/XLSX/PPTX/REACT premium qualite + auto-intent router JS + preview panel wiring - ambre-tool-docx.php python-docx 1.2 (Synthese Executive box, tables, bullets, styles indigo) - ambre-tool-xlsx.php openpyxl 3.1 (headers stylés primary, totals auto, auto-filter, freeze panes) - ambre-tool-pptx.php python-pptx 1.0 (10 slides 16:9 types title/content/two_column/stats/table/conclusion, gradients, cards 54pt) - ambre-tool-react.php React18+Tailwind+Babel standalone HTML - wevia-gen-router.js detects intent from NL message, triggers API, banner progress/download, opens preview iframe Google Docs Viewer pour Office - prompt restrictif no confidential WEVAL info divulgue - chattr +i restored sur wevia.html
2026-04-24 20:36:44 +02:00
feat(wevia-public-premium): 4 generators DOCX/XLSX/PPTX/REACT premium qualite + auto-intent router JS + preview panel wiring - ambre-tool-docx.php python-docx 1.2 (Synthese Executive box, tables, bullets, styles indigo) - ambre-tool-xlsx.php openpyxl 3.1 (headers stylés primary, totals auto, auto-filter, freeze panes) - ambre-tool-pptx.php python-pptx 1.0 (10 slides 16:9 types title/content/two_column/stats/table/conclusion, gradients, cards 54pt) - ambre-tool-react.php React18+Tailwind+Babel standalone HTML - wevia-gen-router.js detects intent from NL message, triggers API, banner progress/download, opens preview iframe Google Docs Viewer pour Office - prompt restrictif no confidential WEVAL info divulgue - chattr +i restored sur wevia.html
2026-04-24 20:36:44 +02:00
feat(wevia-public-premium): 4 generators DOCX/XLSX/PPTX/REACT premium qualite + auto-intent router JS + preview panel wiring - ambre-tool-docx.php python-docx 1.2 (Synthese Executive box, tables, bullets, styles indigo) - ambre-tool-xlsx.php openpyxl 3.1 (headers stylés primary, totals auto, auto-filter, freeze panes) - ambre-tool-pptx.php python-pptx 1.0 (10 slides 16:9 types title/content/two_column/stats/table/conclusion, gradients, cards 54pt) - ambre-tool-react.php React18+Tailwind+Babel standalone HTML - wevia-gen-router.js detects intent from NL message, triggers API, banner progress/download, opens preview iframe Google Docs Viewer pour Office - prompt restrictif no confidential WEVAL info divulgue - chattr +i restored sur wevia.html
2026-04-24 20:36:44 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 14:47:02 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 14:00:46 +02:00
2026-04-24 16:09:13 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 12:40:35 +02:00
2026-04-24 12:40:35 +02:00
2026-04-24 10:00:14 +02:00
2026-04-24 11:07:36 +02:00
2026-04-24 06:05:08 +02:00
2026-04-24 14:41:04 +02:00
2026-04-23 03:40:06 +02:00
2026-04-24 12:18:16 +02:00
2026-04-24 11:26:27 +02:00
2026-04-24 02:05:03 +02:00
2026-04-24 01:50:03 +02:00
2026-04-24 02:45:01 +02:00
2026-04-23 20:27:49 +02:00
2026-04-23 22:10:02 +02:00
2026-04-23 22:00:05 +02:00
2026-04-24 16:04:42 +02:00
2026-04-23 22:00:05 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 09:05:05 +02:00
2026-04-24 02:50:03 +02:00
2026-04-24 10:44:16 +02:00
2026-04-24 01:47:15 +02:00
2026-04-24 03:20:06 +02:00
2026-04-23 21:12:35 +02:00
2026-04-24 00:05:03 +02:00
2026-04-24 00:05:03 +02:00
2026-04-24 00:05:03 +02:00
2026-04-23 21:35:02 +02:00
2026-04-23 20:45:03 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 16:19:46 +02:00
2026-04-24 14:38:17 +02:00
2026-04-24 12:16:01 +02:00
2026-04-24 12:40:35 +02:00
2026-04-24 02:45:01 +02:00
2026-04-24 15:41:37 +02:00
2026-04-24 15:41:37 +02:00
2026-04-24 14:47:02 +02:00
2026-04-23 05:15:01 +02:00
2026-04-23 04:20:03 +02:00
2026-04-24 03:20:06 +02:00
2026-04-24 16:09:52 +02:00
2026-04-24 18:33:47 +02:00
2026-04-24 13:02:27 +02:00
2026-04-24 15:57:08 +02:00
2026-04-24 16:02:11 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 12:08:11 +02:00
2026-04-24 01:24:15 +02:00
2026-04-23 22:40:03 +02:00
2026-04-24 12:08:11 +02:00
2026-04-23 04:15:02 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 12:40:35 +02:00
2026-04-24 12:40:35 +02:00
2026-04-24 14:41:04 +02:00
2026-04-23 01:25:02 +02:00
2026-04-23 22:40:03 +02:00
2026-04-23 04:15:02 +02:00
2026-04-22 21:00:07 +02:00
2026-04-23 22:14:02 +02:00
2026-04-23 21:35:02 +02:00
2026-04-22 20:51:22 +02:00
2026-04-23 21:55:04 +02:00
2026-04-23 22:10:02 +02:00
2026-04-23 22:25:02 +02:00
2026-04-23 21:45:04 +02:00
2026-04-24 01:45:41 +02:00
2026-04-24 04:20:06 +02:00
2026-04-24 01:59:30 +02:00
2026-04-24 17:53:46 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 03:00:11 +02:00
2026-04-24 03:00:11 +02:00
2026-04-24 03:20:06 +02:00
2026-04-24 02:12:31 +02:00
2026-04-23 22:10:02 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 03:20:06 +02:00
2026-04-24 20:55:21 +02:00
2026-04-24 01:35:02 +02:00
2026-04-22 21:35:02 +02:00
2026-04-24 14:37:12 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 02:45:01 +02:00
2026-04-24 14:41:04 +02:00
2026-04-24 17:30:36 +02:00
2026-04-24 18:57:42 +02:00
2026-04-24 01:35:43 +02:00
2026-04-24 14:41:04 +02:00
2026-04-24 20:55:21 +02:00
2026-04-24 21:36:51 +02:00
2026-04-23 21:55:04 +02:00
2026-04-23 20:27:49 +02:00
2026-04-24 19:59:10 +02:00
2026-04-23 23:45:03 +02:00
2026-04-24 19:59:10 +02:00
2026-04-24 02:12:31 +02:00
2026-04-23 21:45:04 +02:00
2026-04-24 21:25:45 +02:00
2026-04-23 22:55:02 +02:00
2026-04-23 23:13:48 +02:00
2026-04-24 20:48:14 +02:00
2026-04-24 06:05:08 +02:00
2026-04-24 13:21:59 +02:00
2026-04-24 18:33:06 +02:00
2026-04-24 16:59:00 +02:00
2026-04-23 21:27:16 +02:00
2026-04-24 00:17:12 +02:00
2026-04-24 15:26:54 +02:00
2026-04-23 21:35:02 +02:00
2026-04-24 20:48:14 +02:00
2026-04-24 19:59:10 +02:00
2026-04-24 03:00:11 +02:00
2026-04-23 23:54:56 +02:00
2026-04-24 12:02:23 +02:00
2026-04-24 12:40:35 +02:00
2026-04-24 01:35:02 +02:00
2026-04-24 20:43:22 +02:00
2026-04-24 19:54:50 +02:00
2026-04-23 22:49:43 +02:00
2026-04-24 03:20:06 +02:00
2026-04-24 21:25:45 +02:00
2026-04-24 21:25:45 +02:00
2026-04-24 21:32:08 +02:00
2026-04-24 18:33:06 +02:00
2026-04-24 17:21:38 +02:00
2026-04-24 18:33:06 +02:00
2026-04-24 16:59:00 +02:00
2026-04-23 23:38:30 +02:00
2026-04-23 23:38:30 +02:00
2026-04-23 23:38:30 +02:00
2026-04-23 23:27:22 +02:00
2026-04-23 23:27:22 +02:00
2026-04-23 23:27:22 +02:00
2026-04-23 23:25:04 +02:00
2026-04-24 03:29:43 +02:00
2026-04-24 00:36:59 +02:00
2026-04-24 00:18:04 +02:00