Inconsistent permission handling when sharing a folder of a space with a space member
Seen with opencloud 3.7.0, android 1.0.0, and desktop Beta 3.0.0.1834
Describe the bug
Spaces allow sharing of subfolders. When shared with a space member, it is possible to define different permissions for being a member and for receiving the share. Web UI, Desktop and Android handle this situation inconsistently.
Steps to reproduce
-
admin creates a space Mountain and adds user mary with read/write permission.
-
admin creates a folder Sky in Mountain and adds some nice cloud images there.
-
admin shares the folder Sky with user mary with readonly permission.
-
User mary connects with android and
- finds the folder Sky under Shares. She has readonly permission there. OKish
- finds the folder Sky under Spaces/Mountain and has read write permissions there. OK
- User mary connects with the desktop client and
- finds the folder Sky under Shares with very special permissions there: Files can be deleted and renamed. Files cannot be edited or created. BAD
- finds the folder Sky alo under Spaces/Mountain and has read/write permissions there. OK
- User mary logs in at the Web UI and
- finds, that Shares -> Sky immediately transports her to Spaces -> Mountain -> Sky. OKish
- She has read/permissions there. OK
- admin removes mary from the space
- this makes mary's browser show broken breadcrumbs:
Shares -> Shared with me -> Sky -> ountain(without the 'M') and an error message. BAD
- this makes mary's browser show broken breadcrumbs:
- mary tries again and Shares -> Sky now ends up in Shares -> Shared with me -> Sky. She now has readonly permissions. OK.
Expected behavior
All clients should behave consistently. Maybe sharing with a space member (and adding a share receiver as space member) should not be allowed? Maybe the broader (combined) permission of both Membership and Shareing should be effective everywhere?
Actual behavior
Surprises due to inconsistencies.
Setup
Please describe how you started the server and provide a list of relevant environment variables or configuration files.
OC_XXX=somevalue
OC_YYY=somevalue
PROXY_XXX=somevalue
Additional context
Add any other context about the problem here.