mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 20:19:22 +03:00
Rename Folder Hash to ETag as it is the more obvious name
This commit is contained in:
parent
1a05a0adf2
commit
fb2eb62f83
16 changed files with 74 additions and 69 deletions
|
|
@ -34,28 +34,26 @@ export const
|
|||
setFolderInboxName = name => inboxFolderName = name,
|
||||
|
||||
/**
|
||||
* @param {string} folderHash
|
||||
* @param {string} fullNameHash
|
||||
* @returns {string}
|
||||
*/
|
||||
getFolderFullName = folderHash => (folderHash && FOLDERS_NAME_CACHE[folderHash]) || '',
|
||||
getFolderFullName = fullNameHash => (fullNameHash && FOLDERS_NAME_CACHE[fullNameHash]) || '',
|
||||
|
||||
/**
|
||||
* @param {string} folderHash
|
||||
* @param {string} folderFullName
|
||||
* @param {?FolderModel} folder
|
||||
*/
|
||||
setFolder = folder => {
|
||||
folder.hash = '';
|
||||
folder.etag = '';
|
||||
FOLDERS_CACHE[folder.fullName] = folder;
|
||||
FOLDERS_NAME_CACHE[folder.fullNameHash] = folder.fullName;
|
||||
},
|
||||
|
||||
/**
|
||||
* @param {string} folderFullName
|
||||
* @param {string} folderHash
|
||||
* @param {string} folderETag
|
||||
*/
|
||||
setFolderHash = (folderFullName, folderHash) =>
|
||||
FOLDERS_CACHE[folderFullName] && (FOLDERS_CACHE[folderFullName].hash = folderHash),
|
||||
setFolderETag = (folderFullName, folderETag) =>
|
||||
FOLDERS_CACHE[folderFullName] && (FOLDERS_CACHE[folderFullName].etag = folderETag),
|
||||
|
||||
/**
|
||||
* @param {string} folderFullName
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { isArray, arrayLength } from 'Common/Utils';
|
||||
import {
|
||||
MessageFlagsCache,
|
||||
setFolderHash,
|
||||
setFolderETag,
|
||||
getFolderInboxName,
|
||||
getFolderFromCacheList
|
||||
} from 'Common/Cache';
|
||||
|
|
@ -126,13 +126,13 @@ folderInformation = (folder, list) => {
|
|||
const result = data.Result,
|
||||
folderFromCache = getFolderFromCacheList(result.folder);
|
||||
if (folderFromCache) {
|
||||
const oldHash = folderFromCache.hash,
|
||||
const oldHash = folderFromCache.etag,
|
||||
unreadCountChange = (folderFromCache.unreadEmails() !== result.unreadEmails);
|
||||
|
||||
// folderFromCache.revivePropertiesFromJson(result);
|
||||
folderFromCache.expires = Date.now();
|
||||
folderFromCache.uidNext = result.uidNext;
|
||||
folderFromCache.hash = result.hash;
|
||||
folderFromCache.etag = result.etag;
|
||||
folderFromCache.totalEmails(result.totalEmails);
|
||||
folderFromCache.unreadEmails(result.unreadEmails);
|
||||
|
||||
|
|
@ -148,7 +148,7 @@ folderInformation = (folder, list) => {
|
|||
|
||||
MessagelistUserStore.notifyNewMessages(folderFromCache.fullName, result.newMessages);
|
||||
|
||||
if (!oldHash || unreadCountChange || result.hash !== oldHash) {
|
||||
if (!oldHash || unreadCountChange || result.etag !== oldHash) {
|
||||
if (folderFromCache.fullName === FolderUserStore.currentFolderFullName()) {
|
||||
MessagelistUserStore.reload();
|
||||
/*
|
||||
|
|
@ -181,21 +181,21 @@ folderInformationMultiply = (boot = false) => {
|
|||
if (!iError && arrayLength(oData.Result)) {
|
||||
const utc = Date.now();
|
||||
oData.Result.forEach(item => {
|
||||
const folder = getFolderFromCacheList(item.folder);
|
||||
const folder = getFolderFromCacheList(item.name);
|
||||
|
||||
if (folder) {
|
||||
const oldHash = folder.hash,
|
||||
const oldHash = folder.etag,
|
||||
unreadCountChange = folder.unreadEmails() !== item.unreadEmails;
|
||||
|
||||
// folder.revivePropertiesFromJson(item);
|
||||
folder.expires = utc;
|
||||
folder.hash = item.hash;
|
||||
folder.etag = item.etag;
|
||||
folder.totalEmails(item.totalEmails);
|
||||
folder.unreadEmails(item.unreadEmails);
|
||||
|
||||
unreadCountChange && MessageFlagsCache.clearFolder(folder.fullName);
|
||||
|
||||
if (!oldHash || item.hash !== oldHash) {
|
||||
if (!oldHash || item.etag !== oldHash) {
|
||||
if (folder.fullName === FolderUserStore.currentFolderFullName()) {
|
||||
MessagelistUserStore.reload();
|
||||
}
|
||||
|
|
@ -217,13 +217,13 @@ folderInformationMultiply = (boot = false) => {
|
|||
|
||||
moveOrDeleteResponseHelper = (iError, oData) => {
|
||||
if (iError) {
|
||||
setFolderHash(FolderUserStore.currentFolderFullName(), '');
|
||||
setFolderETag(FolderUserStore.currentFolderFullName(), '');
|
||||
alert(getNotification(iError));
|
||||
} else if (FolderUserStore.currentFolder()) {
|
||||
if (2 === arrayLength(oData.Result)) {
|
||||
setFolderHash(oData.Result[0], oData.Result[1]);
|
||||
setFolderETag(oData.Result[0], oData.Result[1]);
|
||||
} else {
|
||||
setFolderHash(FolderUserStore.currentFolderFullName(), '');
|
||||
setFolderETag(FolderUserStore.currentFolderFullName(), '');
|
||||
}
|
||||
MessagelistUserStore.reload(!MessagelistUserStore.length);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -127,8 +127,8 @@ export class FolderCollectionModel extends AbstractCollectionModel
|
|||
let oCacheFolder = getFolderFromCacheList(oFolder.fullName);
|
||||
if (oCacheFolder) {
|
||||
// oCacheFolder.revivePropertiesFromJson(oFolder);
|
||||
if (oFolder.hash) {
|
||||
oCacheFolder.hash = oFolder.hash;
|
||||
if (oFolder.etag) {
|
||||
oCacheFolder.etag = oFolder.etag;
|
||||
}
|
||||
if (null != oFolder.totalEmails) {
|
||||
oCacheFolder.totalEmails(oFolder.totalEmails);
|
||||
|
|
@ -300,7 +300,7 @@ export class FolderModel extends AbstractModel {
|
|||
|
||||
this.exists = true;
|
||||
|
||||
this.hash = '';
|
||||
this.etag = '';
|
||||
this.id = 0;
|
||||
this.uidNext = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -13,17 +13,16 @@ export class MessageCollectionModel extends AbstractCollectionModel
|
|||
/*
|
||||
constructor() {
|
||||
super();
|
||||
this.Filtered
|
||||
this.filtered
|
||||
this.folder
|
||||
this.folderHash
|
||||
this.folderInfo
|
||||
this.totalEmails
|
||||
this.unreadEmails
|
||||
this.totalThreads
|
||||
this.threadUid
|
||||
this.newMessages
|
||||
this.offset
|
||||
this.limit
|
||||
this.search
|
||||
this.limited
|
||||
}
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class RemoteUserFetch extends AbstractFetchRemote {
|
|||
const
|
||||
// folder = getFolderFromCacheList(params.folder.fullName),
|
||||
folder = getFolderFromCacheList(params.folder),
|
||||
folderHash = folder?.hash || '';
|
||||
folderETag = folder?.etag || '';
|
||||
|
||||
params = Object.assign({
|
||||
offset: 0,
|
||||
|
|
@ -40,8 +40,8 @@ class RemoteUserFetch extends AbstractFetchRemote {
|
|||
}
|
||||
|
||||
let sGetAdd = '';
|
||||
if (folderHash) {
|
||||
params.hash = folderHash + '-' + SettingsGet('AccountHash');
|
||||
if (folderETag) {
|
||||
params.hash = folderETag + '-' + SettingsGet('AccountHash');
|
||||
sGetAdd = 'MessageList/' + SUB_QUERY_PREFIX + '/' + b64EncodeJSONSafe(params);
|
||||
params = {};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import { UNUSED_OPTION_VALUE } from 'Common/Consts';
|
|||
import {
|
||||
getFolderInboxName,
|
||||
getFolderFromCacheList,
|
||||
setFolderHash,
|
||||
setFolderETag,
|
||||
MessageFlagsCache
|
||||
} from 'Common/Cache';
|
||||
|
||||
|
|
@ -174,7 +174,7 @@ MessagelistUserStore.reload = (bDropPagePosition = false, bDropCurrentFolderCach
|
|||
let iOffset = (MessagelistUserStore.page() - 1) * SettingsUserStore.messagesPerPage();
|
||||
|
||||
if (bDropCurrentFolderCache) {
|
||||
setFolderHash(FolderUserStore.currentFolderFullName(), '');
|
||||
setFolderETag(FolderUserStore.currentFolderFullName(), '');
|
||||
}
|
||||
|
||||
if (bDropPagePosition) {
|
||||
|
|
@ -207,13 +207,14 @@ MessagelistUserStore.reload = (bDropPagePosition = false, bDropCurrentFolderCach
|
|||
error = '';
|
||||
|
||||
const
|
||||
folder = getFolderFromCacheList(collection.folder),
|
||||
folderInfo = collection.folderInfo;
|
||||
folderInfo = collection.folder,
|
||||
folder = getFolderFromCacheList(folderInfo.name);
|
||||
collection.folder = folderInfo.name;
|
||||
if (folder && !bCached) {
|
||||
// folder.revivePropertiesFromJson(result);
|
||||
folder.expires = Date.now();
|
||||
folder.uidNext = folderInfo.uidNext;
|
||||
folder.hash = collection.folderHash;
|
||||
folder.etag = folderInfo.etag;
|
||||
|
||||
if (null != folderInfo.totalEmails) {
|
||||
folder.totalEmails(folderInfo.totalEmails);
|
||||
|
|
@ -251,14 +252,14 @@ MessagelistUserStore.reload = (bDropPagePosition = false, bDropCurrentFolderCach
|
|||
MessagelistUserStore.threadUid(collection.threadUid);
|
||||
|
||||
MessagelistUserStore.endHash(
|
||||
collection.folder +
|
||||
folderInfo.name +
|
||||
'|' + collection.search +
|
||||
'|' + MessagelistUserStore.threadUid() +
|
||||
'|' + MessagelistUserStore.page()
|
||||
);
|
||||
MessagelistUserStore.endThreadUid(collection.threadUid);
|
||||
const message = MessageUserStore.message();
|
||||
if (message && collection.folder !== message.folder) {
|
||||
if (message && folderInfo.name !== message.folder) {
|
||||
MessageUserStore.message(null);
|
||||
}
|
||||
|
||||
|
|
@ -370,7 +371,7 @@ MessagelistUserStore.removeMessagesFromList = (
|
|||
messages.forEach(item => item?.isUnseen() && ++unseenCount);
|
||||
|
||||
if (fromFolder) {
|
||||
fromFolder.hash = '';
|
||||
fromFolder.etag = '';
|
||||
if (!copy) {
|
||||
fromFolder.totalEmails(
|
||||
0 <= fromFolder.totalEmails() - oUids.size ? fromFolder.totalEmails() - oUids.size : 0
|
||||
|
|
@ -385,7 +386,7 @@ MessagelistUserStore.removeMessagesFromList = (
|
|||
}
|
||||
|
||||
if (toFolder) {
|
||||
toFolder.hash = '';
|
||||
toFolder.etag = '';
|
||||
|
||||
if (trashFolder === toFolder.fullName || spamFolder === toFolder.fullName) {
|
||||
unseenCount = 0;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import { UNUSED_OPTION_VALUE } from 'Common/Consts';
|
|||
import { folderInformation, messagesDeleteHelper } from 'Common/Folders';
|
||||
import { serverRequest } from 'Common/Links';
|
||||
import { i18n, getNotification, getUploadErrorDescByCode, timestampToString } from 'Common/Translator';
|
||||
import { MessageFlagsCache, setFolderHash } from 'Common/Cache';
|
||||
import { MessageFlagsCache, setFolderETag } from 'Common/Cache';
|
||||
import { Settings, SettingsCapa, SettingsGet, elementById, addShortcut, createElement } from 'Common/Globals';
|
||||
//import { exitFullscreen, isFullscreen, toggleFullscreen } from 'Common/Fullscreen';
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ const
|
|||
reloadDraftFolder = () => {
|
||||
const draftsFolder = FolderUserStore.draftsFolder();
|
||||
if (draftsFolder && UNUSED_OPTION_VALUE !== draftsFolder) {
|
||||
setFolderHash(draftsFolder, '');
|
||||
setFolderETag(draftsFolder, '');
|
||||
if (FolderUserStore.currentFolderFullName() === draftsFolder) {
|
||||
MessagelistUserStore.reload(true);
|
||||
} else {
|
||||
|
|
@ -447,7 +447,7 @@ export class ComposePopupView extends AbstractViewPopup {
|
|||
flagsCache.push(('forward' === this.aDraftInfo[0]) ? '$forwarded' : '\\answered');
|
||||
MessageFlagsCache.setFor(this.aDraftInfo[2], this.aDraftInfo[1], flagsCache);
|
||||
MessagelistUserStore.reloadFlagsAndCachedMessage();
|
||||
setFolderHash(this.aDraftInfo[2], '');
|
||||
setFolderETag(this.aDraftInfo[2], '');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -469,8 +469,8 @@ export class ComposePopupView extends AbstractViewPopup {
|
|||
} else {
|
||||
this.close();
|
||||
}
|
||||
setFolderHash(this.draftsFolder(), '');
|
||||
setFolderHash(sSentFolder, '');
|
||||
setFolderETag(this.draftsFolder(), '');
|
||||
setFolderETag(sSentFolder, '');
|
||||
reloadDraftFolder();
|
||||
},
|
||||
params,
|
||||
|
|
@ -523,9 +523,9 @@ export class ComposePopupView extends AbstractViewPopup {
|
|||
this.savedTime(new Date);
|
||||
|
||||
if (this.bFromDraft) {
|
||||
setFolderHash(this.draftsFolder(), '');
|
||||
setFolderETag(this.draftsFolder(), '');
|
||||
}
|
||||
setFolderHash(FolderUserStore.draftsFolder(), '');
|
||||
setFolderETag(FolderUserStore.draftsFolder(), '');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import ko from 'ko';
|
|||
import { Scope } from 'Common/Enums';
|
||||
import { addShortcut } from 'Common/Globals';
|
||||
import { mailBox, settings } from 'Common/Links';
|
||||
//import { setFolderHash } from 'Common/Cache';
|
||||
//import { setFolderETag } from 'Common/Cache';
|
||||
import { addComputablesTo } from 'External/ko';
|
||||
|
||||
import { AppUserStore } from 'Stores/User/App';
|
||||
|
|
@ -105,7 +105,7 @@ export class MailFolderList extends AbstractViewLeft {
|
|||
}
|
||||
/*
|
||||
if (folder.fullName === FolderUserStore.currentFolderFullName()) {
|
||||
setFolderHash(folder.fullName, '');
|
||||
setFolderETag(folder.fullName, '');
|
||||
}
|
||||
*/
|
||||
let search = '';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue