Skip to content

Sync to a task-champion-server is broken in the nightly #455

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 task done
Akendo opened this issue Mar 22, 2025 · 16 comments
Open
1 task done

Sync to a task-champion-server is broken in the nightly #455

Akendo opened this issue Mar 22, 2025 · 16 comments
Labels
bug Something isn't working

Comments

@Akendo
Copy link

Akendo commented Mar 22, 2025

Describe your issue

I've tried to use the nightly that I built myself with flutter to connect to my task warrior server. However, it appears that the connection remains stalled and nothing happened. I couldn't see any error message on the server. I didn't have the opportunity to debug this with adb yet, might provide you with some more details on this.

Likewise, I might, add that I run the server locally on a VM with no HTTPS enabled. Likewise, I am not sure if this would be an issue.

Steps to reproduce

  1. Build the app with Flutter.
  2. Install it on Android freshly
  3. Change the Sync to be on Task v3
  4. Add the task server configuration.
  5. sync

What was the expected result?

To see all my task's I have in my current task warrior.

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?

None

By submitting this issue, I have confirmed that:

  • I have starred the repo ⭐ and watched 👀 it on GitHub and followed the contribution guidelines.
@Akendo Akendo added the bug Something isn't working label Mar 22, 2025
@SGI-CAPP-AT2
Copy link
Contributor

SGI-CAPP-AT2 commented Mar 22, 2025

if You've enabled the Taskchampion Sync setting then it requires date while adding task otherwise it does not work.
And also by Server do you mean CCSync ?

@its-me-abhishek
Copy link
Contributor

In case if you have been using the original taskchampion-sync-server as the URL, please do check out CCSync and setup it on the VM instead, as the App requires its API backend in order to interact with the server. You may update the syncserver service of the Docker-compose.yml of CCSync before running to point to your original taskchampion-sync-server in case you already have one running.
CCsync
Docs on How to setup CCSync
Setup Video for walkthrough

@Akendo
Copy link
Author

Akendo commented Mar 22, 2025

So from what I read out of your backend, I need to have Google cloud running to make use of the CCSync so I can run it locally?

@its-me-abhishek
Copy link
Contributor

Are you referring to this part? -

Image

@Akendo
Copy link
Author

Akendo commented Mar 22, 2025

Yes. Also, how the document is phrased seems like this.

@its-me-abhishek
Copy link
Contributor

I will try to re-phrase it, also there's no need to run Google Cloud for that as credentials would just be generated only once and work until deleted. You might use any VM to run the project.

On a side note, this Google Creds part along with the frontend setup is also optional in case you already have some credentials set-up on your taskchampion instance.. as the cloud credentials are essentially being used to create a hashed version of your credentials like email etc to make the keys for setting up the taskchampion-instance.

You might just run the backend (along with its env vars, except the client secret and ID ones) + the taskchampion-instance on a VM and try using the app with the same taskchampion-credentials as your other clients

@Akendo
Copy link
Author

Akendo commented Mar 22, 2025

Thanks a lot. I set up the ccsync on my system and tried to set the flutter app to sync with this. However, the problem here is that the app does not perform any connection at all. I can see now, that the app might try to do some fetching, but on the server side I do not get any responses. I checked with a tcpdump and I didn't got any package. It feels like that something is wrong.

While the server was the wrong one, the problem remains the same. No connection is happening.

@its-me-abhishek
Copy link
Contributor

its-me-abhishek commented Mar 23, 2025

is it an issue with the app or the CCsync, so that i can debug it somehow. also, are u able to make any type of requests to ccsync at
http://<your_VM_IP_address>:8000/

@Akendo
Copy link
Author

Akendo commented Mar 23, 2025

is it an issue with the app or the CCsync, so that i can debug it somehow. also, are u able to make any type of requests to ccsync at http://<your_VM_IP_address>:8000/

As of now, it's the app in my understanding. I'm unable to connect to my server. I also changed the port from the CCsync to 8001, but that didn't seem to change anything. Furthermore, I can access the server simply by using curl.

@Akendo
Copy link
Author

Akendo commented Mar 23, 2025

I also observed, that when I use an APK from GitHub like this one I do not have the option to set a URL to sync. Why is that? Does this only show when I have built the app myself?

@Akendo
Copy link
Author

Akendo commented Mar 23, 2025

I guess, I might have to enable tcpdump on my phone. Can't tell what's going wrong here.

@its-me-abhishek
Copy link
Contributor

i think yes, not aware much about the Taskwarrior App dev. You may try building the app yourself using release mode
Do this and then in settings of the app, turn on taskchampion, then restart the app. then in the left side panel an option to add CCSync credentials Reference: #429

@its-me-abhishek
Copy link
Contributor

Or try using termux to ping the taskchampion sync server / the backend

@Akendo
Copy link
Author

Akendo commented Mar 23, 2025

I 'fixed' it by setting the baseURl in the necessary code to my server hardcoded. Seems like that the change to receive the necessary variable isn't working.

@SGI-CAPP-AT2
Copy link
Contributor

I also observed, that when I use an APK from GitHub like this one I do not have the option to set a URL to sync. Why is that? Does this only show when I have built the app myself?

So this issue might be related to taskchampion setting not being persistent for next application opening because of a typo.
opened a PR which may fix this issue #457.

@its-me-abhishek
Copy link
Contributor

So this issue might be related to taskchampion setting not being persistent for next application opening because of a typo.
opened a PR which may fix this issue #457.

makes sense, the getters and setters were different (now fixed in that PR)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants