App updater doesn't error out when app store requests fail
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
When upgrading nextcloud, the app updater tries to update the apps. For that it does requests to the apps.nextcloud.org API, in particular to https://apps.nextcloud.com/api/v1/apps.json.
This API is rate limited to only very few requests per hour, and after about 20 requests a HTTP error code (429 Too Many Requests) is returned.
The nextcloud app updater doesn't parse that error code, and instead simply continues and pretends no updates are available.
When this is happening during a NC major version upgrade, all 3rd party apps get disabled as incompatible during the upgrade, then the updater doesn't find a new (compatible) version and the apps are kept disabled, leaving the installation without 3rd party apps after the upgrade.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the app updater's requests to https://apps.nextcloud.com/api/v1/apps.json and inspect how HTTP failures are handled. Reproduce a 429 response if possible; done means the updater reports the failed request instead of treating it as no available updates, particularly during a major-version upgrade.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100