- Add SQLite Ownership & Concurrency section with WAL mode details - Add DB Path & Adapter Configuration with shared DB setup - Clarify T–lead governs prefetch attempts, not arming - Add TTL-at-fire check callout for stale notification prevention - Add DB Sharing acceptance criteria (visibility, WAL overlap, version safety) - Update GLOSSARY.md with shared DB, WAL, and user_version definitions - Remove plugin-owned DB references in favor of single shared database Files modified: - doc/notification-system.md - doc/GLOSSARY.md Compliance: Implements shared SQLite architecture with clear T–lead prefetch semantics and WAL-based concurrency for app/plugin coordination.
1.5 KiB
Glossary
T (slot time) — The local wall-clock time a notification should fire (e.g., 08:00).
T–lead — The moment prefetchLeadMinutes before T when the system attempts a single background prefetch. T–lead controls prefetch attempts, not arming; locals are pre-armed earlier to guarantee closed-app delivery.
Rolling window — Always keep today's remaining (and tomorrow if iOS pending caps allow) locals armed so the OS can deliver while the app is closed.
TTL (time-to-live) — Maximum allowed payload age at fire time. If T − fetchedAt > ttlSeconds, we skip arming for that T.
Shared DB (default) — The app and plugin open the same SQLite file; the app owns schema/migrations, the plugin performs short writes with WAL.
WAL (Write-Ahead Logging) — SQLite journaling mode that permits concurrent reads during writes; recommended for foreground-read + background-write.
PRAGMA user_version — An integer the app increments on each migration; the plugin checks (does not migrate) to ensure compatibility.
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.