@livetemplate/client 0.11.9 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/livetemplate-client.browser.js +5 -5
- package/dist/livetemplate-client.browser.js.map +3 -3
- package/dist/livetemplate-client.d.ts +14 -0
- package/dist/livetemplate-client.d.ts.map +1 -1
- package/dist/livetemplate-client.js +62 -0
- package/dist/livetemplate-client.js.map +1 -1
- package/dist/tests/upload-handler.test.js +91 -0
- package/dist/tests/upload-handler.test.js.map +1 -1
- package/dist/upload/types.d.ts +30 -0
- package/dist/upload/types.d.ts.map +1 -1
- package/dist/upload/upload-handler.d.ts +44 -0
- package/dist/upload/upload-handler.d.ts.map +1 -1
- package/dist/upload/upload-handler.js +255 -29
- package/dist/upload/upload-handler.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,8 +19,27 @@ export declare class UploadHandler {
|
|
|
19
19
|
private onProgress?;
|
|
20
20
|
private onComplete?;
|
|
21
21
|
private onError?;
|
|
22
|
+
private postMultipartUpload?;
|
|
23
|
+
private isConnected?;
|
|
24
|
+
private postUploadStart?;
|
|
25
|
+
private pendingHandshakes;
|
|
26
|
+
private pendingUploads;
|
|
27
|
+
private previewUrls;
|
|
22
28
|
private inputHandlers;
|
|
23
29
|
constructor(sendMessage: (message: any) => void, options?: UploadHandlerOptions);
|
|
30
|
+
/**
|
|
31
|
+
* Dispatch a valid upload entry to the transport its mode requires. The server
|
|
32
|
+
* declares the mode per-entry; existing entries that only carry `external`
|
|
33
|
+
* (no mode) fall back to the Direct path for backward compatibility.
|
|
34
|
+
*/
|
|
35
|
+
private dispatchUpload;
|
|
36
|
+
/**
|
|
37
|
+
* Mark an upload finished and run the shared post-completion steps: fire the
|
|
38
|
+
* onComplete callback, clear the file input, and schedule entry cleanup.
|
|
39
|
+
* Callers that talk to the server (chunked/external) send their own
|
|
40
|
+
* upload_complete message first.
|
|
41
|
+
*/
|
|
42
|
+
private finishUpload;
|
|
24
43
|
/**
|
|
25
44
|
* Initialize upload detection on file inputs with lvt-upload attribute
|
|
26
45
|
*/
|
|
@@ -29,6 +48,7 @@ export declare class UploadHandler {
|
|
|
29
48
|
* Start upload process for selected files
|
|
30
49
|
*/
|
|
31
50
|
startUpload(uploadName: string, files: File[]): Promise<void>;
|
|
51
|
+
private failStart;
|
|
32
52
|
/**
|
|
33
53
|
* Handle upload_start response from server
|
|
34
54
|
*/
|
|
@@ -37,6 +57,30 @@ export declare class UploadHandler {
|
|
|
37
57
|
* Upload file using external uploader (S3, etc.)
|
|
38
58
|
*/
|
|
39
59
|
private uploadExternal;
|
|
60
|
+
/**
|
|
61
|
+
* Upload a Proxied file as a single multipart POST to the live URL. The server
|
|
62
|
+
* streams the bytes straight to the app's OnUpload handler (zero local-disk
|
|
63
|
+
* staging) and dispatches the upload_<name>_complete action. Independent of
|
|
64
|
+
* the WebSocket, so it works with the socket disabled.
|
|
65
|
+
*/
|
|
66
|
+
private uploadProxied;
|
|
67
|
+
/**
|
|
68
|
+
* Preview mode: keep the file on the device and show it locally via an object
|
|
69
|
+
* URL. Nothing is uploaded — the server already has the file's metadata from
|
|
70
|
+
* the upload_start handshake. The blob URL is re-applied after server
|
|
71
|
+
* re-renders by hydratePreviews().
|
|
72
|
+
*/
|
|
73
|
+
private uploadPreview;
|
|
74
|
+
/** Point every preview placeholder for uploadName at the given object URL. */
|
|
75
|
+
private applyPreview;
|
|
76
|
+
/**
|
|
77
|
+
* Re-attach Preview-mode blob URLs after a DOM morph. The server re-renders
|
|
78
|
+
* the {{.lvt.UploadPreview}} placeholder with an empty src, so this restores
|
|
79
|
+
* the local object URL the visitor selected. Called by the client post-update.
|
|
80
|
+
*/
|
|
81
|
+
hydratePreviews(root: Element): void;
|
|
82
|
+
/** Revoke all preview object URLs. Called on teardown to avoid leaks. */
|
|
83
|
+
revokePreviews(): void;
|
|
40
84
|
/**
|
|
41
85
|
* Upload file in chunks via WebSocket
|
|
42
86
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-handler.d.ts","sourceRoot":"","sources":["../../upload/upload-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAKV,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EAErB,mBAAmB,EACnB,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"upload-handler.d.ts","sourceRoot":"","sources":["../../upload/upload-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAKV,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EAErB,mBAAmB,EACnB,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB,qBAAa,aAAa;IAwBtB,OAAO,CAAC,WAAW;IAvBrB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,UAAU,CAAC,CAA+B;IAClD,OAAO,CAAC,UAAU,CAAC,CAAuD;IAC1E,OAAO,CAAC,OAAO,CAAC,CAA8C;IAC9D,OAAO,CAAC,mBAAmB,CAAC,CAGT;IACnB,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,eAAe,CAAC,CAGU;IAClC,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,aAAa,CAA2D;gBAGtE,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,EAC3C,OAAO,GAAE,oBAAyB;IAcpC;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAgBpB;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,OAAO;IA+BvC;;OAEG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DnE,OAAO,CAAC,SAAS;IAsBjB;;OAEG;IACG,yBAAyB,CAC7B,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAwEhB;;OAEG;YACW,cAAc;IAiC5B;;;;;OAKG;YACW,aAAa;IAqC3B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAerB,8EAA8E;IAC9E,OAAO,CAAC,YAAY;IAyBpB;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAmBpC,yEAAyE;IACzE,cAAc,IAAI,IAAI;IAkBtB;;OAEG;YACW,aAAa;IA8D3B;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAY3D;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAmBnC;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE;IAU7C;;;OAGG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAoB/C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIxD;;;OAGG;IACH,OAAO,CAAC,cAAc;IAYtB;;;;;OAKG;IACH,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAa,GAAG,IAAI;IAoB/D;;OAEG;IACH,OAAO,CAAC,YAAY;CAarB"}
|
|
@@ -19,14 +19,75 @@ class UploadHandler {
|
|
|
19
19
|
this.pendingFiles = new Map(); // uploadName -> files
|
|
20
20
|
this.autoUploadConfig = new Map(); // uploadName -> autoUpload
|
|
21
21
|
this.uploaders = new Map();
|
|
22
|
+
this.pendingHandshakes = new Set();
|
|
23
|
+
this.pendingUploads = new Set(); // in-flight proxied fetches
|
|
24
|
+
this.previewUrls = new Map(); // uploadName -> object URL
|
|
22
25
|
this.inputHandlers = new WeakMap();
|
|
23
26
|
this.chunkSize = options.chunkSize || 256 * 1024; // 256KB default
|
|
24
27
|
this.onProgress = options.onProgress;
|
|
25
28
|
this.onComplete = options.onComplete;
|
|
26
29
|
this.onError = options.onError;
|
|
30
|
+
this.postMultipartUpload = options.postMultipartUpload;
|
|
31
|
+
this.isConnected = options.isConnected;
|
|
32
|
+
this.postUploadStart = options.postUploadStart;
|
|
27
33
|
// Register default uploaders
|
|
28
34
|
this.uploaders.set("s3", new s3_uploader_1.S3Uploader());
|
|
29
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Dispatch a valid upload entry to the transport its mode requires. The server
|
|
38
|
+
* declares the mode per-entry; existing entries that only carry `external`
|
|
39
|
+
* (no mode) fall back to the Direct path for backward compatibility.
|
|
40
|
+
*/
|
|
41
|
+
dispatchUpload(entry) {
|
|
42
|
+
switch (entry.mode) {
|
|
43
|
+
case "preview":
|
|
44
|
+
this.uploadPreview(entry);
|
|
45
|
+
return;
|
|
46
|
+
case "proxied":
|
|
47
|
+
void this.uploadProxied(entry);
|
|
48
|
+
return;
|
|
49
|
+
case "direct":
|
|
50
|
+
if (entry.external) {
|
|
51
|
+
void this.uploadExternal(entry, entry.external);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// Direct requires presign metadata; surface the misconfig instead of
|
|
55
|
+
// silently abandoning the entry.
|
|
56
|
+
const msg = "direct upload mode requires presigned upload metadata";
|
|
57
|
+
entry.error = msg;
|
|
58
|
+
if (this.onError)
|
|
59
|
+
this.onError(entry, msg);
|
|
60
|
+
this.cleanupEntries(entry.uploadName);
|
|
61
|
+
}
|
|
62
|
+
return;
|
|
63
|
+
case "volume":
|
|
64
|
+
default:
|
|
65
|
+
// entry.mode is normalized to a concrete mode at ingest (see
|
|
66
|
+
// handleUploadStartResponse), so the default is just the Volume path.
|
|
67
|
+
void this.uploadChunked(entry);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Mark an upload finished and run the shared post-completion steps: fire the
|
|
72
|
+
* onComplete callback, clear the file input, and schedule entry cleanup.
|
|
73
|
+
* Callers that talk to the server (chunked/external) send their own
|
|
74
|
+
* upload_complete message first.
|
|
75
|
+
*/
|
|
76
|
+
finishUpload(entry) {
|
|
77
|
+
entry.done = true;
|
|
78
|
+
entry.progress = 100;
|
|
79
|
+
// Emit a final 100% tick so every completed path (proxied included) sends it
|
|
80
|
+
// — a progress bar waiting on 100% won't hang. Idempotent for chunked/external
|
|
81
|
+
// which already reach 100% during transfer.
|
|
82
|
+
if (this.onProgress) {
|
|
83
|
+
this.onProgress(entry);
|
|
84
|
+
}
|
|
85
|
+
if (this.onComplete) {
|
|
86
|
+
this.onComplete(entry.uploadName, [entry]);
|
|
87
|
+
}
|
|
88
|
+
this.clearFileInput(entry.uploadName);
|
|
89
|
+
this.cleanupEntries(entry.uploadName);
|
|
90
|
+
}
|
|
30
91
|
/**
|
|
31
92
|
* Initialize upload detection on file inputs with lvt-upload attribute
|
|
32
93
|
*/
|
|
@@ -67,14 +128,62 @@ class UploadHandler {
|
|
|
67
128
|
type: file.type || "application/octet-stream",
|
|
68
129
|
size: file.size,
|
|
69
130
|
}));
|
|
70
|
-
// Send upload_start message to server
|
|
71
131
|
const startMessage = {
|
|
72
132
|
action: "upload_start",
|
|
73
133
|
upload_name: uploadName,
|
|
74
134
|
files: fileMetadata,
|
|
75
135
|
};
|
|
136
|
+
// Over an open WebSocket the server replies with a separate
|
|
137
|
+
// UploadStartResponse message (routed to handleUploadStartResponse). With
|
|
138
|
+
// the socket down, post the handshake over HTTP and handle the response
|
|
139
|
+
// inline so mode dispatch (and Direct presign) still work.
|
|
140
|
+
const connected = this.isConnected ? this.isConnected() : true;
|
|
141
|
+
if (!connected) {
|
|
142
|
+
if (!this.postUploadStart) {
|
|
143
|
+
this.failStart(uploadName, files, "upload unavailable: WebSocket is closed and no HTTP fallback is configured");
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const controller = new AbortController();
|
|
147
|
+
this.pendingHandshakes.add(controller);
|
|
148
|
+
try {
|
|
149
|
+
const response = await this.postUploadStart(startMessage, controller.signal);
|
|
150
|
+
// Skip if teardown aborted us mid-flight, so we don't create a preview
|
|
151
|
+
// object URL after revokePreviews already ran.
|
|
152
|
+
if (!controller.signal.aborted) {
|
|
153
|
+
await this.handleUploadStartResponse(response);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
this.failStart(uploadName, files, error instanceof Error ? error.message : String(error));
|
|
158
|
+
}
|
|
159
|
+
finally {
|
|
160
|
+
this.pendingHandshakes.delete(controller);
|
|
161
|
+
}
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
76
164
|
this.sendMessage(startMessage);
|
|
77
165
|
}
|
|
166
|
+
// failStart reports a handshake failure on every selected file and clears the
|
|
167
|
+
// pending set, so a startUpload that can't reach the server isn't silent.
|
|
168
|
+
failStart(uploadName, files, message) {
|
|
169
|
+
this.pendingFiles.delete(uploadName);
|
|
170
|
+
const onError = this.onError;
|
|
171
|
+
if (!onError)
|
|
172
|
+
return;
|
|
173
|
+
// Distinct synthetic ids per file (no server entry exists yet) so a consumer
|
|
174
|
+
// keying per-file error state doesn't collapse a multi-file failure.
|
|
175
|
+
files.forEach((file, i) => {
|
|
176
|
+
onError({
|
|
177
|
+
id: `pending-${uploadName}-${i}`,
|
|
178
|
+
file,
|
|
179
|
+
uploadName,
|
|
180
|
+
progress: 0,
|
|
181
|
+
bytesUploaded: 0,
|
|
182
|
+
valid: false,
|
|
183
|
+
done: false,
|
|
184
|
+
}, message);
|
|
185
|
+
});
|
|
186
|
+
}
|
|
78
187
|
/**
|
|
79
188
|
* Handle upload_start response from server
|
|
80
189
|
*/
|
|
@@ -114,6 +223,10 @@ class UploadHandler {
|
|
|
114
223
|
valid: info.valid,
|
|
115
224
|
done: false,
|
|
116
225
|
error: info.error,
|
|
226
|
+
// Normalize legacy responses (no mode) at the ingest boundary: a
|
|
227
|
+
// presigned entry is Direct, otherwise server-side Volume. Downstream
|
|
228
|
+
// dispatch then only ever sees a concrete mode.
|
|
229
|
+
mode: info.mode ?? (info.external ? "direct" : "volume"),
|
|
117
230
|
external: info.external,
|
|
118
231
|
};
|
|
119
232
|
this.entries.set(entry.id, entry);
|
|
@@ -125,16 +238,10 @@ class UploadHandler {
|
|
|
125
238
|
}
|
|
126
239
|
continue;
|
|
127
240
|
}
|
|
128
|
-
// Only start upload immediately if autoUpload is true
|
|
129
|
-
//
|
|
241
|
+
// Only start upload immediately if autoUpload is true; otherwise the entry
|
|
242
|
+
// waits for an explicit form-submit trigger.
|
|
130
243
|
if (info.auto_upload) {
|
|
131
|
-
|
|
132
|
-
if (info.external) {
|
|
133
|
-
this.uploadExternal(entry, info.external);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
this.uploadChunked(entry);
|
|
137
|
-
}
|
|
244
|
+
this.dispatchUpload(entry);
|
|
138
245
|
}
|
|
139
246
|
}
|
|
140
247
|
}
|
|
@@ -156,13 +263,48 @@ class UploadHandler {
|
|
|
156
263
|
entry_ids: [entry.id],
|
|
157
264
|
};
|
|
158
265
|
this.sendMessage(completeMessage);
|
|
159
|
-
|
|
160
|
-
|
|
266
|
+
this.finishUpload(entry);
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
270
|
+
entry.error = errorMsg;
|
|
271
|
+
if (this.onError) {
|
|
272
|
+
this.onError(entry, errorMsg);
|
|
161
273
|
}
|
|
162
|
-
//
|
|
163
|
-
this.
|
|
164
|
-
|
|
274
|
+
// Schedule cleanup after error
|
|
275
|
+
this.cleanupEntries(entry.uploadName);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Upload a Proxied file as a single multipart POST to the live URL. The server
|
|
280
|
+
* streams the bytes straight to the app's OnUpload handler (zero local-disk
|
|
281
|
+
* staging) and dispatches the upload_<name>_complete action. Independent of
|
|
282
|
+
* the WebSocket, so it works with the socket disabled.
|
|
283
|
+
*/
|
|
284
|
+
async uploadProxied(entry) {
|
|
285
|
+
if (!this.postMultipartUpload) {
|
|
286
|
+
const msg = "Proxied upload unavailable: no multipart transport configured";
|
|
287
|
+
entry.error = msg;
|
|
288
|
+
if (this.onError)
|
|
289
|
+
this.onError(entry, msg);
|
|
165
290
|
this.cleanupEntries(entry.uploadName);
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
entry.abortController = new AbortController();
|
|
294
|
+
this.pendingUploads.add(entry.abortController);
|
|
295
|
+
// A single fetch has no native upload progress, so emit a start event (0%)
|
|
296
|
+
// and let finishUpload emit 100% — a progress bar won't sit frozen with no
|
|
297
|
+
// signal at all.
|
|
298
|
+
if (this.onProgress)
|
|
299
|
+
this.onProgress(entry);
|
|
300
|
+
try {
|
|
301
|
+
const formData = new FormData();
|
|
302
|
+
// Write value fields BEFORE the file part so the server resolves the
|
|
303
|
+
// action regardless of multipart part ordering.
|
|
304
|
+
formData.set("lvt-action", `upload_${entry.uploadName}_complete`);
|
|
305
|
+
formData.set(entry.uploadName, entry.file, entry.file.name);
|
|
306
|
+
await this.postMultipartUpload(formData, entry.abortController.signal);
|
|
307
|
+
this.finishUpload(entry);
|
|
166
308
|
}
|
|
167
309
|
catch (error) {
|
|
168
310
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
@@ -170,9 +312,104 @@ class UploadHandler {
|
|
|
170
312
|
if (this.onError) {
|
|
171
313
|
this.onError(entry, errorMsg);
|
|
172
314
|
}
|
|
173
|
-
// Schedule cleanup after error
|
|
174
315
|
this.cleanupEntries(entry.uploadName);
|
|
175
316
|
}
|
|
317
|
+
finally {
|
|
318
|
+
if (entry.abortController)
|
|
319
|
+
this.pendingUploads.delete(entry.abortController);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Preview mode: keep the file on the device and show it locally via an object
|
|
324
|
+
* URL. Nothing is uploaded — the server already has the file's metadata from
|
|
325
|
+
* the upload_start handshake. The blob URL is re-applied after server
|
|
326
|
+
* re-renders by hydratePreviews().
|
|
327
|
+
*/
|
|
328
|
+
uploadPreview(entry) {
|
|
329
|
+
// Revoke any prior preview for this field to avoid leaking object URLs.
|
|
330
|
+
const prev = this.previewUrls.get(entry.uploadName);
|
|
331
|
+
if (prev)
|
|
332
|
+
URL.revokeObjectURL(prev);
|
|
333
|
+
const url = URL.createObjectURL(entry.file);
|
|
334
|
+
this.previewUrls.set(entry.uploadName, url);
|
|
335
|
+
this.applyPreview(entry.uploadName, url);
|
|
336
|
+
// Share the completion path with every other mode (progress 100% tick,
|
|
337
|
+
// onComplete, input clear, cleanup). The blob URL lives in previewUrls, not
|
|
338
|
+
// the input, so it survives the clear.
|
|
339
|
+
this.finishUpload(entry);
|
|
340
|
+
}
|
|
341
|
+
/** Point every preview placeholder for uploadName at the given object URL. */
|
|
342
|
+
applyPreview(uploadName, url) {
|
|
343
|
+
// Escape the field name so a name with a quote/bracket can't break or inject
|
|
344
|
+
// into the selector. Prefer CSS.escape; without it, only proceed for a simple
|
|
345
|
+
// identifier (the normal case) and otherwise skip rather than run a
|
|
346
|
+
// possibly-broken selector (hydratePreviews still re-applies via attr reads).
|
|
347
|
+
let safeName;
|
|
348
|
+
if (typeof CSS !== "undefined" && CSS.escape) {
|
|
349
|
+
safeName = CSS.escape(uploadName);
|
|
350
|
+
}
|
|
351
|
+
else if (/^[\w-]+$/.test(uploadName)) {
|
|
352
|
+
safeName = uploadName;
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
const els = document.querySelectorAll(`[data-lvt-upload-preview="${safeName}"]`);
|
|
358
|
+
els.forEach((el) => {
|
|
359
|
+
if (el instanceof HTMLImageElement) {
|
|
360
|
+
if (el.src !== url)
|
|
361
|
+
el.src = url;
|
|
362
|
+
}
|
|
363
|
+
else if (el.getAttribute("src") !== url) {
|
|
364
|
+
el.setAttribute("src", url);
|
|
365
|
+
}
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Re-attach Preview-mode blob URLs after a DOM morph. The server re-renders
|
|
370
|
+
* the {{.lvt.UploadPreview}} placeholder with an empty src, so this restores
|
|
371
|
+
* the local object URL the visitor selected. Called by the client post-update.
|
|
372
|
+
*/
|
|
373
|
+
hydratePreviews(root) {
|
|
374
|
+
const apply = (el) => {
|
|
375
|
+
const name = el.getAttribute("data-lvt-upload-preview");
|
|
376
|
+
if (!name)
|
|
377
|
+
return;
|
|
378
|
+
const url = this.previewUrls.get(name);
|
|
379
|
+
if (!url)
|
|
380
|
+
return;
|
|
381
|
+
if (el instanceof HTMLImageElement) {
|
|
382
|
+
if (el.src !== url)
|
|
383
|
+
el.src = url;
|
|
384
|
+
}
|
|
385
|
+
else if (el.getAttribute("src") !== url) {
|
|
386
|
+
el.setAttribute("src", url);
|
|
387
|
+
}
|
|
388
|
+
};
|
|
389
|
+
// querySelectorAll skips the root itself, so match it explicitly.
|
|
390
|
+
if (root.matches("[data-lvt-upload-preview]"))
|
|
391
|
+
apply(root);
|
|
392
|
+
root
|
|
393
|
+
.querySelectorAll("[data-lvt-upload-preview]")
|
|
394
|
+
.forEach(apply);
|
|
395
|
+
}
|
|
396
|
+
/** Revoke all preview object URLs. Called on teardown to avoid leaks. */
|
|
397
|
+
revokePreviews() {
|
|
398
|
+
// Abort in-flight offline handshakes and proxied upload fetches first, so a
|
|
399
|
+
// late resolution doesn't create a preview URL or apply a tree update after
|
|
400
|
+
// the client has torn down.
|
|
401
|
+
for (const controller of this.pendingHandshakes) {
|
|
402
|
+
controller.abort();
|
|
403
|
+
}
|
|
404
|
+
this.pendingHandshakes.clear();
|
|
405
|
+
for (const controller of this.pendingUploads) {
|
|
406
|
+
controller.abort();
|
|
407
|
+
}
|
|
408
|
+
this.pendingUploads.clear();
|
|
409
|
+
for (const url of this.previewUrls.values()) {
|
|
410
|
+
URL.revokeObjectURL(url);
|
|
411
|
+
}
|
|
412
|
+
this.previewUrls.clear();
|
|
176
413
|
}
|
|
177
414
|
/**
|
|
178
415
|
* Upload file in chunks via WebSocket
|
|
@@ -218,13 +455,7 @@ class UploadHandler {
|
|
|
218
455
|
entry_ids: [id],
|
|
219
456
|
};
|
|
220
457
|
this.sendMessage(completeMessage);
|
|
221
|
-
|
|
222
|
-
this.onComplete(entry.uploadName, [entry]);
|
|
223
|
-
}
|
|
224
|
-
// Clear the file input to prevent re-upload of the same file
|
|
225
|
-
this.clearFileInput(entry.uploadName);
|
|
226
|
-
// Schedule cleanup after completion
|
|
227
|
-
this.cleanupEntries(entry.uploadName);
|
|
458
|
+
this.finishUpload(entry);
|
|
228
459
|
}
|
|
229
460
|
catch (error) {
|
|
230
461
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
@@ -297,12 +528,7 @@ class UploadHandler {
|
|
|
297
528
|
}
|
|
298
529
|
// Start uploads
|
|
299
530
|
for (const entry of pendingEntries) {
|
|
300
|
-
|
|
301
|
-
this.uploadExternal(entry, entry.external);
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
this.uploadChunked(entry);
|
|
305
|
-
}
|
|
531
|
+
this.dispatchUpload(entry);
|
|
306
532
|
}
|
|
307
533
|
}
|
|
308
534
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-handler.js","sourceRoot":"","sources":["../../upload/upload-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upload-handler.js","sourceRoot":"","sources":["../../upload/upload-handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED