mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
cleanup: remove _write guard — FilePond external API doesn't expose _write
ro=['fire','_read','_write'] is an exclusion list in Ee(), not an inclusion list. The external pond object has none of these. The only safe interception point is inside the closure (vendor patch), but the root-cause fix (fileValidateSizeFilter .filename → .name) already prevents the crash.
This commit is contained in:
10
TODO.md
10
TODO.md
@@ -18,6 +18,10 @@ Reference: `docs/autosave-system.md` → "HTMX v2 Migration Plan" section.
|
||||
|
||||
- [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; likely cause: Firefox XHR abort edge in server.load racing with file replacement)
|
||||
- [ ] Replace `server.load` with custom fetch-based function to bypass FilePond's `createResponse` path entirely (see investigation doc, recommended next step)
|
||||
- [ ] Fix `destroyFilePondsIn()` status check: `f.status === 7` (LOADING) not caught; needs to also cover LOADING and PROCESSING_QUEUED (status 9)
|
||||
- [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
|
||||
|
||||
Reference in New Issue
Block a user