mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-28 19:49:20 +03:00
Added for #1545
This commit is contained in:
parent
a3fb5a30ee
commit
13c76d395e
43 changed files with 103 additions and 43 deletions
|
|
@ -26,9 +26,9 @@ export class UserSettingsSecurity extends AbstractViewSettings {
|
|||
this.autoLogoutOptions = koComputable(() => {
|
||||
translateTrigger();
|
||||
return [
|
||||
{ id: 0, name: i18n('SETTINGS_SECURITY/AUTOLOGIN_NEVER_OPTION_NAME') },
|
||||
{ id: 0, name: i18n('SETTINGS_SECURITY/NEVER') },
|
||||
{ id: 5, name: relativeTime(300) },
|
||||
{ id: 10, name: relativeTime(600) },
|
||||
{ id: 15, name: relativeTime(900) },
|
||||
{ id: 30, name: relativeTime(1800) },
|
||||
{ id: 60, name: relativeTime(3600) },
|
||||
{ id: 120, name: relativeTime(7200) },
|
||||
|
|
@ -38,6 +38,9 @@ export class UserSettingsSecurity extends AbstractViewSettings {
|
|||
});
|
||||
this.addSetting('AutoLogout');
|
||||
|
||||
this.keyPassForget = SettingsUserStore.keyPassForget;
|
||||
this.addSetting('keyPassForget');
|
||||
|
||||
this.gnupgPublicKeys = GnuPGUserStore.publicKeys;
|
||||
this.gnupgPrivateKeys = GnuPGUserStore.privateKeys;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import { AskPopupView } from 'View/Popup/Ask';
|
||||
import { SettingsUserStore } from 'Stores/User/Settings';
|
||||
|
||||
export const Passphrases = new WeakMap();
|
||||
|
||||
|
|
@ -8,12 +9,13 @@ Passphrases.ask = async (key, sAskDesc, btnText) =>
|
|||
: await AskPopupView.password(sAskDesc, btnText, 5);
|
||||
|
||||
const timeouts = {};
|
||||
// get/set accessor to control deletion after 15 minutes of inactivity
|
||||
// get/set accessor to control deletion after N minutes of inactivity
|
||||
Passphrases.handle = (key, pass) => {
|
||||
if (!timeouts[key]) {
|
||||
timeouts[key] = (()=>Passphrases.delete(key)).debounce(900000);
|
||||
const timeout = SettingsUserStore.keyPassForget();
|
||||
if (timeout && !timeouts[key]) {
|
||||
timeouts[key] = (()=>Passphrases.delete(key)).debounce(timeout * 1000);
|
||||
}
|
||||
pass && Passphrases.set(key, pass);
|
||||
timeouts[key]();
|
||||
timeout && timeouts[key]();
|
||||
return Passphrases.get(key);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ export const SettingsUserStore = new class {
|
|||
hideDeleted: 1,
|
||||
unhideKolabFolders: 0,
|
||||
autoLogout: 0,
|
||||
keyPassForget: 15,
|
||||
showUnreadCount: 0,
|
||||
messageNewWindow: 0,
|
||||
messageReadAuto: 0,
|
||||
|
|
@ -157,5 +158,6 @@ export const SettingsUserStore = new class {
|
|||
self.checkMailInterval(pInt(SettingsGet('CheckMailInterval')));
|
||||
self.messageReadDelay(pInt(SettingsGet('MessageReadDelay')));
|
||||
self.autoLogout(pInt(SettingsGet('AutoLogout')));
|
||||
self.keyPassForget(pInt(SettingsGet('keyPassForget')));
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue