nextcloud / nextcloud/server

Change etag of folder when the quota of the folder changes

Open
#52,875 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

the problem

Currently the client is only creating a PROPFIND request when the etag of folders/files changes. In that request we ask for the properties quota-bytes-available and quota-bytes-used. During the discovery of a new file to upload we try to warn the user of the quota usage when needed based on the quota-bytes-available we got during a PROPFIND.

If the user only got more space and did not touch the folder by deleting files to get more space, the client won't know that the quota changed.
The client will wrongly stop the user from uploading new files even when they have space left in storage because a new PROPFIND was not triggered and information stored in the client is outdated.

solution

Change the etag of folders when the quota changes to make sure the client can update the user of how much quota is left without delays.

@sorbaugh @come-nc @icewind1991 ^^

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 tracing the server code that generates folder ETags and returns the quota-bytes-available and quota-bytes-used properties. Read the linked pull request 8191 and related issues 4580 and 6971 for context. Done means quota changes cause the folder ETag to change so the client receives updated quota data without requiring file changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, cloud
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.