alainm23 / planify

Task manager with Todoist & Nextcloud support designed for GNU/Linux 🚀
GNU General Public License v3.0
3.45k stars 205 forks source link

Tasks sometimes recur every year without user input #1397

Closed TylerLaBree closed 2 weeks ago

TylerLaBree commented 1 month ago

NOTE: This could be a bug in Tasks.org, although I have decent reason to believe it's to do with Planify, since sometimes the bug only appears in Planify.

Describe the bug

Tasks that haven't been set to recur every year sometimes appear with this setting. The tasks in question are all made on Tasks.org, synced to the Nextcloud server, and then synced to Planify. Two different things will happen sometimes:

There is occasionally an end date present. Multiple lines in the ics file obtained from nextcloud contain RRULE (which I don't think is expected behavior).

To Reproduce

I have not been able to reproduce this bug while observing it, but it has occurred in the past few days, on up-to-date software (tasks.org, planify, and nextcloud)

Steps to reproduce the behavior:

  1. Make a task in tasks.org with or without recursion (but don't chose yearly)
  2. Sync to nextcloud server (or possibly other CalDAV server, since Nextcloud isn't aware of recursion, and theoretically shouldn't make any changes to RRULE)
  3. Sync to Planify, and view task.

Expected behavior

Recurring rules should match between tasks.org and planify, and they should not be changed without user input.

Desktop (please complete the following information):

Additional context

Case study 1

Planify task, with "every year" recursion present

Planify task, with "every year" recursion present

Tasks.org task, with no recursion present

Tasks.org task, with no recursion present

Ics file obtained from "Export" button on Nextcloud

BEGIN:VCALENDAR
VERSION:2.0
PRODID:+//IDN bitfire.at//ical4android (org.tasks)
BEGIN:VTODO
DTSTAMP:20240805T033100Z
UID:4161794278460644440
CREATED:20240805T033057Z
LAST-MODIFIED:20240805T033057Z
SUMMARY:Cancel internet bill
PRIORITY:9
STATUS:NEEDS-ACTION
CATEGORIES:🏠 Housekeeping,💲Money
X-APPLE-SORT-ORDER:740237702
DUE;TZID=America/Chicago:20240807T200001
DTSTART;TZID=America/Chicago:20240807T170000
BEGIN:VALARM
TRIGGER;RELATED=START:PT0S
ACTION:DISPLAY
DESCRIPTION:Default Tasks.org description
END:VALARM
END:VTODO
BEGIN:VTIMEZONE
TZID:America/Chicago
BEGIN:STANDARD
TZNAME:CST
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:CDT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
END:VTIMEZONE
END:VCALENDAR

Case Study 2

I don't remember adding anything about yearly recursion or 2037 in this task. It seems to have appeared from nowhere.

Planify task, with "every year" recursion present

Planify task, with "every year" recursion present

Tasks.org task, with recursion present

Tasks.org task, with recursion present

Ics file obtained from "Export" button on Nextcloud

BEGIN:VCALENDAR
VERSION:2.0
PRODID:+//IDN bitfire.at//ical4android (org.tasks)
BEGIN:VTODO
DTSTAMP:20240805T031158Z
UID:4583767219693711653
SEQUENCE:1
LAST-MODIFIED:20240805T031155Z
SUMMARY:Buy groceries
PRIORITY:9
STATUS:NEEDS-ACTION
RRULE:FREQ=YEARLY;UNTIL=20370308
CATEGORIES:🍲Cooking
DUE;TZID=America/Chicago:20240805T170001
BEGIN:VALARM
TRIGGER;RELATED=START:PT0S
ACTION:DISPLAY
DESCRIPTION:Default Tasks.org description
END:VALARM
END:VTODO
BEGIN:VTIMEZONE
TZID:America/Chicago
BEGIN:STANDARD
TZNAME:CST
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
DTSTART:20071104T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:CDT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
DTSTART:20070311T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
END:VTIMEZONE
END:VCALENDAR
liz-desartiges commented 1 month ago

I'm having the same issue, also editing events on planify seams to mess up my events on tasks.org

any idea @abaker

TylerLaBree commented 1 month ago

I noticed this is sort of a duplicate of https://github.com/alainm23/planify/issues/1221

abaker commented 1 month ago

I haven't heard of this before, but based on the first case it sounds like this is an issue in Planify. I'd guess that the second case happens after editing the task in Planify, then the RRULE syncs back to Tasks.org. Let me know if there is anything I can do to help

alainm23 commented 2 weeks ago

This is because Planify is reading the rrule value incorrectly, we are working to fix this.