fix(edit): default reminder for ACTION_INSERT events + import prompt (Codeberg #49) #71
Reference in New Issue
Block a user
Delete Branch "fix/insert-intent-default-reminder"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes Codeberg issue #49 — events created from an external
ACTION_INSERTintent (Google Maps' "add to calendar", the Todo Agenda widget) opened the new-event form with no reminder, ignoring the configured default.Root cause: the insert-prefill path shares
openImported()with the single-event.icsimport path, which froze reminders as touched (_remindersTouched = true) so a file's own VALARMs are respected. An insert intent carries no reminders, so the empty freeze just suppressed the settings default.Fix (two commits, per the two paths):
openNew())..icsfile imports keep respecting the file's reminders, but instead of silently deciding, raise a one-time prompt: This event was imported with N reminder(s) — apply your default? Accepting swaps in the default; declining keeps the file's. Skipped when there's no real choice (no default configured, or the file already carries exactly it).openImported()now takes anImportSource;CalendarHosttags the overlay Insert vs File. The prompt is a plain two-choiceAlertDialog, per the app's dialog conventions.CI-green locally (
test+lint+assembleDebug, translation check clean). UI change — on-device review owed before release (dialog copy + import-prompt behaviour).🤖 Generated with Claude Code
Split the two prefill paths that share openImported(): an ACTION_INSERT intent still auto-applies the settings default (it carries no reminder semantics), but a .ics file — which owns its reminders — no longer silently decides. It keeps the file's reminders and raises a one-time prompt ("This event was imported with N reminder(s) — apply your default?") so the user chooses. The prompt is skipped when there's no real choice: no default configured, or the file already carries exactly it. openImported() now takes an ImportSource; CalendarHost tags the overlay Insert vs File. Accepting swaps in the default and reveals the section; declining (or dismissing) keeps the file's own reminders. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>