From 5357be4741cf337bf8cc53a3feb108ff1dbb37ce Mon Sep 17 00:00:00 2001 From: Abdullah Atta Date: Sat, 3 Aug 2024 11:20:42 +0500 Subject: [PATCH] web: cancel attachments caching on disabling offline mode --- apps/web/src/stores/setting-store.ts | 5 ++++- packages/core/src/api/sync/index.ts | 8 +++----- packages/core/src/collections/attachments.ts | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/web/src/stores/setting-store.ts b/apps/web/src/stores/setting-store.ts index 046d22c3a..316d5fd24 100644 --- a/apps/web/src/stores/setting-store.ts +++ b/apps/web/src/stores/setting-store.ts @@ -209,10 +209,13 @@ class SettingStore extends BaseStore { await desktop?.updater.toggleAutoUpdates.mutate({ enabled: !autoUpdates }); }; - toggleFullOfflineMode = async () => { + toggleFullOfflineMode = () => { const isFullOfflineMode = this.get().isFullOfflineMode; this.set({ isFullOfflineMode: !isFullOfflineMode }); Config.set("fullOfflineMode", !isFullOfflineMode); + + if (isFullOfflineMode) db.fs().cancel("offline-mode"); + else db.attachments.cacheAttachments(); }; } diff --git a/packages/core/src/api/sync/index.ts b/packages/core/src/api/sync/index.ts index 6350bfcb7..330afea4b 100644 --- a/packages/core/src/api/sync/index.ts +++ b/packages/core/src/api/sync/index.ts @@ -208,11 +208,9 @@ class Sync { if (this.uncachedAttachments.length > 0 && options.offlineMode) { await this.db .fs() - .queueDownloads( - this.uncachedAttachments, - "download-uncached-attachments", - { readOnDownload: false } - ); + .queueDownloads(this.uncachedAttachments, "offline-mode", { + readOnDownload: false + }); this.uncachedAttachments = []; } } diff --git a/packages/core/src/collections/attachments.ts b/packages/core/src/collections/attachments.ts index 9094431a4..2eef19330 100644 --- a/packages/core/src/collections/attachments.ts +++ b/packages/core/src/collections/attachments.ts @@ -364,7 +364,7 @@ export class Attachments implements ICollection { filename: a.hash, chunkSize: a.chunkSize })), - "download-all-attachments", + "offline-mode", { readOnDownload: false } ); }