Version 15 (2.1.0) — Reminder Sound & Reminders Screen This update adds customizable reminder sounds with volume control, a dedicated Reminders screen for triggered events, and event type filtering on the Home screen. 🔔 Reminder Sound & Volume • Select a ringtone or notification tone for each reminder • Pick any audio file from storage as the reminder sound • Record a voice memo directly in the app as the reminder tone • Set reminder volume (0–100%) — plays at your chosen level when triggered • Single volume field shared across media and reminder events 🎙️ Native Voice Recorder • Built-in audio recorder — no third-party app needed • Records in high-quality AAC format (128kbps / 44.1kHz) • Recorded files stored privately and cleaned up when reminder is deleted • Start/Stop toggle with visual recording indicator 📋 Reminders Screen (New Tab) • New bottom navigation tab showing all triggered reminders • Active (recurring) reminders displayed at the top • Completed (one-time) reminders displayed at the bottom with visual distinction • Strikethrough text and muted styling on completed reminders • Only edit and delete icons shown — clean and focused • Triggered reminders auto-delete after 7 days (EVENT_DAYS_MS constant) 🏠 Home Screen Filter • Filter events by type using radio buttons: All, Reminder, Media, Task • "All" selected by default — shows everything • Filter persists during the session ⏰ Improved Alarm Reliability • Notifications now display as heads-up popups (full-screen intent) • Vibration pattern added to reminder notifications • Snooze now reliably re-triggers using goAsync() + wake lock • Exact alarm fallback changed to setExactAndAllowWhileIdle (eliminates ~1min delay) • Added USE_EXACT_ALARM permission for guaranteed precision on Android 13+ 🔇 Dismiss Stops Tone • Tapping Dismiss or Snooze immediately stops the reminder tone • No more lingering audio after interacting with the notification ⚡ Disable = Triggered • Disabling a reminder from Home now treats it as triggered • Moves to Reminders screen with the same 7-day lifecycle • Media events continue to move to Disabled screen as before 🗄️ Database Migration (v5 → v6) • Added reminderToneUri column for custom tone storage • Added triggeredAt column for reminder lifecycle tracking