habits/repeating tasks scheduling reference date
Nobody has claimed this yet.
- Dominant language
- Clojure
- Stars
- 45k
- Forks
- 2.8k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 105
Description
### What happened?
When marking a habit/repeating task as done, I'd expect the new scheduled date to change to current day + x-days (defined by habit). I.e., the current date is not taken as a reference, but rather the scheduled date.
Example:
I have to water my plant every 3 days. It's Monday (06/06/22), after watering it, I create a TODO item, scheduling it for Thursday (09/06/22).
Damn, it's Friday (10/06/22), I forgot to water my plant yesterday! I water it and click the TODO box in Logseq. According to the Logseq behavior, I am supposed to water my plant again in 2 days (12/06/22). Instead, since I watered it just now, I should water my plant again on 13/06/22.

### Reproduce the Bug
1. please see the attached gif
### Expected Behavior
The current date should be taken as a reference, not the scheduled date, when ticking off a repeating task/habit.
### Screenshots
_No response_
### Desktop Platform Information
_No response_
### Mobile Platform Information
_No response_
### Additional Context
_No response_
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the repeating-task or habit completion flow described in the issue and shown in the attached GIF, using a task whose schedule is later than the completion date. Trace how ticking the task calculates its next scheduled date. Done means the next date uses the current completion day plus the habit interval, matching the stated Friday-to-Monday example.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100