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] || ''), '')
|
(from.name?.split(/[^\p{L}]+/gu) || []).reduce((a, s) => a + (s[0] || ''), '')
|
||||||
.slice(0,2)
|
.slice(0,2)
|
||||||
.toUpperCase(),
|
.toUpperCase(),
|
||||||
setIdenticon = (msg, fn, cache) => {
|
setIdenticon = (msg, fn, cb) => {
|
||||||
const from = email(msg);
|
const from = email(msg);
|
||||||
if (identicons.get(from)) {
|
if (identicons.get(from)) {
|
||||||
fn(identicons.get(from));
|
fn(identicons.get(from));
|
||||||
|
@ -92,7 +92,7 @@
|
||||||
));
|
));
|
||||||
fn(uri);
|
fn(uri);
|
||||||
identicons.set(email(msg), uri);
|
identicons.set(email(msg), uri);
|
||||||
cache && avatars.set(getAvatarUid(msg), uri);
|
cb?.(uri);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -101,9 +101,10 @@
|
||||||
if (msg.from?.[0]) {
|
if (msg.from?.[0]) {
|
||||||
if (getAvatarUri(msg)) {
|
if (getAvatarUri(msg)) {
|
||||||
if (rl.pluginSettingsGet('avatars', 'delay')) {
|
if (rl.pluginSettingsGet('avatars', 'delay')) {
|
||||||
setIdenticon(msg, fn);
|
setIdenticon(msg, fn, ()=>{
|
||||||
queue.push([msg, fn]);
|
queue.push([msg, fn]);
|
||||||
runQueue();
|
runQueue();
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
fn(msg.avatar);
|
fn(msg.avatar);
|
||||||
}
|
}
|
||||||
|
@ -200,7 +201,7 @@
|
||||||
fn = url=>{element.src = url};
|
fn = url=>{element.src = url};
|
||||||
element.onerror = ()=>{
|
element.onerror = ()=>{
|
||||||
element.onerror = null;
|
element.onerror = null;
|
||||||
setIdenticon(msg, fn, 1);
|
setIdenticon(msg, fn, uri=>avatars.set(getAvatarUid(msg), uri));
|
||||||
};
|
};
|
||||||
if (url) {
|
if (url) {
|
||||||
fn(url);
|
fn(url);
|
||||||
|
|
Loading…
Reference in a new issue