nextcloud / nextcloud/updater

Rewrite verifyIntegrity() to work with less memory

Open
#598 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage enhancement feature: integrity
Dominant language
PHP
Stars
51
Forks
40
Avg merge
2d 19h
Merged PRs (30d)
3

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.

Feature request

Which Nextcloud Version are you currently using: (see administration page)
30.0.4

Is your feature request related to a problem? Please describe.
Yes. With < 256 M memory limit, verifyIntegrity() seems to fail silently with the current version.

Describe the solution you'd like
Make verifyIntegrity() less dependent on available memory. Right now, if the downloaded .zip file does not fit within the constraints of memory, it seems to silently fail which really throws off users without too much technical background. There is no mention of the root cause for the termination.

Describe alternatives you've considered
An alternative could be either skipping verification if the archive is too large (and alerting the user) or at least providing a config option to skip this verification.

Additional context
In some environments, it is not easily possible to increase the memory limit. Also, it is really hard to find out the root cause for this strange behaviour without any hint what is going (which is the current state of affairs).

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 locating verifyIntegrity() and tracing how it handles downloaded ZIP archives and memory-related failures. Determine how the current silent failure occurs and identify the existing tests or update flow that exercise integrity verification. Done means verification works within a 256 MB limit or reports a clear, actionable failure when it cannot.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend
Issue type
Feature
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.