Improved messages cache handling and fixed broken messagesBodiesDom

This commit is contained in:
the-djmaze 2023-02-20 10:49:22 +01:00
parent 15f9aa11db
commit 4fb359be59
7 changed files with 124 additions and 135 deletions

View file

@ -30,25 +30,21 @@ export const MessageUserStore = new class {
AppUserStore.focusedState(Scope.MessageList);
exitFullscreen();
}
this.hideMessageBodies();
[...(this.bodiesDom()?.children || [])].forEach(el => el.hidden = true);
},
});
this.purgeMessageBodyCache = this.purgeMessageBodyCache.throttle(30000);
this.purgeCache = this.purgeCache.throttle(30000);
}
purgeMessageBodyCache() {
const messagesDom = this.bodiesDom(),
children = messagesDom?.children;
if (children) {
while (15 < children.length) {
children[0].remove();
purgeCache(all) {
const children = this.bodiesDom()?.children || [];
let i = Math.max(0, children.length - (all ? 0 : 15));
while (i--) {
children[i].remove();
if (children[i].message) {
children[i].message.body = null;
}
}
}
hideMessageBodies() {
const messagesDom = this.bodiesDom();
messagesDom && Array.from(messagesDom.children).forEach(el => el.hidden = true);
}
};