Skip to content

Commit

Permalink
Message whitelist #201:
Browse files Browse the repository at this point in the history
* sort options based on domain count (highest top)
* hide when whitelist not active
  • Loading branch information
the-djmaze committed Feb 8, 2023
1 parent e12eeea commit 85d3a95
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 6 deletions.
22 changes: 17 additions & 5 deletions dev/Model/Message.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,24 @@ export class MessageModel extends AbstractModel {
let options = [];
if ('match' === SettingsUserStore.viewImages()) {
let from = this.from[0],
list = SettingsUserStore.viewImagesWhitelist();
from && options.push(from.email);
this.html().match(/src=["'][^"']+/g)?.forEach(m => options.push(m.replace(/^.+(:\/\/[^/]+).+$/, '$1')));
options = options.filter(txt => !list.includes(txt));
list = SettingsUserStore.viewImagesWhitelist(),
counts = {};
this.html().match(/src=["'][^"']+/g)?.forEach(m => {
m = m.replace(/^.+(:\/\/[^/]+).+$/, '$1');
if (counts[m]) {
++counts[m];
} else {
counts[m] = 1;
options.push(m);
}
});
options = options.filter(txt => !list.includes(txt)).sort((a,b) => (counts[a] < counts[b])
? 1
: (counts[a] > counts[b] ? -1 : a.localeCompare(b))
);
from && options.unshift(from.email);
}
return options.unique();
return options;
}
});
}
Expand Down
2 changes: 2 additions & 0 deletions dev/View/User/MailBox/MessageView.js
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,8 @@ export class MailMessageView extends AbstractViewRight {
return '';
},

showWhitelistOptions: () => 'match' === SettingsUserStore.viewImages(),

firstUnsubsribeLink: () => currentMessage()?.unsubsribeLinks()[0] || '',

pgpSupported: () => currentMessage() && PgpUserStore.isSupported(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@

<div class="showImages" data-bind="visible: message().hasImages()">
<div class="btn" data-bind="click: showImages" data-icon="🖼" data-i18n="MESSAGE/BUTTON_SHOW_IMAGES"></div>
<div class="btn-group" data-bind="registerBootstrapDropdown: true" style="display: inline-block">
<div class="btn-group" data-bind="registerBootstrapDropdown: true, visible: showWhitelistOptions" style="display: inline-block">
<a class="btn dropdown-toggle" id="whitelist-dropdown-id" data-icon="🖼" href="#" tabindex="-1"><span data-i18n="SETTINGS_GENERAL/IMAGES_WHITELIST"></span></a>
<menu class="dropdown-menu right-edge" role="menu" aria-labelledby="whitelist-dropdown-id">
<!-- ko foreach: message().whitelistOptions() -->
Expand Down

0 comments on commit 85d3a95

Please sign in to comment.