Skip to content

Check SEND_SMS permission from the background alarm cycle - #200

Merged
keepalivedev merged 1 commit into
mainfrom
BackgroundPermissionCheck
Jul 11, 2026
Merged

Check SEND_SMS permission from the background alarm cycle#200
keepalivedev merged 1 commit into
mainfrom
BackgroundPermissionCheck

Conversation

@keepalivedev

Copy link
Copy Markdown
Owner

A permission revoked after setup (battery sweep, OS update, someone adjusting settings) was previously only detected when the app was next opened - for a set-and-forget app that leaves the install silently unable to send SMS alerts until it is too late.

The periodic AlarmReceiver now verifies SEND_SMS is still granted whenever an enabled SMS contact is configured, and posts a notification (tap opens the app) if it was revoked. Rate-limited to once per day; the marker clears when the permission is restored so a future revocation notifies immediately. The check never blocks the alert check itself, and the first pass is deliberately scoped to SEND_SMS per the issue discussion.

New strings translated for all 7 locales; covered by new AlarmReceiverTest cases.

Fixes #192

Generated with Claude Code

A permission revoked after setup (battery sweep, OS update, someone
adjusting settings) was previously only detected when the app was next
opened, leaving a set-and-forget install silently unable to send SMS
alerts. The periodic AlarmReceiver now verifies SEND_SMS is still
granted whenever an enabled SMS contact is configured and posts a
notification if it was revoked, rate-limited to once per day. The
check never blocks the alert check itself.

Fixes #192

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@keepalivedev
keepalivedev merged commit f49e7cc into main Jul 11, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: revoked SEND_SMS permission is surfaced only on app open, never in the background

1 participant