nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
26.78k stars 4k forks source link

[Bug]: Not possible to update apps via web interface if config is read only #46404

Open szaimen opened 2 months ago

szaimen commented 2 months ago

⚠️ This issue respects the following points: ⚠️

Bug description

Not possible to update apps via web interface if config is read only

Steps to reproduce

  1. Set "config_is_read_only": true in config.php
  2. Try to update app via web interface
  3. Error is shown: image image

Expected behavior

It should update the app

Installation method

None

Nextcloud Server version

29

Operating system

Other

PHP engine version

PHP 8.2

Web server

Nginx

Database engine version

PostgreSQL

Is this bug present after an update or on a fresh install?

Fresh Nextcloud Server install

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

Configuration report

{
    "memcache.local": "\\OC\\Memcache\\APCu",
    "apps_paths": [
        {
            "path": "\/var\/www\/html\/apps",
            "url": "\/apps",
            "writable": false
        },
        {
            "path": "\/var\/www\/html\/custom_apps",
            "url": "\/custom_apps",
            "writable": true
        }
    ],
    "appsallowlist": false,
    "check_data_directory_permissions": false,
    "memcache.distributed": "\\OC\\Memcache\\Redis",
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "password": "***REMOVED SENSITIVE VALUE***",
        "port": 6379
    },
    "overwriteprotocol": "https",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "localhost",
        "eaio1.minikube.test"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "pgsql",
    "version": "29.0.3.5",
    "overwrite.cli.url": "https:\/\/eaio1.minikube.test\/",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "maintenance": false,
    "loglevel": 2,
    "log_type": "file",
    "logfile": "\/var\/www\/html\/data\/nextcloud.log",
    "log_rotate_size": 10485760,
    "log.condition": {
        "apps": [
            "admin_audit"
        ]
    },
    "preview_max_x": 2048,
    "preview_max_y": 2048,
    "jpeg_quality": 60,
    "enabledPreviewProviders": {
        "1": "OC\\Preview\\Image",
        "2": "OC\\Preview\\MarkDown",
        "3": "OC\\Preview\\MP3",
        "4": "OC\\Preview\\TXT",
        "5": "OC\\Preview\\OpenDocument",
        "6": "OC\\Preview\\Movie",
        "7": "OC\\Preview\\Krita",
        "0": "OC\\Preview\\Imaginary"
    },
    "enable_previews": true,
    "upgrade.disable-web": true,
    "mail_smtpmode": "smtp",
    "trashbin_retention_obligation": "auto, 30",
    "versions_retention_obligation": "auto, 30",
    "activity_expire_days": 30,
    "simpleSignUpLink.shown": false,
    "share_folder": "\/Shared",
    "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
    "updatedirectory": "\/nc-updater",
    "maintenance_window_start": 100,
    "allow_local_remote_servers": true,
    "davstorage.request_timeout": 3600,
    "htaccess.RewriteBase": "\/",
    "dbpersistent": false,
    "auth.bruteforce.protection.enabled": true,
    "ratelimit.protection.enabled": true,
    "files_external_allow_create_new_local": false,
    "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
    "preview_imaginary_url": "***REMOVED SENSITIVE VALUE***",
    "preview_imaginary_key": "***REMOVED SENSITIVE VALUE***",
    "config_is_read_only": true
}

List of activated Apps

No response

Nextcloud Signing status

No response

Nextcloud Logs

No response

Additional info

No response

szaimen commented 2 months ago

The reason is apparently this: https://github.com/nextcloud/server/blob/b50182b0d6be7c04f2b57efbfb12b5a226de8baf/apps/settings/lib/Controller/AppSettingsController.php#L573-L581 Question is if we can skip adjusting maintenance mode if config is read only?