From db1615f2ca5e7fae541d117f2f8db03fafc86057 Mon Sep 17 00:00:00 2001 From: djmaze Date: Tue, 24 Aug 2021 20:45:40 +0200 Subject: [PATCH] Bugfix: FolderList INBOX detection --- dev/Model/FolderCollection.js | 55 +++++++++++++++-------------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/dev/Model/FolderCollection.js b/dev/Model/FolderCollection.js index afda8e867..b38b7a457 100644 --- a/dev/Model/FolderCollection.js +++ b/dev/Model/FolderCollection.js @@ -20,19 +20,6 @@ import { i18n, trigger as translatorTrigger } from 'Common/Translator'; import { AbstractModel } from 'Knoin/AbstractModel'; const - ServerFolderType = { -// USER: 0, - INBOX: 1, - SENT: 2, - DRAFTS: 3, - SPAM: 4, // JUNK - TRASH: 5, -// IMPORTANT: 10, -// FLAGGED: 11, - ARCHIVE: 12 -// ,ALL: 13 - }, - normalizeFolder = sFolderFullNameRaw => ('' === sFolderFullNameRaw || UNUSED_OPTION_VALUE === sFolderFullNameRaw || null !== Cache.getFolderFromCacheList(sFolderFullNameRaw)) @@ -64,12 +51,17 @@ export class FolderCollectionModel extends AbstractCollectionModel const expandedFolders = Local.get(ClientSideKeyName.ExpandedFolders); if (object && object.SystemFolders) { let sf = object.SystemFolders; - SystemFolders = [0,0, - SettingsGet('SentFolder') || sf[ServerFolderType.SENT], - SettingsGet('DraftFolder') || sf[ServerFolderType.DRAFTS], - SettingsGet('SpamFolder') || sf[ServerFolderType.SPAM], - SettingsGet('TrashFolder') || sf[ServerFolderType.TRASH], - SettingsGet('ArchiveFolder') || sf[ServerFolderType.ARCHIVE] + SystemFolders = [ + /* USER */ 0, + /* INBOX */ sf[1], + SettingsGet('SentFolder') || sf[2], + SettingsGet('DraftFolder') || sf[3], + SettingsGet('SpamFolder') || sf[4], + SettingsGet('TrashFolder') || sf[5], + SettingsGet('ArchiveFolder') || sf[12] +// IMPORTANT: sf[10], +// FLAGGED: sf[11], +// ALL: sf[13] ]; } @@ -82,7 +74,7 @@ export class FolderCollectionModel extends AbstractCollectionModel } */ if (!oCacheFolder && (oCacheFolder = FolderModel.reviveFromJson(oFolder))) { - if (oFolder.FullNameRaw == SystemFolders[ServerFolderType.INBOX]) { + if (1 == SystemFolders.indexOf(oFolder.FullNameRaw)) { oCacheFolder.type(FolderType.Inbox); Cache.setFolderInboxName(oFolder.FullNameRaw); } @@ -132,11 +124,11 @@ export class FolderCollectionModel extends AbstractCollectionModel SettingsGet('ArchiveFolder')) ) { FolderUserStore.saveSystemFolders({ - SentFolder: SystemFolders[ServerFolderType.SENT] || null, - DraftFolder: SystemFolders[ServerFolderType.DRAFTS] || null, - SpamFolder: SystemFolders[ServerFolderType.SPAM] || null, - TrashFolder: SystemFolders[ServerFolderType.TRASH] || null, - ArchiveFolder: SystemFolders[ServerFolderType.ARCHIVE] || null + SentFolder: SystemFolders[FolderType.SENT] || null, + DraftFolder: SystemFolders[FolderType.DRAFTS] || null, + SpamFolder: SystemFolders[FolderType.SPAM] || null, + TrashFolder: SystemFolders[FolderType.TRASH] || null, + ArchiveFolder: SystemFolders[FolderType.ARCHIVE] || null }); } @@ -261,13 +253,12 @@ export class FolderModel extends AbstractModel { isInbox: () => FolderType.Inbox === folder.type(), hasSubscribedSubfolders: - () => - !!folder.subFolders().find( - oFolder => { - const subscribed = oFolder.hasSubscriptions(); - return !oFolder.isSystemFolder() && subscribed; - } - ), + () => !!folder.subFolders().find( + oFolder => { + const subscribed = oFolder.hasSubscriptions(); + return !oFolder.isSystemFolder() && subscribed; + } + ), hasSubscriptions: () => folder.subscribed() | folder.hasSubscribedSubfolders(),