Merge pull request #9307 from streetwriters/fix-offline-mode-cache-attachments

mobile: fix switching app from background to foreground starts a new attachment cache download group
This commit is contained in:
Ammar Ahmed
2026-02-20 08:12:57 +05:00
committed by GitHub
2 changed files with 26 additions and 3 deletions

View File

@@ -561,6 +561,7 @@ export const useAppEvents = () => {
initialUrl: string;
backupDidWait: boolean;
isConnectingSSE: boolean;
attachmentsCachedOfflineMode: boolean;
}>
>({});
@@ -655,7 +656,11 @@ export const useAppEvents = () => {
}
}
if (SettingsService.getProperty("offlineMode")) {
if (
SettingsService.getProperty("offlineMode") &&
!refValues.current.attachmentsCachedOfflineMode
) {
refValues.current.attachmentsCachedOfflineMode = true;
db.attachments.cacheAttachments().catch(() => {
/* empty */
});

View File

@@ -65,7 +65,16 @@ export class FileStorage {
let current = 0;
const token = await this.tokenManager.getAccessToken();
const total = files.length;
const group = this.groups.downloads.get(groupId) || new Set();
if (this.groups.downloads.has(groupId)) {
logger.debug("[queueDownloads] group already exists", {
groupId
});
return this.groups.downloads.get(groupId);
}
const group = new Set<string>();
files.forEach((f) => group.add(f.filename));
this.groups.downloads.set(groupId, group);
@@ -145,7 +154,16 @@ export class FileStorage {
let current = 0;
const token = await this.tokenManager.getAccessToken();
const total = files.length;
const group = this.groups.uploads.get(groupId) || new Set();
if (this.groups.uploads.has(groupId)) {
logger.debug("[queueUploads] group already exists", {
groupId
});
return this.groups.uploads.get(groupId);
}
const group = new Set<string>();
files.forEach((f) => group.add(f.filename));
this.groups.uploads.set(groupId, group);