Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: implement repeating tasks #2318

Draft
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

raimund-schluessler
Copy link
Member

No description provided.

@codecov
Copy link

codecov bot commented Aug 17, 2023

Codecov Report

Merging #2318 (5d844c0) into master (5f6f5b5) will increase coverage by 0.08%.
Report is 170 commits behind head on master.
The diff coverage is 9.14%.

❗ Current head 5d844c0 differs from pull request most recent head 2c6314e. Consider uploading reports for the commit 2c6314e to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2318      +/-   ##
==========================================
+ Coverage   24.87%   24.96%   +0.08%     
==========================================
  Files          63       69       +6     
  Lines        2388     3409    +1021     
  Branches      257      780     +523     
==========================================
+ Hits          594      851     +257     
- Misses       1776     2558     +782     
+ Partials       18        0      -18     

@sunkup sunkup force-pushed the 34-feature-request-repeating-tasks branch 2 times, most recently from 452b599 to 1cdc0f4 Compare August 20, 2023 08:46
@sunkup sunkup force-pushed the 34-feature-request-repeating-tasks branch from 1cdc0f4 to d59d017 Compare September 1, 2023 11:01
Copy link

@meichthys meichthys left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like a great start!
Thanks @sunkup for your work on this 👍

@sunkup sunkup force-pushed the 34-feature-request-repeating-tasks branch 2 times, most recently from 3a7732d to 5d844c0 Compare October 8, 2023 17:18
@sunkup sunkup marked this pull request as draft October 8, 2023 19:13
@sunkup sunkup force-pushed the 34-feature-request-repeating-tasks branch from 0033461 to 8ffefcc Compare November 10, 2023 13:24
@sunkup sunkup force-pushed the 34-feature-request-repeating-tasks branch from 8ffefcc to 2f756ce Compare December 10, 2023 11:42
@raimund-schluessler raimund-schluessler force-pushed the 34-feature-request-repeating-tasks branch from 2f756ce to 721efb3 Compare January 2, 2024 21:43
@raimund-schluessler
Copy link
Member Author

@sunkup I rebased to current master.

@raimund-schluessler raimund-schluessler force-pushed the 34-feature-request-repeating-tasks branch from 4e3c054 to 2c5677f Compare January 10, 2024 21:21
@raimund-schluessler raimund-schluessler force-pushed the 34-feature-request-repeating-tasks branch from 2c5677f to e83e073 Compare January 19, 2024 21:15
@raimund-schluessler raimund-schluessler linked an issue Feb 1, 2024 that may be closed by this pull request
@raimund-schluessler raimund-schluessler changed the title Repeating tasks feat: implement repeating tasks Feb 1, 2024
@raimund-schluessler raimund-schluessler force-pushed the 34-feature-request-repeating-tasks branch from e83e073 to 0005f23 Compare February 1, 2024 21:56
@arunas-smala
Copy link

arunas-smala commented Feb 7, 2024

Any plans to finish it? Any help needed?

@sunkup
Copy link

sunkup commented Feb 8, 2024

Any plans to finish it? Any help needed?

Please, feel free. I don't really get to work on this more any time soon 👍

@bobiko
Copy link

bobiko commented Mar 11, 2024

What is the status of ? from what I see, it's stuck on a synchronization problem

@sunkup sunkup force-pushed the 34-feature-request-repeating-tasks branch from b298aad to fdf3b3e Compare August 11, 2024 09:29
@jancborchardt
Copy link
Member

@jancborchardt Do you think the Nextcloud Groupware or Tasks teams could provide a helping hand to get this over the finish line? It's one of the oldest (from Nextcloud v9) and as far as I can see, it is the most requested feature in all of nextcloud by a significant margin (379 👍) As a longtime user of Nextcloud (and tasks), I've taken a few shots at implementing this myself, but haven't gotten anywhere as close as this draft PR.

@meichthys is there some list of what’s missing? cc @ChristophWurst @AndyScherzinger possibly for planning.

@meichthys
Copy link

@jancborchardt Thanks for reaching out!
Over the past few months I've lost track of the most recent progress on this, so I don't have a list of what's missing, but perhaps @sunkup could shed some light?

