nextcloud / nextcloud/server

Propagate max chunk size downstream to clients

Open
#38,138 2 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Is your feature request related to a problem? Please describe.
If Nextcloud is behind a protective layer, for example Cloudflare, there is the need to set up chunking to enable the upload of files bigger than 100 MB.
Currently, this needs to be done manually in all locations which want to interact with the Nextcloud installation:

  1. mobile clients
  2. Server via OCC command
  3. manual config file edit for Desktop clients

Especially the last part is a dealbreaker, since I cannot ask “simple” users to go and edit a config file stashed away somewhere and add a line, which I need to copy to them.

Describe the solution you'd like
The server should act as a central instance which can dictate the max size of chunks. Clients can manually opt for smaller chunks, but not bigger. The max chunk size is automatically stored in the config of the clients, without the need of them running into a 413 error and reducing the chunk size until it fits.

Describe alternatives you've considered
Hand tune every client installation by ensuring that they edit the config file or setting in the app. But, as pointed out, this solution doesn't scale.

There is at least this PR in the pipeline which could partly address the issue: https://github.com/nextcloud/desktop/pull/4826

Additional context
Add any other context or screenshots about the feature request here.

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

The issue does not name server files, tests, or entry points. Start by reviewing the linked nextcloud/desktop PR #4826 and tracing how the server and clients currently configure chunk size. Done means the server communicates a maximum that clients store while still allowing smaller values, without relying on 413 retries.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
api, backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.