# TODO ## HTMX v2 Migration Reference: `docs/autosave-system.md` → "HTMX v2 Migration Plan" section. - [x] `contenus-edit.php` (pages): Add `hx-*` attrs, add `overtype:change` dispatch in OverType `onChange` - [x] `contenus-edit.php` (form_help): Add `hx-*` attrs, add `overtype:change` dispatch in OverType `onChange` - [x] `apropos-groups-form.php` (contacts): Add `hx-*` attrs only - [x] `contenus-edit.php` (sidebar_links): Add `hx-*` attrs only - [x] Add `handleAutosaveResponse()` shared handler + `htmx:beforeRequest` loading state - [x] Delete `autosave.js` - [x] Fix backend `$isAjax` detection: also recognize `HX-Request` header (page.php, apropos.php, form-help.php) - [x] Form-help inline editors: add OverType toolbar + HTMX auto-save + remove save buttons - [x] Markdown cheatsheet modal: reusable dialog on all OverType editors ## FilePond crash on TFE upload forms - [x] Analyze root cause → `docs/filepond-crash-analysis.md` - [x] Partial fixes (Content-Type headers, onerror cleanup, load object) — insufficient, crash still reproduces - [x] HTMX/destroy race hypothesis investigation → `docs/filepond-race-investigation.md` (verdict: REFUTED) - [x] Diagnostic probes + deep analysis: confirmed load-file-error dispatch path, traced via error.stack to fileValidateSizeFilter line 389 - [x] **ROOT CAUSE FIXED**: fileValidateSizeFilter accessed `item.filename` but FileValidateSize's LOAD_FILE filter passes the raw File/Blob (which has `.name`, not `.filename`). Changed to `item.filename || item.name`. Also added null guard to getExt(). - [x] Defensive: Wt and Fr crash guards in filepond.min.js prevent action.status.main crash - [x] process.onload: replaced throw with error-marker return (prevents FilePond crash when server returns HTML) - [x] Routing: partage index.php now routes /partage/actions/* directly to PHP files (was treating 'actions' as a slug and returning full HTML page) - [x] **All crashes resolved** — verified working on partage form