mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-11-15 12:15:20 +08:00
Preload identicon on delayed avatar lookup
This commit is contained in:
parent
a83c3aacf8
commit
2809e75307
1 changed files with 7 additions and 6 deletions
|
@ -79,7 +79,7 @@
|
|||
(from.name?.split(/[^\p{L}]+/gu) || []).reduce((a, s) => a + (s[0] || ''), '')
|
||||
.slice(0,2)
|
||||
.toUpperCase(),
|
||||
setIdenticon = (msg, fn, cache) => {
|
||||
setIdenticon = (msg, fn, cb) => {
|
||||
const from = email(msg);
|
||||
if (identicons.get(from)) {
|
||||
fn(identicons.get(from));
|
||||
|
@ -92,7 +92,7 @@
|
|||
));
|
||||
fn(uri);
|
||||
identicons.set(email(msg), uri);
|
||||
cache && avatars.set(getAvatarUid(msg), uri);
|
||||
cb?.(uri);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
@ -101,9 +101,10 @@
|
|||
if (msg.from?.[0]) {
|
||||
if (getAvatarUri(msg)) {
|
||||
if (rl.pluginSettingsGet('avatars', 'delay')) {
|
||||
setIdenticon(msg, fn);
|
||||
setIdenticon(msg, fn, ()=>{
|
||||
queue.push([msg, fn]);
|
||||
runQueue();
|
||||
});
|
||||
} else {
|
||||
fn(msg.avatar);
|
||||
}
|
||||
|
@ -200,7 +201,7 @@
|
|||
fn = url=>{element.src = url};
|
||||
element.onerror = ()=>{
|
||||
element.onerror = null;
|
||||
setIdenticon(msg, fn, 1);
|
||||
setIdenticon(msg, fn, uri=>avatars.set(getAvatarUid(msg), uri));
|
||||
};
|
||||
if (url) {
|
||||
fn(url);
|
||||
|
|
Loading…
Reference in a new issue