Auto-action filter rules (EXECUTE_ACTION):
- New filter action that automatically taps notification action buttons
- Finds target button by label (e.g. "Delete", "Archive") on incoming notifications
- Executes PendingIntent if found, logs failure note if button missing
- "Also delete from list" option when action succeeds
- Full UI in filter rule editor with button label field and checkbox
Deletion reason tracking:
- New deletion_reason column (DB v6→v7 migration)
- Tracks why each notification was deleted: USER, USER_BULK, AUTO_ACTION, RETENTION
- Auto-action success/failure details stored with rule name and action label
- Detail screen shows colored status banner for auto-action results
- Deletion reason visible in Info for Nerds section
Test notification broadcast (dev flavor only):
- SEND_NOTIFICATION posts real Android notifications via NotificationManager
- Supports action buttons, reply actions with RemoteInput
- Notification styles: messaging, bigpicture, bigtext, inbox
- Generated test bitmaps for sticker/image testing
- Action confirmation notifications show reply text in timeline
- POST_NOTIFICATIONS permission added to dev manifest only
Detail screen improvements:
- Icons on live action chips (Delete→trash, Archive→box, Like→heart, etc.)
- Reply dialog auto-focuses text field and opens keyboard
- Taller reply text field (3 lines)
Code quality:
- Renamed CLAUDE_TEST tag to CLAUDE_SNI_TEST across all files
- Fixed deprecated Icons.Default.OpenInNew → AutoMirrored in DetailScreen + SwipeableNotificationItem
- Fixed deprecated Icons.Default.Backspace → AutoMirrored in LockScreen
- Fixed deprecated fallbackToDestructiveMigration() → added dropAllTables param
- Wrapped BitmapFactory.decodeFile() in runCatching to prevent crashes on corrupt files
- Removed unused Notifications icon import
- Added translations for all new strings (ES, FR, DE, CA, SV)
Published as internal test on Google Play Store.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>