Open
Description
Describe your improvement idea or feature request
Currently, linking the TaskWarrior mobile app with CCSync requires users to manually enter the following details:
- UUID (Unique Identifier)
- Encryption Secret
- CCSync Backend URL
This process is inconvenient and prone to user errors. To improve the user experience, we should implement an automated setup process that fetches these details from CCSync.
How would you like to see it implemented?
Proposed Enhancements
1. QR Code-Based Auto Configuration
- After signing in on the CCSync Web UI, generate a QR code containing the user's sync credentials.
- The TaskWarrior mobile app can scan this QR code to automatically configure the sync settings.
Example QR Code Data (JSON):
{
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"encryption_secret": "s3cr3tKeyBase64",
"sync_server_url": "https://ccsync.example.com"
}
2.Deep Linking for One-Click Setup
Provide a deep link in the CCSync Web UI:
taskwarrior://configure?uuid=123e4567&secret=s3cr3tKey&server=https://ccsync.example.com
- When opened on a mobile device, the TaskWarrior app should extract the sync details and apply them automatically.
3. API-Based Configuration Fetching (Optional Alternative)
- Allow users to generate a one-time-use token on the Web UI.
- The mobile app can use this token to fetch sync settings from CCSync.
Benefits
✅ Eliminates manual entry errors
✅ Improves user experience
✅ Allows for seamless multi-device sync
Possible Challenges & Solutions
- Security Concerns: Ensure QR codes and deep links are short-lived and expire after use.
- Backward Compatibility: Maintain manual entry as a fallback option.
Expected Outcome
A simplified, user-friendly method for linking the TaskWarrior-flutter app with CCSync, reducing setup complexity and improving usability.
Put here any screenshots or videos (optional)
No response
How can we contact you (optional)
No response
Would you like to work on this issue?
Yes
By submitting this issue, I have confirmed that:
- I have starred the repo ⭐ and watched 👀 it on GitHub and followed the contribution guidelines.