You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched for existing open or closed issue reports with the same problem.
Description
Pre-submission checklist
I have searched for existing open or closed issue reports with the same problem.
Description
When marking a repeating task as done via the REST API, the done field in the API response stays false even though the request explicitly includes "done": true. The done_at timestamp is updated correctly, but the task remains open in all interfaces. This affects all interfaces that use the REST API (web UI, Android app, direct API calls), not just one client.
Steps to reproduce
Create a task with a repeat interval: repeat_after: 86400, repeat_mode: 0
Mark the task as done via the API: POST /api/v1/tasks/{id} {"done": true, "repeat_after": 86400, "repeat_mode": 0, ...}
Observe the response: done is false, but done_at has a new timestamp.
Expected behavior
The task should be marked as done. The API response should reflect done: true.
Actual behavior
The done field remains false whenever repeat_after is present in the task. This is consistent across the web UI, REST API directly, and any client relying on the API response.
Additional investigation
Clearing repeat_after to null in the same request as done: true makes done flip to true - the presence of repeat_after blocks the flag.
Any subsequent API request that includes repeat_after in the payload (even without touching done) resets done back to false.
Pre-submission checklist
Description
Pre-submission checklist
Description
When marking a repeating task as done via the REST API, the
donefield in the API response staysfalseeven though the request explicitly includes"done": true. Thedone_attimestamp is updated correctly, but the task remains open in all interfaces. This affects all interfaces that use the REST API (web UI, Android app, direct API calls), not just one client.Steps to reproduce
repeat_after: 86400,repeat_mode: 0POST /api/v1/tasks/{id} {"done": true, "repeat_after": 86400, "repeat_mode": 0, ...}doneisfalse, butdone_athas a new timestamp.Expected behavior
The task should be marked as done. The API response should reflect
done: true.Actual behavior
The
donefield remainsfalsewheneverrepeat_afteris present in the task. This is consistent across the web UI, REST API directly, and any client relying on the API response.Additional investigation
repeat_aftertonullin the same request asdone: truemakesdoneflip totrue- the presence ofrepeat_afterblocks the flag.repeat_afterin the payload (even without touchingdone) resetsdoneback tofalse.Environment
Vikunja Version
2.3.0
Browser and version
No response
Can you reproduce the bug on the Vikunja demo site?
Yes
Screenshots
No response