nextcloud / nextcloud/server

Improve handling of invalid federated (and regular) shares

Open
#7,513 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement feature: federation feature: sharing
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

As @rullzer mentioned here we should improve the way closed servers with federated shares are handled. The issue in #7001 was fixed with caching and it works, but could be done "in a smarter" way.

I suggest that:

  • When a URL for the server of a federated share has been inactive (aka 404) for 30 days, then remove the federated share automatically with cron.php. A solution could be to ping the domain of the receiver once a day for example and after 30 days of "reached time out" remove the share to that specific receiver. Also, when a share is expired - notify the admin when that happens.
  • The federated shares are performance checked, so when a federated share performs bad, inform the user with a notification. (As a stage 2 step)
  • List all federated share users in the Files app, in addition to "Shared by link". So for example "Federated shares" and list all the users.

I'm sure you guys have even better ideas.

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 reading the discussion in #7001 and PR #7485, then trace how federated shares are handled by cron.php and displayed in the Files app. The issue proposes several stages—removal after repeated inactivity, admin or user notifications, and listing federated users—so the scope and acceptance criteria need to be clarified before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, cloud, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.