coddingtonbear / inthe.am

Access your Taskwarrior tasks from any browser anywhere

Home Page:https://inthe.am/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tasks with `due:someday` (9999-12-30) break sync

kamalmarhubi opened this issue · comments

Repro:

task add test due:someday
task sync

The inthe.am tasks view stops updated, and this error appears in the logs:

An error was encountered when attempting to sync Inthe.AM's UI with the Taskserver: 2:
[...]
Sync failed. The Taskserver returned error: 500 ERROR: '253402146000' is not a valid date in the 'm/d/Y' format..

The timestamp 253402146000 corresponds to someday aka 9999-12-30:

$ date --date=@253402146000
Thu 30 Dec 9999 12:00:00 AM EST

The task syncs successfully from my local taskwarrior 2.6.0, so this might be something to do with the representation of this information in postgres?

The only workaround I've found is to delete task data in inthe.am, delete and purge the task, and then task sync init again.

Full error including rc overrides

An error was encountered when attempting to sync Inthe.AM's UI with the Taskserver: 2:  :: Configuration override rc.json.array:TRUE
Configuration override rc.verbose:new-uuid
Configuration override rc.confirmation:no
Configuration override rc.dependency.confirmation:no
Configuration override rc.gc:off
Configuration override rc.recurrence.confirmation:no
Configuration override rc.uda.intheamattachments.type:string
Configuration override rc.uda.intheamattachments.label:"Inthe.AM Attachments"
Configuration override rc.uda.intheamoriginalemailsubject.type:string
Configuration override rc.uda.intheamoriginalemailsubject.label:"Inthe.AM E-mail Subject"
Configuration override rc.uda.intheamoriginalemailid.type:numeric
Configuration override rc.uda.intheamoriginalemailid.label:"Inthe.AM E-mail ID"
Configuration override rc.uda.intheamtrelloid.type:string
Configuration override rc.uda.intheamtrelloid.label:"Inthe.AM Trello Object ID"
Configuration override rc.uda.intheamtrelloboardid.type:string
Configuration override rc.uda.intheamtrelloboardid.label:"Inthe.AM Trello Board ID"
Configuration override rc.uda.intheamtrellolistid.type:string
Configuration override rc.uda.intheamtrellolistid.label:"Inthe.AM Trello List ID"
Configuration override rc.uda.intheamtrellolistname.type:string
Configuration override rc.uda.intheamtrellolistname.label:"Inthe.AM Trello List Name"
Configuration override rc.uda.intheamtrellourl.type:string
Configuration override rc.uda.intheamtrellourl.label:"Inthe.AM Trello URL"
Configuration override rc.uda.intheamtrellodescription.type:string
Configuration override rc.uda.intheamtrellodescription.label:"Inthe.AM Trello Description"
Configuration override rc.uda.intheamtrellolastupdated.type:string
Configuration override rc.uda.intheamtrellolastupdated.label:"Inthe.AM Trello Last Updated"
Configuration override rc.uda.intheamduplicateof.type:string
Configuration override rc.uda.intheamduplicateof.label:"Inthe.AM Duplicate of Task"
Configuration override rc.uda.intheammergedfrom.type:string
Configuration override rc.uda.intheammergedfrom.label:"Inthe.AM Duplicate Tasks Merged"
Sync failed.  The Taskserver returned error: 500 ERROR: '253402146000' is not a valid date in the 'm/d/Y' format..

I am also facing this issue, which sometimes crashes the sync process (and task mentions that it could not connect to the Taskserver).

However, I can still sync without any problems if I just wait a while.

Furthermore, task calc someday outputs 2038-01-18T00:00:00 for me, instead of 9999-12-30.

The error I faced, taken from the inthe.am activity log:

An error was encountered while parsing task <full-task-id>; it was omitted from results as a result: year 1620055079 is out of range: 1620055079
commented

The inthe.am tasks view stops updated, and this error appears in the logs:

An error was encountered when attempting to sync Inthe.AM's UI with the Taskserver: 2:
[...]
Sync failed. The Taskserver returned error: 500 ERROR: '253402146000' is not a valid date in the 'm/d/Y' format..

The timestamp 253402146000 corresponds to someday aka 9999-12-30:

@kamalmarhubi are you on the development branch(2.6.0)? As they changed the date format in 2.6.0 along with some other major date and numeric items.

- Datetime values until year 9999 are now supported.
- Duration values of up to 1 000 000 years are now supported.
- 64-bit numeric values (up to 9,223,372,036,854,775,807) are now supported.
- Later/someday named datetime values now resolve to 9999-12-30 (instead of
    2038-01-18).

inthe.am runs a forked version of the taskd server, changes will have to be made to it to resolve the issue you are having. With just glancing over the release notes on 2.6.0 there are going to be other breaking changes related to dates, and numeric values with the version of server. You happen to just find the first one. I'll put in a PR in that repo to make the changes. Your best bet is to revert to the stable version of the client for now and your issue will be resolved.

@kamalmarhubi are you on the development branch(2.6.0)?

I am indeed. Good catch, and thanks for pointing that out.

I believe this'll be fixed by #374 -- if any of you all want to try to pull that particular issue across the finish line, I've posted some notes to that issue so you can take advantage of my merge conflict resolutions.