// Memory only: a cold start begins a new login session. Never persist this in storage. const seen = new Map(); function shouldShow(notice, userId) { if (!notice || !notice.enabled || !String(notice.content || '').trim()) return false; const mode = notice.mode || 'login_once'; if (mode === 'off') return false; if (mode === 'always') return true; return mode === 'login_once' && seen.get(String(userId || '')) !== notice.revision; } function markShown(notice, userId) { if (notice && (notice.mode || 'login_once') === 'login_once') seen.set(String(userId || ''), notice.revision); } function clear() { seen.clear(); } module.exports = { shouldShow, markShown, clear };