fixed offline mode issue
This commit is contained in:
parent
556a0c0700
commit
ff36f318fc
@ -242,7 +242,8 @@ class DownloadManagerClass {
|
||||
const job = this.queue.shift();
|
||||
if (!job) break;
|
||||
|
||||
this.activeDownloads.set(job.url, job);
|
||||
// Use storageKey as Map key (stable) instead of url (can change on fallback)
|
||||
this.activeDownloads.set(job.storageKey, job);
|
||||
this.downloadAsset(job);
|
||||
}
|
||||
|
||||
@ -466,7 +467,7 @@ class DownloadManagerClass {
|
||||
job.reject?.(error instanceof Error ? error : new Error(errorMessage));
|
||||
}
|
||||
} finally {
|
||||
this.activeDownloads.delete(job.url);
|
||||
this.activeDownloads.delete(job.storageKey);
|
||||
downloadEventBus.emitQueueUpdate();
|
||||
this.processQueue();
|
||||
}
|
||||
@ -507,12 +508,12 @@ class DownloadManagerClass {
|
||||
* Cancel a specific download
|
||||
*/
|
||||
cancelJob(jobId: string): void {
|
||||
// Check active downloads
|
||||
// Check active downloads (keyed by storageKey)
|
||||
const entries = Array.from(this.activeDownloads.entries());
|
||||
for (const [url, job] of entries) {
|
||||
for (const [storageKey, job] of entries) {
|
||||
if (job.id === jobId) {
|
||||
job.abortController?.abort();
|
||||
this.activeDownloads.delete(url);
|
||||
this.activeDownloads.delete(storageKey);
|
||||
OfflineDbManager.removeFromQueue(jobId);
|
||||
downloadEventBus.emitQueueUpdate();
|
||||
return;
|
||||
@ -532,12 +533,12 @@ class DownloadManagerClass {
|
||||
* Cancel all downloads for a project
|
||||
*/
|
||||
cancelProjectDownloads(projectId: string): void {
|
||||
// Cancel active downloads
|
||||
// Cancel active downloads (keyed by storageKey)
|
||||
const entries = Array.from(this.activeDownloads.entries());
|
||||
for (const [url, job] of entries) {
|
||||
for (const [storageKey, job] of entries) {
|
||||
if (job.projectId === projectId) {
|
||||
job.abortController?.abort();
|
||||
this.activeDownloads.delete(url);
|
||||
this.activeDownloads.delete(storageKey);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user