Skip to content

Conversation

@liketheduck
Copy link

Summary

  • Enables importing tasks from Apple Reminders into Taskchamp via a new "Reminders Capture" settings panel
  • Users can select a specific Reminders list to capture from (e.g., "Taskchamp Inbox")
  • Supports Siri integration - say "Hey Siri, remind me to..." and import into Taskchamp
  • Configurable post-import action: mark complete or delete from Apple Reminders
  • Automatic import when app becomes active with duplicate prevention

Changes

  • RemindersCaptureService: EventKit integration for fetching/importing reminders
  • RemindersCaptureSettingsView: SwiftUI settings UI with permission handling, list picker, and manual import
  • ContentView: Auto-import on app foreground
  • TaskListView: Menu item + sheet for settings, auto-refresh after import
  • Project.swift: Added NSRemindersUsageDescription for permission prompt
  • UserDefaults: Added keys for reminders capture settings persistence

Test plan

  • Grant Reminders permission when prompted
  • Select a Reminders list in settings
  • Create a reminder in Apple Reminders app
  • Return to Taskchamp - verify automatic import
  • Verify reminder marked complete/deleted in Apple Reminders
  • Verify duplicate prevention (re-import doesn't create duplicates)

🤖 Generated with Claude Code

Enables importing tasks from Apple Reminders into Taskchamp:

- Add RemindersCaptureService with EventKit integration
- Add RemindersCaptureSettingsView for configuration UI
- Support selecting a Reminders list as capture source
- Map EKReminder properties to TCTask (title, notes, due date, priority)
- Post-import actions: mark complete or delete from Reminders
- Automatic import when app becomes active
- Duplicate prevention via persisted imported reminder IDs
- Auto-refresh task list after import completes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
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.

1 participant