bgregos / foreground

Simple Android personal task manager with Taskwarrior integration
Apache License 2.0
255 stars 16 forks source link

[bug] Taskwarrior sync reports an invaild date #135

Closed psa-anddev closed 2 years ago

psa-anddev commented 2 years ago

Hello, I was trying foreground and I'm having problems to configure synchronisation with my taskd server. My setup is that I have 2 devices that run taskwarrior. One of them is a laptop running Archlinux from which I don't have any problems synchronising. I also have a phone running Android 10. I just installed the app from F-Droid so I'm running version 1.5.3 of Foreground. My server is running in a Debian machine which I recently updated.

So, I configured everything to connect to the server and it connects but when it tries to sync, it shows the following error message: askwarriorMessage [headers={client=taskd 1.1.0, code=500, status=ERROR: '253402128000' is not a valid date in the 'm/d/Y' format.}, payload=Optional.empty]

I have looked on the files in my arch computer and it seems that the date in there is the one set for tasks that are marked as waiting:later and waiting:someday. A bit of valuable information that I found is that I have checked on the current state of Taskwarrior itself and it seems they have modified it to use 64bit timestamps recently in order to avoid the 2018 problem (aka the maximum 32 bit timestamp).

PS: In your contributing guide you ask for the addition of the bug label when creating the issue but I don't think I have permission to do that though.

bradyt commented 2 years ago

I think this is a Taskwarrior or Taskserver bug, not Foreground.

I can reproduce as follows.


> task --version
2.6.1
> export HOME=/tmp/testing
> task add foo due:someday
> task sync
> rm ~/.task/*.data
> task sync
Syncing with $server:53589

Sync failed.  The Taskserver returned error: 500 ERROR: '253402156800' is not a valid date in the 'm/d/Y' format.
bradyt commented 2 years ago

To put it another way, it seems Taskserver will happily receive 99991230T080000Z and store it in $TASKDDATA/orgs/$org/users/$userKey/tx.data, but it cannot successfully send it in a response to a client.

psa-anddev commented 2 years ago

Ok. I just did that test in my Arch system and I can replicate the bug. I'm going to close this issue then and report it in the taskwarrior project. Thake you very much for such a fast response.