Repository navigation
Deleting a medication also cancels a snoozed dose's alarm - #25
Merged
Merged
Conversation
Snooze re-arms the native alarm 10 minutes out but leaves the dose's scheduled time in the past, and the cancel on delete only looked at doses still in the future. So a dose snoozed just before deleting its medication still rang for a medication that no longer exists. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review Summary: ❌ FailedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Found in a read-only bug hunt (Kimi K3 via OpenRouter); I checked it against the code.
Bug
Snooze (
AlarmActivity) re-arms the native alarm 10 minutes out under the same dose id, but the dose'sscheduled_atstays at its original, now past, time.cancelFutureAlarmsFor(called when a medication is deleted) only looked at pending doses from now on, so it skipped the snoozed one.Example: dose rings at 09:00, Snooze (re-armed for 09:10), delete the medication at 09:05. At 09:10 the alarm still rings with the deleted medication's name. Tapping Taken is silently dropped (the dose row is gone), and
BootReceiverre-arms it if the phone restarts in that window.Fix
Start the lookup a day back. Cancelling a dose that isn't armed is a no-op, and a day covers any realistic snooze chain without walking all of the history.
Not changed:
_reconcileOrphanedDoseshas the same blind spot when a time is edited out while its dose is snoozed. Widening that one would delete past pending doses (history), so it needs a different fix; left for now.Tested
flutter analyze: no issues.flutter test: 35 passed.🤖 Generated with Claude Code
Summary by CodeRabbit