Add soft delete and restore functionality for projects and tasks to prevent irreversible data loss

We are using Vikunja in a self-hosted, multi-user team environment, where both individual and shared projects are actively managed by several users.

Recently, I accidentally deleted an entire project while intending to delete a single task. This happened while working quickly and switching between tasks. From the task view, it is relatively easy to access project settings, and the option to delete a project is more immediately accessible than the option to delete the task itself. This increases the likelihood of user error.

Additionally, once the delete action is triggered, the confirmation dialogs for tasks and projects are very similar. This makes it difficult to clearly distinguish between deleting a single task and deleting an entire project, especially during fast-paced usage.

The main issue is that deletions in Vikunja are permanent. Once a project is deleted, all associated tasks and data are immediately removed with no possibility of recovery.

Backups are not a practical solution in a collaborative environment. Restoring a backup would overwrite other users’ recent work, potentially causing further data loss across the team. This makes backups insufficient for handling isolated mistakes.

Suggested improvements:

  • Implement a soft delete mechanism with the ability to restore deleted projects and tasks

  • Provide a “trash” or recovery area for recently deleted items

  • Make project deletion significantly harder than task deletion (e.g., additional confirmation steps, typing the project name, or stronger warnings)

  • Improve the UI/UX to clearly differentiate destructive actions, especially between deleting tasks and deleting entire projects

  • Review the placement and accessibility of the project deletion option when navigating from a task view

These changes would significantly improve data safety and reduce the risk of critical mistakes in team environments.

2 Likes

There’s a PR now for soft deleting projects: https://github.com/go-vikunja/vikunja/pull/2489

1 Like