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:
@@ -142,6 +142,7 @@
|
||||
* Get extension from filename (lowercase).
|
||||
*/
|
||||
function getExt(name) {
|
||||
if (!name) return "";
|
||||
var m = name.match(/\.([^./]+)$/);
|
||||
return m ? m[1].toLowerCase() : "";
|
||||
}
|
||||
@@ -253,10 +254,11 @@
|
||||
onload: (response) => {
|
||||
var id = response.trim();
|
||||
// Guard: if the server returned an error message disguised as 200,
|
||||
// treat it as a processing error so FilePond doesn't treat it as a serverId.
|
||||
// return a distinguishable error marker instead of a valid serverId.
|
||||
// Throwing here crashes FilePond internally (no try/catch in the wrapper).
|
||||
if (id.length > 64 || /[<>\n\r]/.test(id)) {
|
||||
console.error("[filepond] process onload | unexpected response | body=" + id.substring(0, 200));
|
||||
throw new Error("Réponse serveur inattendue.");
|
||||
return "__error__" + id.substring(0, 32);
|
||||
}
|
||||
console.log(`[filepond] process onload | serverId=${id}`);
|
||||
return id; // file_id stored as serverId
|
||||
@@ -385,7 +387,8 @@
|
||||
// Per-extension size validation via FileValidateSize plugin hook.
|
||||
// Falls back to beforeAddFile for silent rejection (the plugin shows the error).
|
||||
fileValidateSizeFilter: (item) => {
|
||||
var ext = getExt(item.filename);
|
||||
// item may be a raw File/Blob (.name) or a FilePond item wrapper (.filename)
|
||||
var ext = getExt(item.filename || item.name);
|
||||
if (ext && perExtMax[ext]) {
|
||||
return parseSize(perExtMax[ext]); // per-extension cap for this item
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user