CCExtractor / taskwarrior-flutter

This is the repo of mobile app of taskwarrior
https://play.google.com/store/apps/details?id=com.ccextractor.taskwarriorflutter
GNU General Public License v3.0
120 stars 88 forks source link

TaskWarrior v3 #347

Closed sternj closed 3 months ago

sternj commented 4 months ago

TaskWarrior has recently deprecated taskd and switched to taskchampion-sync-server. I don't know much about taskd or taskwarrior, but is there any chance for support for this new sync server?

Pavel401 commented 4 months ago

Yes, we will work on this.

QuantumBJump commented 2 months ago

does this work only for taskchampion-sync-server, or would this also work with TW3's new recommended sync method of using a GCP bucket?

Darukutsu commented 2 months ago

I just build v2.0.0 using flutter run and trying to make work taskchampion sync but it doesn't seem to work. I enabled the toggle for taskchampion sync. I get Error:Server or credentials are missing in taskrc file

# task-sync 3.0.0
sync.server.origin=http:\/\/192.168.0.100:53589
sync.server.client_id=<some_uuid>
sync.encryption_secret=<some_secret>
recurrence=0
Pavel401 commented 2 months ago

@its-me-abhishek Are you working on this?

its-me-abhishek commented 2 months ago

I have tested this locally, and it is working fine, i think @Darukutsu may have missed some points: in /lib/api_service.dart, you need to change:

String baseUrl = 'http://YOUR_IP:8000'; (for API) // note:  if using linux or wsl for directly running the API, you can get the IP by running ifconfig… may use the docker IP if you’re using the Docker container for backend.. 
String origin = http://localhost:8080 (for taskchampion-sync-server container, directly from the source)

to some deployed values for using it on a mobile device, you may use the same containers/config as ccsync for development purposes, deploy the backend and sync-server container if you want to access the API + server anywhere. For development purposes, we can set up it using Docker with minimal changes to the backend .env file as mentioned in the README.md, to set up sync. Additionally, you will have to update your Taskwarrior config on your pc to have a sync.server.origin value as the same link or a link that points to the same container that the app uses (the one you will set above in api_service.dart)...

side note: I think that you are using taskd for syncing, or are using Taskwarrior < 3.0, as the error says: Error:Server or credentials are missing in taskrc file but they are not needed in TW3.0 now, 53589 port suggests a taskd container, or I might be wrong..

Darukutsu commented 2 months ago

@its-me-abhishek if i understand correctly I have to setup ccsync to be able to use this app with taskwarrior >= 3.0? When enabling toggle, it doesn't refreshes menu so I wasn't able to see CCsync credentials at first, that's why I was importing config to TASKRC which seemed natural because that's same thing I did on computer and it works. Do you plan to add option in menu to configure taskchampion-sync-server url or better parse config for 3.0 and above?

...53589 port suggests a taskd container...

nono, that's because I run taskchampion-sync-server as systemd service and this is default set on arch by using -p argument

its-me-abhishek commented 2 months ago

if i understand correctly I have to setup ccsync to be able to use this app with taskwarrior >= 3.0?

Yep, you're right. The CCSync backend acts as a middle-ware for syncing/modifying tasks via the taskchampion-sync-server to your app/website, by running a series of commands for everything...

When enabling toggle, it doesn't refreshes menu so I wasn't able to see CCsync credentials at first

This seems to be a bug, I will look into it, and try to find a fix, thanks.

Do you plan to add option in menu to configure taskchampion-sync-server url or better parse config for 3.0 and above?

I have planned of implementing configurable url for taskchampion-sync-server on backend, have thought of adding an option under CCSync credentials for: default url or custom server url value... for the sync server. Will work on this after completing the refactoring of backend... as this will require some testing

sternj commented 2 weeks ago

I'm not too big a fan of having to rebuild the app to use this, is there a new tracking issue for a production-ready v3?