nextcloud / nextcloud/server

Keep unshared calendars in trashbin to enable restoring them for group shares

Open
#45,783 21 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop 29-feedback bug feature: caldav feature: dav feature: trashbin
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Steps to reproduce
  1. Create a new calendar and a single event within
  2. Share the calendar with a group
  3. As a user within the group the calendar is shared with, go to the calendar edit menu, cancel the subscription
  4. The calendar will be gone (forever)
  5. As the initial user, stop sharing the calendar with the group
  6. Re-share the calendar with the group
  7. As the user who deleted the calendar, check if it reappeared. It won't have.
Expected behavior

When the user sharing the calendar is canceling the share and then re-shares it with the same group, every user in the group should see the calendar. Even (or especially) those who previously unsubscribed from it.
Alternatively, keep unsubscribed shared calendars in users trash bin forever, allowing them to restore as long as the calendar is still shared.

Actual behaviour

When I unsubscribe a calendar by accident and miss the short time-frame to cancel the delete operation, there is no chance for me to get the calendar back. It will effectively be gone forever until the user who shared the calendar with a group explicitly re-shares it with me/my user, nullifying all the advantages that come with "share with group".

Calendar app version

4.7.6

CalDAV-clients used

DAVx5, Gnome Integration

Browser

Firefox 126.0.2 64-Bit

Client operating system

Ubuntu 22.04 64-Bit

Server operating system

Debian 11

Web server

Apache

Database engine version

PostgreSQL

PHP engine version

PHP 8.1

Nextcloud version

29.0.1

Updated from an older installed version or fresh install

Updated from an older version

List of activated apps

No response

Nextcloud configuration

No response

Web server error log

No response

Log file

No response

Browser log

No response

Additional info

No response

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 with the issue's reproduction steps and trace the calendar unsubscribe, group-share removal, and re-share flow in the Nextcloud server. Determine how an unsubscribed shared calendar is removed and define completion as allowing the original group members to see it again after the share is restored, including the stated trash-bin alternative if that is the chosen behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.