Skip the update if there are incompatible apps (unless forced/overrriden)
Nobody has claimed this yet.
- 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.
Is your feature request related to a problem? Please describe.
I have a cron job that includes php7.4 /var/local/nextcloud/webroot/updater/updater.phar --no-interaction --quiet, and the last time it upgraded Nextcloud, it disabled the oidc_login and twofactor_u2f apps, among others. Disabling the former prevents logging in, and unintentionally disabling the latter is a security issue, I think.
Describe the solution you'd like
Add a command-line flag to updater.phar so that if the upgrade would disable any apps, it prints an error message instead of continuing.
Describe alternatives you've considered
A command-line flag that lists specific apps that are considered critical would work too.
Additional context
The issue I had was updating from 22.2.3.0 to 23.0.0.10, and the logs showed these apps disabled:
2021-11-30T23:15:52+00:00 Disabled incompatible app: apporder
2021-11-30T23:15:52+00:00 Disabled incompatible app: metadata
2021-11-30T23:15:52+00:00 Disabled incompatible app: oidc_login
2021-11-30T23:15:52+00:00 Disabled incompatible app: polls
2021-11-30T23:15:52+00:00 Disabled incompatible app: twofactor_u2f
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 updater.phar's command-line option handling and the code that detects and disables incompatible apps. Done means an update stops with an error when incompatible apps would be disabled, while an explicit force or override permits it; verify the behavior in the updater's existing test flow if available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100