sachaos / todoist

Todoist CLI Client. I ❤️ Todoist and CLI.
MIT License
1.48k stars 104 forks source link

date function on modify wont work #216

Closed oscarenzo closed 1 year ago

oscarenzo commented 1 year ago

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 1 year ago

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

oscarenzo commented 1 year ago

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

Thank you.

HacDan commented 1 year ago

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.

oscarenzo commented 1 year ago

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 1 year ago

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

oscarenzo commented 1 year ago

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

Best regards.

kenliu commented 1 year ago

fix merged, will be fixed in the next release.

oscarenzo commented 1 year ago

Thank you very much @kenliu, @HacDan

oscarenzo commented 1 year ago

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 1 year ago

@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.

oscarenzo commented 1 year ago

Oh sorry by mistake, thank you.

kenliu commented 1 year ago

@oscarenzo v0.20.0 has been released!

focusaurus commented 1 year ago

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 1 year ago

@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?

focusaurus commented 1 year ago
todoist --version                          
todoist version 0.20.0
HacDan commented 1 year ago

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.

focusaurus commented 1 year ago

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