-
Notifications
You must be signed in to change notification settings - Fork 157
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
[full-ci] Resharing for ocis #7086
Conversation
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
Results for oCISSharingPublic2 https://drone.owncloud.com/owncloud/web/26681/69/1 |
5075675
to
8c23df7
Compare
034da3e
to
728e296
Compare
just so we don't forget: |
1a9d7cf
to
2fd0f04
Compare
@ScharfViktor not sure if i understand you correct, can you explain more detailed? |
...es/src/components/SideBar/Shares/Collaborators/InviteCollaborator/InviteCollaboratorForm.vue
Show resolved
Hide resolved
Actual: inpossible to add manager user: and case with changing role: #7163 |
@ScharfViktor, thanks. Unfortunately this is not part of this pr :( |
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.
Looking good code-wise, will test locally now
@fschade I run into |
test falls all time in the same place only in oc10. I can reproduce it localy
Actual: |
I removed outdated acceptance tests in 70f1317. I also noticed the share indicators for received shares behave a little weird. Current behavior is that a received share always shows a share indicator. In oC10 that makes sense IMO, as received shares are being displayed in the personal files table. In oCIS however those are beding displayed in the share jail. That means, all resources in the share jail have the sharing indicator. What's the preferred solution here? We could also differ between those two scenarios, although it would require some engineering. |
@JammingBen I agree with your oc10 related argument, so I think for the share jail we only want to show share indicators for outgoing shares, i.e. for reshared resources. fine by me to use the |
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.
See comments. One thing that irritates me a bit is that the usage of the storage id is not consistent throughout your touched files. There are a lot of cases where we still determine the currentStorageId
in different way. Could you please doublecheck and strive for consistency here? To me it's not clear when to use the file id and when to use the storage id in a different way now.
|
||
return userShares?.length ? userShares[0] : undefined | ||
// the root share has an empty key in the shares tree. That's the reason why we retrieve the share by an empty key here | ||
return this.sharesTree['']?.find((s) => s.incoming) |
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.
But that's only true if we are in the share jail, right? For oc10 the old behaviour should be correct...
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.
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.
Still have questions:
- What if you have a group share and a user share (both incoming shares) for the same folder? Picking any incoming shares is not sufficient then, right?
- Still don't get why it would be sufficient in any case to check the incoming shares of the root node. What if the share is mounted in a deeply nested folder? E.g. you have
Shares/the-world
as default mount path for shares in oc10. Or you move a mounted share to another mount point.
|
||
// toDo: remove me | ||
// @jannik: please have a look here what we can wait for to be sure that it's there | ||
await new Promise((resolve) => setTimeout(resolve, 250)) |
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.
Remove? ;-)
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.
Fix ;)
@ScharfViktor, the manager fix is now part of this pr, should be fixed 😽 |
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.
Just gave it a spin, re-sharing an incoming share from the shared with me
page, then navigating into the share, doesn't show any share indicators in the file list and doesn't show the sharees in the right sidebar of any of the files.
ready for testing yet? If so, I can add my findings here |
use roles whenever possible use fileId for public link sharing fix indirect sharing-indicators behavior fix retrieving of shares from shares tree fix reshare permissions on share roots fix sharesTree errors for links, take parent permissions into account add ocis resharing env var to docker compose config load indicators in share jail when resharing is enabled make use of resharing composable refactor share loading out of link and share panel component into parent component to load the data only once cleanup expected failures & acceptance tests add gherkin debug helpers bump sdk bump ocis
@ScharfViktor, yes. But if you find minor thinks please create a separate issue, i want to close this pr asap. |
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.
Discussed some followups. Good to merge 💪
SonarCloud Quality Gate failed. |
fixed. Thanks)) |
@@ -243,11 +243,6 @@ export default { | |||
context.commit('CURRENT_FILE_OUTGOING_SHARES_ERROR', null) | |||
context.commit('CURRENT_FILE_OUTGOING_SHARES_LOADING', true) | |||
|
|||
let spaceRef | |||
if (storageId) { | |||
spaceRef = `${storageId}${path}` |
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.
enhance web to be able to re-share resources when using an ownCloud infinite scale backend. It now works for project and personal spaces as well as the sharing jail.
Besides that roles, space-ref and path send as separate values to the sharing api which simplifies the usage of it.