djagoo
April 12, 2025, 6:26am
1
Hi,
for the last 5 years all our users hat the external sites app as default which opened the first external sites app (id1). With NC 31 there seems to be a change which ignores our line
'defaultapp' => 'external',
in the config.php. I also tried to set an external app as defaultapp via gui settings / design… which throws this error:
I can select any other app as default app there but not an external sites app.
Does anyone have an idea how to solve this other than redirecting / via the webserver to /external/1 ?
tflidd
April 14, 2025, 12:02pm
2
Did you check the logfiles? There might be something failing when it is trying to load the app.
djagoo
April 15, 2025, 5:58am
3
Yes, I can’t find anything within the logs and the external sites are working like before when accessing them via the icon bar.
tflidd
April 15, 2025, 8:09am
4
They changed something:
opened 05:41PM - 23 Aug 24 UTC
closed 04:04PM - 09 Sep 24 UTC
bug
3. to review
28-feedback
### ⚠️ This issue respects the following points: ⚠️
- [X] This is a **bug**, no… t a question or a configuration/webserver/proxy issue.
- [X] This issue is **not** already reported on [Github](https://github.com/nextcloud/server/issues?q=is%3Aopen+is%3Aissue+label%3Abug) OR [Nextcloud Community Forum](https://help.nextcloud.com/) _(I've searched it)_.
- [X] Nextcloud Server **is** up to date. See [Maintenance and Release Schedule](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) for supported versions.
- [X] I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
### Bug description
Cannot set an external link as the global default app
### Steps to reproduce
1. Install app: External sites
2. Create an external site (will show up on top bar)
3. Install app: Theming
4. Go to Administration settings > Theming
5. Turn on: Use custom default app
6. X out one of the existing ones (there seems to be a limit of two)
7. Add your own external site that you created above
### Expected behavior
External site is added as the custom default app
---
Actual behavior: error message:
> Could not set global default apps

### Installation method
Official All-in-One appliance
### Nextcloud Server version
28
### Operating system
Debian/Ubuntu
### PHP engine version
PHP 8.1
### Web server
Apache (supported)
### Database engine version
MySQL
### Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
### Are you using the Nextcloud Server Encryption module?
None
### What user-backends are you using?
- [X] Default user-backend _(database)_
- [ ] LDAP/ Active Directory
- [ ] SSO - SAML
- [ ] Other
### Configuration report
_No response_
### List of activated Apps
_No response_
### Nextcloud Signing status
_No response_
### Nextcloud Logs
_No response_
### Additional info
_No response_
master
← fix/theming/custom-apps-order
opened 11:45AM - 27 Aug 24 UTC
* Resolves: https://github.com/nextcloud/server/issues/47479
## Summary
Th… e custom defaults "apps" and order were using the apps and not navigation entries (see the linked issue for more details).
The confusion lead to a few problems that can only be solved by only using the NavigationManager and not the AppManager.
Most of the logic is the same, except for checking against available navigation entries and not apps.
I tried touching as little as possible, all the frontend code is still the same and uses the incorrect "app" over "navigation entry" concept. On the frontend it still makes a bit sense, since the concept is a lot easier to grasp for users.
The config keys on the backend are kept the same to avoid migrations and deprecations.
In theory one could spend a lot more time on trying to fix this, but I already tried that a bit and it is a rabbit hole that is too deep for fixing and backporting.
The last commit is a fix that is useful even without all the other changes. In case an app is disabled while also being used for a custom order, the frontend would display "undefined" entries.
As for backporting, I kept the old broken interface by providing a proxy implementation. I hope this is good enough to be backported.
## Checklist
- Code is [properly formatted](https://docs.nextcloud.com/server/latest/developer_manual/digging_deeper/continuous_integration.html#linting)
- [Sign-off message](https://github.com/src-d/guide/blob/master/developer-community/fix-DCO.md) is added to all commits
- [ ] Tests ([unit](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#unit-tests), [integration](https://docs.nextcloud.com/server/latest/developer_manual/app_development/tutorial.html#integration-tests), api and/or acceptance) are included
- [ ] Screenshots before/after for front-end changes
- [ ] Documentation ([manuals](https://github.com/nextcloud/documentation/) or wiki) has been updated or is not required
- [ ] [Backports requested](https://github.com/nextcloud/backportbot/#usage) where applicable (ex: critical bugfixes)
It was done by people working with external, so it should be fixed. Perhaps go through the discussion, not sure if the changes require any other changes (e.g. when some people don’t have access to the app…).
If nothing applies, I’d check directly with the app developers of the external app . Especially if it breaks a function like that between versions.