Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Maps is broken for Nextcloud container 26.0.2, App store offers ancient version 0.1.10 #1061

Closed
6 of 9 tasks
t-lo opened this issue Jun 1, 2023 · 6 comments · Fixed by #1070
Closed
6 of 9 tasks

Comments

@t-lo
Copy link

t-lo commented Jun 1, 2023

⚠️ This issue respects the following points: ⚠️

Bug description

Maps is broken with Nextcloud container images version 26.0.2, and likely previous 26.0 releases too.
The Nextcloud 26.x container images ship with PHP version 8.2.6, and recent versions of the Maps app require 8.1 or lower.
I'm not sure if AIO is affected too, but if it ships the same PHP version as the regular image it will.

Oddly enough the integrated Nextcloud store offers an ancient version - 0.1.10 - to use with Nextcloud 26. Installing it works, but enabling it fails with "Could not boot maps: Class \"OCP\AppFramework\Db\\Mapper" not found".

Users who upgrade from 25.x to 26.x have no way of knowing that this will break their maps app as seemingly, a working app is available for 26.x. Only after upgrading users will notice Maps is not available to them anymore.

The current version is not offered at all after the upgrade. Manual installation of 1.0.2 cannot be enabled:

This app cannot be installed because the following dependencies are not fulfilled:

  • PHP with a version lower than 8.1 is required.
    Manually bumping <php max-version= to 8.2 in appinfo/info.xml lets me enable the app, but opening it leads to an internal server error and "Class "OCA\Maps\AppInfo\Application" not found" in the nextcloud log.

Effectively, Maps does not work for docker image users on 26.0.2.

Steps to reproduce

  1. Start Nextcloud docker image
  2. Check Apps -> Multimedia -> Maps
  3. Install version 0.1.10 offered
  4. Maps will immediately be disabled, Nextcloud error log will contain "Could not boot maps: Class \"OCP\\AppFramework\Db\\Mapper" not found"

Expected behavior

App can be installed via the integrated App store, activated, and used.

Installation method

Official Docker image

Operating system

Other

PHP engine version

Other

Web server

Apache (supported)

Database engine version

MySQL

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

Updated to a major version (ex. 22.2.3 to 23.0.1)

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

None

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

No response

List of activated Apps

Enabled:
  - activity: 2.18.0
  - announcementcenter: 6.6.1
  - audioplayer: 3.3.1
  - bruteforcesettings: 2.6.0
  - calendar: 4.3.4
  - circles: 26.0.0
  - cloud_federation_api: 1.9.0
  - comments: 1.16.0
  - contacts: 5.2.0
  - contactsinteraction: 1.7.0
  - dashboard: 7.6.0
  - dav: 1.25.0
  - deck: 1.9.2
  - federatedfilesharing: 1.16.0
  - federation: 1.16.0
  - files: 1.21.1
  - files_accesscontrol: 1.16.0
  - files_automatedtagging: 1.16.1
  - files_pdfviewer: 2.7.0
  - files_photospheres: 1.26.2
  - files_retention: 1.15.0
  - files_rightclick: 1.5.0
  - files_scripts: 2.2.1 
  - files_sharing: 1.18.0
  - files_trashbin: 1.16.0
  - groupfolders: 14.0.2 
  - impersonate: 1.13.1  
  - integration_google: 2.0.2
  - integration_mastodon: 2.0.2
  - jitsi: 0.17.0
  - logreader: 2.11.0
  - lookup_server_connector: 1.14.0
  - maps: 1.0.2
  - nextcloud_announcements: 1.15.0
  - notifications: 2.14.0
  - oauth2: 1.14.0
  - onlyoffice: 7.8.0
  - password_policy: 1.16.0
  - phonetrack: 0.7.6
  - photos: 2.2.0
  - previewgenerator: 5.3.0
  - privacy: 1.10.0
  - provisioning_api: 1.16.0
  - recommendations: 1.5.0
  - related_resources: 1.1.0-alpha1
  - serverinfo: 1.16.0   
  - settings: 1.8.0
  - sharebymail: 1.16.0  
  - side_menu: 3.8.0
  - snappymail: 2.28.0   
  - spreed: 16.0.4
  - support: 1.9.0
  - survey_client: 1.14.0
  - systemtags: 1.16.0   
  - tables: 0.5.0
  - tasks: 0.15.0
  - text: 3.7.2
  - theming: 2.1.1
  - twofactor_backupcodes: 1.15.0
  - updatenotification: 1.16.0
  - user_status: 1.6.0
  - viewer: 1.10.0
  - weather_status: 1.6.0
  - workflow_pdf_converter: 1.11.0
  - workflowengine: 2.8.0
Disabled:
  - admin_audit: 1.16.0 (installed 1.12.0)
  - cfg_share_links: 1.2.2 (installed 3.0.2)
  - encryption: 2.14.0
  - files_external: 1.18.0
  - files_versions: 1.19.1 (installed 1.18.0)
  - firstrunwizard: 2.15.0 (installed 2.8.0)
  - suspicious_login: 4.4.0
  - twofactor_totp: 8.0.0
  - user_ldap: 1.16.0 (installed 1.12.2)

Nextcloud Signing status

No response

Nextcloud Logs

No response

Browser Console

No response

Additional info

No response

@szaimen
Copy link
Contributor

szaimen commented Jun 2, 2023

I'm not sure if AIO is affected too, but if it ships the same PHP version as the regular image it will.

AIO is not effected. It comes with PHP 8.1.

@tacruc
Copy link
Collaborator

tacruc commented Jun 2, 2023

Which PHP version are you using?

@t-lo
Copy link
Author

t-lo commented Jun 2, 2023

Which PHP version are you using?

The one shipped with the latest nextcloud 26.0.2 docker image, as per the summary:

The Nextcloud 26.x container images ship with PHP version 8.2.6, and recent versions of the Maps app require 8.1 or lower.

@adripo
Copy link
Contributor

adripo commented Jun 14, 2023

#1062 is related to the same issue.

From what I was able to test, if you upgrade to docker image v26 (which has PHP 8.2.7) and you already have the latest maps version installed (1.0.2), it will continue to work.
If you, otherwise, start from a clean installation, the appstore will show the latest compatible version 0.1.10 (which I think didn't had any check on PHP version) that will not work. If you try to force the installation (which I did) by manually downloading the v1.0.2 inside the folders and enable it, you will have the following error:

./occ app:enable maps
App "Maps" cannot be installed because the following dependencies are not fulfilled: PHP with a version lower than 8.1 is required.

Is there any real limitations in using newer php versions, or it can simply be updated here?
https://github.com/nextcloud/maps/blob/master/appinfo/info.xml#L37

Thanks @skjnldsv @tacruc

@adripo
Copy link
Contributor

adripo commented Jun 14, 2023

I proceeded to manually update the php max-version to 8.2 and tested the app on a newer installation and everyhing seems to work perfectly.

@t-lo
Copy link
Author

t-lo commented Jun 15, 2023

I proceeded to manually update the php max-version to 8.2 and tested the app on a newer installation and everyhing seems to work perfectly.

I can confirm that manually downloading 1.0.2, patching appinfo/info.xml => <php min-version="7.4" max-version="8.2"/> and enabling maps via the command line does indeed work with the latest nextcloud 26.0.2 docker image. Installing, patching, and then trying to enable it via the web interface does not work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants