feat: restore events from .ics + per-calendar export selector (#32) #62
Reference in New Issue
Block a user
Delete Branch "feat/ics-restore"
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?
Implements in-app Restore from .ics (issue #32) plus a per-calendar export selector, with a full
/code-reviewpass folded in. Targetsrelease/v2.14.0(merged into this branch).Feature
.icsbackup.Review fixes (latest 3 commits)
rememberSaveableand no longer keyed on the observer-driven calendars list, so a background provider re-emit can't reset the user's de-selections; survives rotation.displayNamefallback restored; dead imports dropped; added repository tests for the export calendar-id plumbing.Verification
./gradlew testgreen;testDebugUnitTestcompiles clean;check_translations.pyconsistent.Deferred
import_target_header,import_event_count,import_action) are dead in code but still in base +values-de/es/it. Removing them by hand would make them stale keys (fatal in the translation check) and German is Weblate-owned — so they must be dropped via the Weblate source-string flow, not a hand edit.🤖 Generated with Claude Code
Move the multi-event import's confirm button into the app-bar actions so it's reachable without scrolling past a long calendar list, and put the count in the title ('Importing 5 events') instead of a separate 'N events in this file' line. Hoists the selected target calendar to the screen so the top-bar action can read it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>