-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Use NavigationManager instead of AppManager to handle custom apps order #47523
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens if you actually set an external site as default entry, you cannot use Nextcloud anymore? (login would redirect to external site, no?)
Is the comment in server/config/config.sample.php Lines 1169 to 1178 in 558877c
|
It still works, even if the user doesn't have access because all invalid entries are filtered out (e.g. because the external site is only allowed for a group the user is not part of). I think this might actually be broken on master, since only my last commit actually does this check.
No, it has to be updated. I'm not sure thought how the admin could effectively get the navigation entry id without poking the API 🤔 |
Cypress failure is related for once 😅 |
e0e29ca
to
2931b17
Compare
Cypress failure was because of a deeper issue in the backend side which I also fixed. |
5d64938
to
4dafd92
Compare
Fix will not be backported to any version due to the new interfaces and the close release of 30. |
Signed-off-by: provokateurin <kate@provokateurin.de>
Signed-off-by: provokateurin <kate@provokateurin.de>
Signed-off-by: provokateurin <kate@provokateurin.de>
Signed-off-by: provokateurin <kate@provokateurin.de>
Signed-off-by: provokateurin <kate@provokateurin.de>
Signed-off-by: provokateurin <kate@provokateurin.de>
4dafd92
to
cfe801b
Compare
Cypress issues are resolved (caused by bugs in the backend). @susnux can you review again? |
/compile amend / |
…ltapp' option Signed-off-by: provokateurin <kate@provokateurin.de> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
cfe801b
to
c0ac279
Compare
This actually broke the guests app, which is going nasty stuff: Can you fix it or raise a ticket there? |
Summary
The 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