Release Notes β Version 1.0 π
Release Date: February 9, 2025
Overview
This initial release of GTasks-RemindersSync introduces a robust synchronization tool for bridging Google Tasks and Apple Reminders. The application ensures that task completion status, titles, due dates, and notes remain consistent between platforms.
Key Features
Bidirectional Completion Sync β
- Tasks marked complete in either system are immediately updated in both.
One-Way Task Sync π
- Google β Apple: New tasks from Google Tasks are created in Apple Reminders, preserving all attributes.
- Apple β Google: Tasks exclusive to Apple Reminders are uploaded to Google Tasks, with full property retention.
Detailed Logging π
- Enhanced log output aids in troubleshooting sync operations and authorization issues.
Dedicated Reminders List π
- The tool automatically creates and uses a "GTasks" list in Apple Reminders for better task organization.
Improvements & Enhancements
Robust Authorization Handling π
- Improved error messaging and token management for both Google and Apple integrations.
Modular Architecture βοΈ
The system is organized into three main services:
- GoogleTasksService: Manages Google Tasks API interactions and authentication.
- RemindersService: Handles Apple Reminders access and list management.
- SyncManager: Coordinates synchronization and conflict resolution.
Setup & Requirements
System Requirements
- macOS 13 or later
- Development: Xcode with Swift tools
API Access
- A Google Cloud Project with the Tasks API enabled
- OAuth 2.0 credentials from Google Cloud Console
- Environment: Configure required credentials in a .envlocal file
Troubleshooting Guidelines π
Authorization Issues
- Remove the stored Google token and reauthorize if errors persist.
- Confirm that OAuth credentials and Tasks API settings in Google Cloud Console are correct.
Sync Discrepancies
- Check console logs for detailed error messages.
- Ensure Apple Reminders permissions are granted and that the "GTasks" list exists.
Date & Time Mismatches
- Verify system timezone settings to prevent due date issues.
Contributing & License
Contributions are welcome. Please submit Pull Requests for review. The project is licensed under the MIT License.