[Bug]: Activating custom maps broken on NC 34
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 598
- Forks
- 113
- PR merge metrics
- No merged PRs in 30d
Description
⚠️ This issue respects the following points: ⚠️
- This is a bug, not a question or a configuration/webserver/proxy issue.
- This issue is not already reported on Github (I've searched it).
- Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
- Maps app is up to date. See Maintenance and Release Schedule for supported versions.
- I agree to follow Nextcloud's Code of Conduct.
Bug description
On the left navigation under "My maps" there are the default and custom maps. When the Maps application is first started, then the default map is highlighted as active. Deactivating it with a click works.
But re-activating the default map or activating other custom maps does not work. Despite clicking on them, they do not get highlighted as active.
Steps to reproduce
See video:
https://github.com/user-attachments/assets/608603e6-93b9-47d1-89f0-d5b821c320e3
Expected behavior
It should be possible to activate custom maps.
Installation method
I tested this with two new local Nextcloud 34 instances:
- Official Docker image (https://github.com/nextcloud/docker/blob/master/.examples/docker-compose/insecure/postgres/apache/compose.yaml)
- NixOS Nextcloud module with self-signed certificates
Operating system
None
PHP engine version
None
Web server
None
Database engine version
PostgreSQL
Is this bug present after an update or on a fresh install of the server?
Fresh Nextcloud Server install
Is this bug present after an update or on a fresh install of the app?
Fresh Nextcloud Maps install (never installed before)
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
{
"system": {
"htaccess.RewriteBase": "\/",
"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
}
],
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"password": "***REMOVED SENSITIVE VALUE***",
"port": 6379
},
"upgrade.disable-web": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"localhost:8080"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "pgsql",
"version": "34.0.3.2",
"overwrite.cli.url": "http:\/\/localhost:8080",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true
}
}
List of activated Apps
Enabled:
- activity: 7.0.0
- app_api: 34.0.0
- appstore: 1.0.0
- bruteforcesettings: 7.0.0
- calendar: 6.5.3
- circles: 34.0.0
- cloud_federation_api: 1.18.0
- comments: 1.24.0
- contacts: 8.7.6
- contactsinteraction: 1.15.0
- dashboard: 7.14.0
- dav: 1.40.0
- federatedfilesharing: 1.24.0
- federation: 1.24.0
- files: 2.6.0
- files_downloadlimit: 5.2.0
- files_lock: 34.0.1
- files_pdfviewer: 7.0.0-dev.0
- files_reminders: 1.7.0
- files_sharing: 1.26.0
- files_trashbin: 1.24.0
- files_versions: 1.27.0
- firstrunwizard: 7.0.0-dev.0
- logreader: 7.0.0
- lookup_server_connector: 1.22.0
- maps: 1.7.1
- nextcloud_announcements: 6.0.0
- notes: 6.0.2
- notifications: 7.0.0-dev.1
- oauth2: 1.22.0
- office: 1.0.0
- password_policy: 6.0.0-dev.0
- photos: 7.0.0
- privacy: 6.0.0-dev.1
- profile: 1.3.0
- provisioning_api: 1.24.0
- recommendations: 7.0.0
- related_resources: 5.0.0-dev.0
- serverinfo: 6.0.0
- settings: 1.17.0
- sharebymail: 1.24.0
- support: 6.0.0
- survey_client: 6.0.0-dev.0
- systemtags: 1.24.0
- text: 8.0.0
- theming: 2.9.0
- twofactor_backupcodes: 1.23.0
- twofactor_totp: 16.0.0
- updatenotification: 1.24.0
- user_status: 1.14.0
- viewer: 7.0.0-dev.0
- weather_status: 1.14.0
- webhook_listeners: 1.6.0
- workflowengine: 2.16.0
Nextcloud Signing status
No errors have been found.
Nextcloud Logs
{"reqId":"FFF7ryacQESgYvqmT4F2","level":2,"time":"2026-08-18T12:31:58+00:00","remoteAddr":"10.89.1.5","user":"--","app":"no app in context","method":"GET","url":"/","scriptName":"/index.php","message":"Host localhost was not connected to because it violates local access rules","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0","version":"","data":[]}
{"reqId":"FFF7ryacQESgYvqmT4F2","level":2,"time":"2026-08-18T12:31:58+00:00","remoteAddr":"10.89.1.5","user":"--","app":"no app in context","method":"GET","url":"/","scriptName":"/index.php","message":"Host localhost was not connected to because it violates local access rules","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0","version":"","data":[]}
{"reqId":"48R6CL6kH7QbiN4mFAhN","level":2,"time":"2026-08-18T12:32:04+00:00","remoteAddr":"10.89.1.5","user":"--","app":"no app in context","method":"POST","url":"/","scriptName":"/index.php","message":"Host localhost was not connected to because it violates local access rules","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0","version":"","data":[]}
{"reqId":"48R6CL6kH7QbiN4mFAhN","level":2,"time":"2026-08-18T12:32:04+00:00","remoteAddr":"10.89.1.5","user":"--","app":"no app in context","method":"POST","url":"/","scriptName":"/index.php","message":"Host localhost was not connected to because it violates local access rules","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0","version":"","data":[]}
{"reqId":"48R6CL6kH7QbiN4mFAhN","level":2,"time":"2026-08-18T12:32:04+00:00","remoteAddr":"10.89.1.5","user":"--","app":"PHP","method":"POST","url":"/","scriptName":"/index.php","message":"Undefined array key \"passwordsalt\" at /var/www/html/lib/private/Setup.php#374","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0","version":"","data":{"app":"PHP"}}
{"reqId":"48R6CL6kH7QbiN4mFAhN","level":2,"time":"2026-08-18T12:32:04+00:00","remoteAddr":"10.89.1.5","user":"--","app":"PHP","method":"POST","url":"/","scriptName":"/index.php","message":"Undefined array key \"secret\" at /var/www/html/lib/private/Setup.php#375","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0","version":"","data":{"app":"PHP"}}
{"reqId":"OrbCm3VJrAqDiHHdeeqi","level":3,"time":"2026-08-18T12:52:05+00:00","remoteAddr":"10.89.1.5","user":"cnp","app":"index","method":"GET","url":"/apps/maps/m/noIcon","scriptName":"/index.php","message":"Call to a member function getMimetype() on null in file '/var/www/html/custom_apps/maps/lib/Service/MyMapsService.php' line 161","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0","version":"34.0.3.2","exception":{"Exception":"Exception","Message":"Call to a member function getMimetype() on null in file '/var/www/html/custom_apps/maps/lib/Service/MyMapsService.php' line 161","Code":0,"Trace":[{"file":"/var/www/html/lib/private/AppFramework/App.php","line":137,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Maps\\Controller\\PageController"},"indexMyMap"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":324,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Maps\\Controller\\PageController","indexMyMap",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"maps.page.indexmymap","myMapId":"noIcon"}]},{"file":"/var/www/html/lib/base.php","line":1172,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/apps/maps/m/noIcon"]},{"file":"/var/www/html/index.php","line":25,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","Line":110,"Previous":{"Exception":"Error","Message":"Call to a member function getMimetype() on null","Code":0,"Trace":[{"file":"/var/www/html/custom_apps/maps/lib/Controller/PageController.php","line":71,"function":"getMyMap","class":"OCA\\Maps\\Service\\MyMapsService","type":"->","args":[0,"cnp"]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":165,"function":"indexMyMap","class":"OCA\\Maps\\Controller\\PageController","type":"->","args":[0,{"__class__":"OCA\\Maps\\Service\\MyMapsService"}]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":78,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Maps\\Controller\\PageController"},"indexMyMap"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":137,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\Maps\\Controller\\PageController"},"indexMyMap"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":324,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\Maps\\Controller\\PageController","indexMyMap",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"_route":"maps.page.indexmymap","myMapId":"noIcon"}]},{"file":"/var/www/html/lib/base.php","line":1172,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/apps/maps/m/noIcon"]},{"file":"/var/www/html/index.php","line":25,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/custom_apps/maps/lib/Service/MyMapsService.php","Line":161},"message":"Call to a member function getMimetype() on null in file '/var/www/html/custom_apps/maps/lib/Service/MyMapsService.php' line 161","exception":"{\"class\":\"Exception\",\"message\":\"Call to a member function getMimetype() on null in file '/var/www/html/custom_apps/maps/lib/Service/MyMapsService.php' line 161\",\"code\":0,\"file\":\"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php:110\",\"trace\":\"#0 /var/www/html/lib/private/AppFramework/App.php(137): OC\\AppFramework\\Http\\Dispatcher->dispatch(Object(OCA\\Maps\\Controller\\PageController), 'indexMyMap')\\n#1 /var/www/html/lib/private/Route/Router.php(324): OC\\AppFramework\\App::main('OCA\\\\Maps\\\\Contro...', 'indexMyMap', Object(OC\\AppFramework\\DependencyInjection\\DIContainer), Array)\\n#2 /var/www/html/lib/base.php(1172): OC\\Route\\Router->match('/apps/maps/m/no...')\\n#3 /var/www/html/index.php(25): OC::handleRequest()\\n#4 {main}\",\"previous\":{\"class\":\"Error\",\"message\":\"Call to a member function getMimetype() on null\",\"code\":0,\"file\":\"/var/www/html/custom_apps/maps/lib/Service/MyMapsService.php:161\",\"trace\":\"#0 /var/www/html/custom_apps/maps/lib/Controller/PageController.php(71): OCA\\Maps\\Service\\MyMapsService->getMyMap(0, 'cnp')\\n#1 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(165): OCA\\Maps\\Controller\\PageController->indexMyMap(0, Object(OCA\\Maps\\Service\\MyMapsService))\\n#2 /var/www/html/lib/private/AppFramework/Http/Dispatcher.php(78): OC\\AppFramework\\Http\\Dispatcher->executeController(Object(OCA\\Maps\\Controller\\PageController), 'indexMyMap')\\n#3 /var/www/html/lib/private/AppFramework/App.php(137): OC\\AppFramework\\Http\\Dispatcher->dispatch(Object(OCA\\Maps\\Controller\\PageController), 'indexMyMap')\\n#4 /var/www/html/lib/private/Route/Router.php(324): OC\\AppFramework\\App::main('OCA\\\\Maps\\\\Contro...', 'indexMyMap', Object(OC\\AppFramework\\DependencyInjection\\DIContainer), Array)\\n#5 /var/www/html/lib/base.php(1172): OC\\Route\\Router->match('/apps/maps/m/no...')\\n#6 /var/www/html/index.php(25): OC::handleRequest()\\n#7 {main}\"}}","CustomMessage":"Call to a member function getMimetype() on null in file '/var/www/html/custom_apps/maps/lib/Service/MyMapsService.php' line 161"}}
Browser Console
Additional info
No response
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
Reproduce the activation failure in the Maps app, then start at lib/Service/MyMapsService.php line 161 and lib/Controller/PageController.php line 71 for the /apps/maps/m/noIcon route. Trace why getMyMap returns no file object when a map is selected. Done means the default and custom maps can be activated and the null getMimetype() error no longer occurs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, php
- Domain
- backend, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100