- Consolidate 5 notification-system-* files into doc/notification-system.md - Add web-push cleanup guide and Start-on-Login glossary entry - Configure markdownlint for consistent formatting - Remove web-push references, focus on native OS scheduling Reduces maintenance overhead while preserving all essential information in a single, well-formatted reference document.
1.4 KiB
Glossary
T (slot time) — The local wall-clock time a notification is intended to fire (e.g., 08:00).
T–lead — The moment {prefetchLeadMinutes} minutes before T when the system attempts a background prefetch to refresh content.
- Example: If T = 12:00 and
prefetchLeadMinutes = 20, then T–lead = 11:40. - If background prefetch is skipped/denied, delivery still occurs using the most recent cached payload (rolling-window safety).
- T–lead governs prefetch attempts, not arming. We still arm one-shot locals early (rolling window) so closed-app delivery is guaranteed.
Rolling window — Always keep today’s remaining one-shot locals armed (and optionally tomorrow, within iOS caps) so the OS can deliver while the app is closed.
TTL (time-to-live) — Maximum allowed staleness of a payload at fire time. If the projected age at T exceeds ttlSeconds, we skip arming.
Exact alarm (Android) — Minute-precise alarm via AlarmManager.setExactAndAllowWhileIdle, subject to policy and permission.
Windowed alarm (Android) — Batched/inexact alarm via setWindow(start,len); we target ±10 minutes when exact alarms are unavailable.
Start-on-Login — Electron feature that automatically launches the application when the user logs into their system, enabling background notification scheduling and delivery after system reboot.