nextcloud / nextcloud/server

Expose effective deleted-file retention and cleanup behavior to users

Open
#63,083 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

[!TIP]

Help move this idea forward
  • Use the 👍 reaction to show support for this feature.
  • Avoid commenting unless you have relevant information to add; unnecessary comments create noise for subscribers.
  • Subscribe to receive notifications about status changes and new comments.

Is your feature request related to a problem? Please describe.

While updating the Administrator Manual and User Manual coverage of the trash bin / deleted files, it became apparent that account holders currently have no way to see the effective behavior that applies to their trash bin. As a result, users may not understand why an item was removed or how long a deleted item is expected to remain available.

The effective handling of an account's deleted files depends on several administrative and runtime factors, including:

  • the configured trashbin_retention_obligation policy;
  • any global or per-account trash-bin size;
  • the account's configured storage quota and current usage; and
  • available filesystem space for accounts that do not have a quota

These factors determine how long items are retained and whether eligible items may be permanently deleted to free space. Some of these values can also change over time as the account's usage or the instance's available space changes.

Describe the solution you'd like

Make the effective trash-bin behavior visible to account holders from the Deleted files view, either directly in the view or through a clearly discoverable nearby information panel.

The information should explain, in user-facing terms:

  • the minimum retention period, when one is configured;
  • whether items may be removed earlier when space is needed;
  • whether items are automatically removed after a maximum age;
  • whether automatic expiration is disabled;
  • the effective trash-bin limit, if it can be meaningfully calculated;
  • the current trash-bin usage and, where available, the effective limit against which it is evaluated; and
  • that the displayed result may change when administrators change the configuration or when account usage or available instance space changes.

The information should describe the current policy and conditions, rather than guarantee the exact time at which a particular item will be deleted.

It may not always be possible to identify why a particular item was deleted. For example, it may have been removed manually by the account holder or administrator, or by an automatic retention or space-based cleanup operation.

This should be informational only. It should not expose administrator configuration unnecessarily or allow users to change the policy.

Describe alternatives you've considered

Administrators can document their configured policy for users, but this is not a reliable substitute:

  • The information is separated from the place where users manage deleted files.
  • Administrators may need to explain different behavior for different accounts.
  • The effective limit can depend on the account's current usage and, for accounts without a quota, available filesystem space.
  • Static documentation cannot show the current trash-bin usage or effective cleanup state.

Additional context

The UI should distinguish between:

  • the configured retention policy;
  • the effective trash-bin limit; and
  • the current conditions that may cause space-based cleanup.

Not all underlying values need to be exposed literally. In particular, raw instance-level filesystem information may be confusing or undesirable to show. A user-facing explanation of the resulting behavior may be preferable to displaying internal configuration details.

The feature should also account for states where a value is not applicable or cannot be determined, such as an account without a quota or an instance where available filesystem space is unknown.

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 Deleted files view and the retention-related behavior behind trashbin_retention_obligation; compare the Administrator Manual and User Manual coverage with the current implementation. Define how retention, limits, usage, quota, and unavailable values are presented for each account state, then verify that the view explains changing cleanup conditions without exposing unnecessary administrator configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
full-stack
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.