djmaze 2020-12-10 14:19:03 +01:00
parent 4321c11622
commit d34729a1ae
2 changed files with 8 additions and 8 deletions

View file

@ -43,8 +43,7 @@ export class FolderCollectionModel extends AbstractCollectionModel
* @returns {FolderCollectionModel} * @returns {FolderCollectionModel}
*/ */
static reviveFromJson(object) { static reviveFromJson(object) {
const expandedFolders = Local.get(ClientSideKeyName.ExpandedFolders), const expandedFolders = Local.get(ClientSideKeyName.ExpandedFolders);
bDisplaySpecSetting = FolderStore.displaySpecSetting();
return super.reviveFromJson(object, (oFolder, self) => { return super.reviveFromJson(object, (oFolder, self) => {
let oCacheFolder = Cache.getFolderFromCacheList(oFolder.FullNameRaw); let oCacheFolder = Cache.getFolderFromCacheList(oFolder.FullNameRaw);
/* /*
@ -62,8 +61,6 @@ export class FolderCollectionModel extends AbstractCollectionModel
} }
if (oCacheFolder) { if (oCacheFolder) {
oCacheFolder.checkable(bDisplaySpecSetting ? !!oFolder.Checkable : true);
oCacheFolder.collapsed(!expandedFolders oCacheFolder.collapsed(!expandedFolders
|| !Array.isArray(expandedFolders) || !Array.isArray(expandedFolders)
|| !expandedFolders.includes(oCacheFolder.fullNameHash)); || !expandedFolders.includes(oCacheFolder.fullNameHash));

View file

@ -8,7 +8,11 @@ import { getFolderInboxName, getFolderFromCacheList } from 'Common/Cache';
class FolderUserStore { class FolderUserStore {
constructor() { constructor() {
ko.addObservablesTo(this, { ko.addObservablesTo(this, {
displaySpecSetting: true, // To use "checkable" option in /#/settings/folders
// When true, getNextFolderNames only lists system and "checkable" folders
// and affects the update of unseen count
// Auto set to true when amount of folders > folderSpecLimit to prevent requests overload
displaySpecSetting: false,
sentFolder: '', sentFolder: '',
draftFolder: '', draftFolder: '',
@ -157,6 +161,7 @@ class FolderUserStore {
timeout = utc - 60000 * 5, timeout = utc - 60000 * 5,
timeouts = [], timeouts = [],
inboxFolderName = getFolderInboxName(), inboxFolderName = getFolderInboxName(),
bDisplaySpecSetting = this.displaySpecSetting(),
fSearchFunction = (list) => { fSearchFunction = (list) => {
list.forEach(folder => { list.forEach(folder => {
if ( if (
@ -165,9 +170,7 @@ class FolderUserStore {
folder.selectable && folder.selectable &&
folder.exists && folder.exists &&
timeout > folder.interval && timeout > folder.interval &&
// https://github.com/the-djmaze/snappymail/issues/47 (folder.isSystemFolder() || (folder.subscribed() && (folder.checkable() || !bDisplaySpecSetting)))
// (folder.isSystemFolder() || (folder.subscribed() && folder.checkable()))
(folder.isSystemFolder() || folder.subscribed())
) { ) {
timeouts.push([folder.interval, folder.fullNameRaw]); timeouts.push([folder.interval, folder.fullNameRaw]);
} }