nextcloud / nextcloud/server

Purging completed tasks automatically / in bulk

Open
#44,758 1 comment 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage enhancement feature: caldav performance 🚀
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Is your feature request related to a problem? Please describe.
Using the tasks app it's very easy to accumulate many completed tasks. When using external tasks applications (GNOME Tasks/Endeavour, Outlook CalDav Sync) , all of these completed tasks get synced and it causes performance issues and in some cases can make external CalDav task apps almost unusable.

https://github.com/nextcloud/tasks/issues/2309

https://github.com/nextcloud/tasks/issues/2125

https://help.nextcloud.com/t/mass-editing-deleting-tasks/26070

Describe the solution you'd like
A mechanism in server config to allow for deleting completed tasks after an interval, that could be ran with Nextcloud's other scheduled cron jobs.

Describe alternatives you've considered
I can seem to go into each individual completed task and delete it, but I don't seem to have a mechanism to delete them batches. I have over 1000 completed tasks so this could easily take hours to delete the in the web UI, and just attempting to load them takes several minutes and freezes my browser tab. I could also delete them directly from the database but this would raise the possibility of breakage/data loss.

Additional context
Per the developer of the tasks app, this is something that would need to be done server-side (while the tasks app is client-side), so I'm creating the issue here instead of the tasks app.

https://github.com/nextcloud/tasks/issues/2125

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the server-side task handling and the scheduled cron job mechanisms mentioned in the request. Determine where a configurable completion-retention interval could be integrated and how bulk deletion should avoid the performance and data-loss concerns described. Done means completed tasks are automatically purged after the configured interval without disrupting synchronization or other task data.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.