This commit is contained in:
the-djmaze 2024-06-10 12:28:58 +02:00
parent a3fb5a30ee
commit 13c76d395e
43 changed files with 103 additions and 43 deletions

View file

@ -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);
};