sachaos/todoist

date function on modify wont work

oscarenzo opened this issue · 17 comments

Hello,

I'm using <todoist version 0.18.0> and should say thats the program is an success, just want to report a problem that I find, when I try to modify some task to set a date, this do not work, do not show some error, just do not take effect.

This is my command:
tdi m -d "today" -L "Bash,Docker,Sysadmin" -p 2 6759995679

The task:
6759995679 p2 #Section @Bash,@Docker,@Sysadmin Configurar cron de zabbix alerter

Thank you, best regads.

HacDan commented

@oscarenzo Does creating a new task with a specified date work for you? I'm not able to get that to work either.

The task is created but without date value, as if I do not set the -d argument

Thank you.

HacDan commented

Okay, that's what I'm experiencing as well. I'll take a look, but others are obviously more than welcome to take a look as well.

I don't know the code base that well, but I'm guessing it's an issue in the internal library generating the request to the sync API.

I do know that "setting" the date with a quick add works, but I believe that request is just a string sent to the API and then they work their magic on it.

I will try to use the quick add while get catch the bug for solve that, by other side I will try to do some test with the API through Python SDK to check if the error is on the API.

Thank you by the answer @HacDan :)

HacDan commented

Looks like this was a change, or seems to be using a deprecated feature.

The library creates a date_string object instead of a due object in the JSON that it sends off to the API.

Currently, the internal library is sending:

{
  "args": {
    "date_string": "next monday",
    "id": "123456789",
    "labels": [
      ""
    ],
    "priority": 1
  },
  "temp_id": "redacted",
  "type": "item_update",
  "uuid": "redacted"
}

The Todoist Sync V9 APi looks for said due object, which you can still include references that the server will then interpret, like using today or next monday by creating a JSON object as such:

{
  "due": {
    "string": "next monday"
  }
}

This will require reworking the library a bit. I haven't dug into that yet, but that's where this needs to go next.

Reference:
https://developer.todoist.com/sync/v9/#create-or-update-due-dates

Thank you @HacDan , we will wait a new release then.

Best regards.

kenliu commented

fix merged, will be fixed in the next release.

Thank you very much @kenliu, @HacDan

Hello again, I would like to test the new version 1.9.0 and see the commits, it should be fixed in this version right?

I'm trying to download the file from here:

https://github.com/sachaos/todoist/releases/tag/v0.19.0

But seems like that the compiled file belong to 0.18.0 and not 0.19.0 :(

./todoist_linux_amd64 --version todoist version 0.18.0

Anyway I tested this file and the problem reported persist, thank you.

HacDan commented

@oscarenzo as mentioned by @kenliu this will be resolved in the next release. The release you downloaded, while the version hasn't been updated, is version 0.19 which came out before this fix was applied.

For now, you could clone the repo and build from source for testing if you'd prefer. If not, I'm sure a new release will be along shortly.

Oh sorry by mistake, thank you.

kenliu commented

@oscarenzo v0.20.0 has been released!

I'm still not able to get --date "today" to work properly with v0.20.0. All new tasks just go to inbox with no due date set.

HacDan commented

@focusaurus I'm not able to replicate your issue. Could you post the output of todoist --version just to confirm you're using 0.20.0?

todoist --version                          
todoist version 0.20.0
HacDan commented

Hmm...

So this is what I get.

image

Are you adding labels or specifying a project when creating the task? If so I'd be happy to try that here to see if I can replicate the issue.

🤷 I updated my arch packages and rebooted and now it seems to be working. Sorry for the noise.