There's a bug in the completed to-dos filter. Tested on 0.4.0 and upgraded to 0.7.2 — same behaviour.
When I run basecamp todos list -p -l --status completed --all, the command returns zero to-dos even on lists where every task is completed. The --completed shorthand behaves the same way. On mixed lists, it returns the pending ones instead of the completed ones.
I dug into it with the raw API and the cause is clear: api get ".../todos.json?completed=true" returns the completed to-dos correctly, but api get ".../todos.json?status=completed" returns empty. It looks like the SDK is sending ?status=completed while the Basecamp 3 API only recognises ?completed=true, so the param is ignored and the API falls back to the default (active) view.
Environment: basecamp 0.7.2 (installed via scoop), Windows 11, Git Bash.
Two bonus observations I ran into along the way:
-
messages list and messages show don't include the comments_count field, even though the raw API returns it. Anyone who wants to know which messages have comments has to run comments list one by one.
-
In Git Bash on Windows, basecamp api get "/buckets/..." without a query string gets its path rewritten by MSYS to C:/Program Files/Git/buckets/... and the call fails. Adding any query string avoids it.
The api get ?completed=true workaround works, but any automation that relies on the typed CLI to audit completed work is silently reporting zero.
Thanks.
There's a bug in the completed to-dos filter. Tested on 0.4.0 and upgraded to 0.7.2 — same behaviour.
When I run basecamp todos list -p -l --status completed --all, the command returns zero to-dos even on lists where every task is completed. The --completed shorthand behaves the same way. On mixed lists, it returns the pending ones instead of the completed ones.
I dug into it with the raw API and the cause is clear: api get ".../todos.json?completed=true" returns the completed to-dos correctly, but api get ".../todos.json?status=completed" returns empty. It looks like the SDK is sending ?status=completed while the Basecamp 3 API only recognises ?completed=true, so the param is ignored and the API falls back to the default (active) view.
Environment: basecamp 0.7.2 (installed via scoop), Windows 11, Git Bash.
Two bonus observations I ran into along the way:
messages list and messages show don't include the comments_count field, even though the raw API returns it. Anyone who wants to know which messages have comments has to run comments list one by one.
In Git Bash on Windows, basecamp api get "/buckets/..." without a query string gets its path rewritten by MSYS to C:/Program Files/Git/buckets/... and the call fails. Adding any query string avoids it.
The api get ?completed=true workaround works, but any automation that relies on the typed CLI to audit completed work is silently reporting zero.
Thanks.