@sunkup
Copy link

sunkup commented Aug 20, 2024

I will look into it one of the coming days and create an overview of the current state.

@ChristophWurst ChristophWurst self-assigned this Aug 22, 2024
@sunkup
Copy link

sunkup commented Aug 23, 2024

Here's a list of what is (not) working.

Mind you this was an experiment for me. The code is not pretty and needs refactoring from someone more experienced. While I learned a lot about vue and nextcloud apps, I realise, I don't want to work on this anymore. I hope @ChristophWurst can make something of it. If not, then maybe just use it as a template and start over from scratch. 👍

I am happy this feature gets some attention now. Looking forward to use it :)


  • show recurring tasks with "repeat" checkbox icon (works)
  • on marking as complete (Does not seem to work anymore, but did work, so probably just broken)
    • if UNTIL is not reached:
      • update the task start date, to the next recurring date (even if that one still lies in the past too)
      • clear the due date, if it lies before the next recurrence date
      • do not mark as complete
    • if UNTIL was reached: handle the task like a non-recurring; mark as complete
  • on marking as cancelled (works)
    • cancel the whole recurring todo - ie "all days"
  • recurrence setting in side menu (similar to the calendar app)
    • display current recurrence state (works)
    • Delete recurrence (works)
    • editing:
      • never
      • daily (works, but needs a lot of refactoring)
        • + interval
      • weekly
      • monthly
      • yearly
    • localised translations

@frederikb96
Copy link

This forum post is also about this issue, just wanted to link it here for reference :)

And in the post, the Android app tasks.org is mentioned, which supports recurrent tasks. I use it myself, and this way recurrent tasks can be synced via davx to Nextcloud. They are not displayed correctly, though, obviously :)

Probably, you already know about this, but if not, maybe knowing how tasks.org handles recurrent tasks and syncing to davx, helps during development :)

Thanks 🙂

@meichthys
Copy link

And in the post, the Android app tasks.org is mentioned, which supports recurrent tasks. I use it myself, and this way recurrent tasks can be synced via davx to Nextcloud. They are not displayed correctly, though, obviously :)

Be careful not to mark a recurring task as complete via the Nextcloud web interface. The task recurrence will be corrupted.

@Luncheon3462

This comment was marked as off-topic.

@Felitendo
Copy link

This has already been implemented for the Nexcloud Calendar App. Maybe someone from the Nextcloud GmbH who was able to implement this on the Calendar App could also take a look at the Tasks App?

@ChristophWurst
Copy link
Member

@Felitendo we (Nextcloud GmbH) are not working on this right now. The people who implemented recurrence for Calendar do not work at Nextcloud GmbH either. But the good news is that Calendar code is available to all of us, which means that there is limitation/disadvantage on who can work on repeating tasks.

@Coyote21

This comment was marked as off-topic.

@Felitendo
Copy link

@Coyote21 just use tasks.org, it has the reoccurring tasks feature and you can directly connect it to your Nextcloud via either CalDav or DAVx5

@Coyote21
Copy link

@Felitendo Yeah, thanks for the suggestion. I've decided it's something I'm going to try, but I'm reluctant/sceptical because my usual workflow involves organising my todos on the desktop when I'm at home (or in the office). I only use the Android app while I'm out and about, as reminders of where I need to go and what I need to do when I get there.

Almost all of the recurring tasks I need in my todo list are performed either at home or at the office, therefore are "checked off" using the desktop interface.

But as I said, I'm going to try experimenting with running everything from the Android app (tasks.org) as you suggested, or at least manage all the recurring tasks through tasks.org.

@meichthys
Copy link

meichthys commented Jan 31, 2025

@Coyote21, perhaps you saw this already, but take note of #2318 (comment)

I learned the hard way and don't want anyone else to have to deal with it. (Marking recurring tasks on Nextcloud currently will destroy the recurrence of the task, and at worst can corrupt the task from being viewed at all.

Tasks.org does indeed work great with the nextcloud tasks caldav backend btw.

@suther
Copy link

suther commented Feb 25, 2025

How can we support to get this PR merged?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🏗️ In progress
Status: 🏗️ At engineering