v2.3 Papierkorb: Trash-Konstanten und Auto-Cleanup beim Laden
This commit is contained in:
@@ -10,6 +10,14 @@ async function init() {
|
||||
|
||||
boards = savedBoards ?? getDefaultBoards();
|
||||
trash = Array.isArray(savedTrash) ? savedTrash : [];
|
||||
|
||||
// Auto-Cleanup: Eintraege aelter als 30 Tage verwerfen (TRASH-02). Muss VOR
|
||||
// renderBoards() laufen, damit der Papierkorb-Stand konsistent ist. Schreibt nur
|
||||
// zurueck, wenn wirklich etwas entfernt wurde (kein unnoetiger Storage-Write).
|
||||
const cutoff = Date.now() - TRASH_RETENTION_MS;
|
||||
const beforeCount = trash.length;
|
||||
trash = trash.filter(entry => typeof entry.deletedAt === 'number' && entry.deletedAt >= cutoff);
|
||||
if (trash.length !== beforeCount) await saveTrash();
|
||||
if (savedSettings) Object.assign(settings, savedSettings);
|
||||
|
||||
I18n.init();
|
||||
|
||||
@@ -9,6 +9,13 @@ let boards = [];
|
||||
// Eintrag-Schema: { item, type: 'bookmark'|'board', deletedAt, originBoardId }
|
||||
let trash = [];
|
||||
|
||||
// Papierkorb: Auto-Cleanup-Fenster und harte Obergrenze (Quota-Schutz, TRASH-04).
|
||||
// 30 Tage in Millisekunden; ueber dieser Zeit wird ein Eintrag beim Laden auto-geloescht.
|
||||
const TRASH_RETENTION_MS = 30 * 24 * 60 * 60 * 1000;
|
||||
// Max. Anzahl trash-Eintraege. Bei Ueberlauf werden die aeltesten zuerst verworfen,
|
||||
// damit der Papierkorb nicht das 10-MB-Storage-Limit sprengt (kein blindes Wachstum).
|
||||
const TRASH_MAX_ENTRIES = 100;
|
||||
|
||||
let settings = {
|
||||
compact: false,
|
||||
shortenTitles: false,
|
||||
|
||||
Reference in New Issue
Block a user