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
src/models/task.js Outdated Show resolved Hide resolved
@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

@meichthys
Copy link

@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.

@osscombat
Copy link

is there any hope to see it resolved?

@sunkup sunkup force-pushed the 34-feature-request-repeating-tasks branch from 2c6314e to b298aad Compare July 28, 2024 16:48
@homegrownhrbs
Copy link

I am very excited for reoccurring tasks! This will change the game for my use case.

@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
Copy link

+1 for interest/need for the feature.

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