-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Allow public routes for group-enabled apps #20310
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
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.
@LukasReschke Can you shed some light on the first condition here?
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.
It's a huge hack. Basically we use the AppFramework also for setting. $this->appName is then settings. However, the app settings does technically not exists at all and is thus also not enabled for the user. Thus it would always fail.
We thus do check if the app actually does exist, and if not we assume the request should just pass. The app settings would not exist and thus not go into that loop.
… yes … hacky … improvements welcome 😉
|
I always missed functionality to check if an app is enabled for any user, on the app manager. Other then that, we need to make sure that classes are loaded, triggered hooks are working correctly etc. |
Agreed. Especially since this must be not an uncommon requirement. I can do a separate PR.
@nickvergessen Can I maybe chat to you on IRC about how to write some tests for this? |
|
@DeepDiver1975 your architectural input needed here. This sounds like a huge hack to me. |
In an ideal world public access would be mapped to an special case user (e.g. system/public ❓ ) and it'll remain to the admin to enable an app for this special case user or not. |
|
For the time being: public pages should be accessible no matter which groups the app is enabled for - public is a use case of it's own. |
|
@PVince81 and myself had a chat about this earlier today to discuss situations where apps would not be around to listen to triggered hooks. This will not be an issue for public pages since all apps that are 'installed' are enabled while the page is loaded (see https://github.com/owncloud/core/blob/master/lib/private/app.php#L241 which is called with no arguments). What is still a separate issue is apps such as Activity that listen for hooks do not have a define behaviour for when it is only enabled for some users. For example if a user performs and action which triggers a hook activity listens for, but isn't in a group with activity enabled, the app wont have been loaded. In this case the hooks wouldn't be triggered but that would leave a gap in the activity feed for a user with that app enabled. Apps would need some sort of way to enable backends for everyone regardless of whether the user-visible section of the app is available for them |
|
The actual problem is |
|
@tomneedham it looks like this has failed some tests? my assumption is that this will make 9.0 is that indeed correct? |
4518767 to
3f00686
Compare
|
Any update on this ? What's missing ? |
@PVince81 This is still the problem from an architectural point of view. |
|
I'd say 9.1 if that's ok and also have this scheduled official. |
|
moved to 9.1, also the corresponding issue. |
3f00686 to
91047c3
Compare
|
We're past feature freeze, move to 9.2 ? @cmonteroluque |
|
I guess so... |
the bug is blue labeled, sev2 and assigned to 9.1 |
|
The fix is incomplete and had some architectural issues, so is likely to be a risky merge |
|
@DeepDiver1975 also see this comment in the ticket #20304 (comment) |
91047c3 to
319dcf2
Compare
|
We'll need to get to this eventually... tricky stuff |
|
Closing for now, until reborn |
|
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Fixes #20304.
Would appreciate feedback on the testing side of this. I'm not fully aware of the implications of the change.
@LukasReschke @PVince81 @nickvergessen @schiesbn