Skip to content

fix: Add support for unified sharing - #10307

Open
nilsding wants to merge 129 commits into
masterfrom
feature/noid/unified-sharing
Open

fix: Add support for unified sharing#10307
nilsding wants to merge 129 commits into
masterfrom
feature/noid/unified-sharing

Conversation

@nilsding

@nilsding nilsding commented Jul 6, 2026

Copy link
Copy Markdown
Member
Screenshot 2026-08-13 at 23 08 19 Screenshot 2026-08-13 at 23 08 16 Screenshot 2026-08-13 at 23 08 12 Screenshot 2026-08-13 at 23 04 41 Screenshot 2026-08-13 at 23 04 32 Screenshot 2026-08-13 at 23 04 25

TODO

  • adapt to recent WIP API changes
  • clean up commits
  • add tests
  • make UI look nice, matching the new style used throughout recent additions (e.g. account wizard redesign, governance dialog)
  • integrate with File Provider UIExt

Checklist

AI (if applicable)

@nilsding nilsding self-assigned this Jul 6, 2026
@Rello Rello moved this to 🏁 NC34 in 💻 Desktop Clients team Jul 6, 2026
@nilsding
nilsding force-pushed the feature/noid/unified-sharing branch 3 times, most recently from 84fd68a to c93a4a3 Compare July 10, 2026 10:08
@claucambra claucambra self-assigned this Jul 27, 2026
@claucambra claucambra added this to the 35.0.0 milestone Jul 27, 2026
@nilsding
nilsding force-pushed the feature/noid/unified-sharing branch from c93a4a3 to 2efe403 Compare July 28, 2026 07:15
@claucambra
claucambra force-pushed the feature/noid/unified-sharing branch 3 times, most recently from e5efeb2 to 54645cf Compare July 30, 2026 04:39
@claucambra
claucambra force-pushed the feature/noid/unified-sharing branch 2 times, most recently from be48328 to f0999ce Compare August 17, 2026 12:58
@claucambra claucambra changed the title draft: support for unified sharing fix: Add support for unified sharing Aug 17, 2026
@claucambra
claucambra marked this pull request as ready for review August 17, 2026 13:30
@claucambra
claucambra force-pushed the feature/noid/unified-sharing branch from f0999ce to b98ad3a Compare August 17, 2026 14:54
The UnifiedSearchResultsListModel needs to be available when linking
to anything that needs Systray; so linking should be done on the
nextcloud target instead of nextcloudCore to avoid future circular
linking dependencies

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
still need to figure out how to style the widgets as close to the provided
design as possible (or if we can trade it for a more "native" look and feel
while still keeping the original vision in mind)

also need to clarify when the input fields/properties will be visible

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>

Assisted-by: Codex:GPT-5
parse available types exposed through the capabilities in there

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>

Assisted-by: Codex:GPT-5
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>

Assisted-by: Codex:GPT-5
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>

Assisted-by: Codex:GPT-5
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>

Assisted-by: Codex:GPT-5
@claucambra
claucambra force-pushed the feature/noid/unified-sharing branch from 37ed709 to 92722b4 Compare August 20, 2026 04:36
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…setQuery

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
@claucambra
claucambra force-pushed the feature/noid/unified-sharing branch from 92722b4 to 7127a81 Compare August 20, 2026 09:06

@kra-mo kra-mo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the design side, there are a lot of things I could comment on, but generally, it should be aligned with the mockups:

Image

Can I ask why it diverges so much?

@claucambra

Copy link
Copy Markdown
Collaborator

From the design side, there are a lot of things I could comment on, but generally, it should be aligned with the mockups:
Image

Can I ask why it diverges so much?

Several reasons:

  1. The share editing view is not something we can easily design in a specific way. We need to dynamically construct the elements based on the properties provided from the server. That is what you see in imgs 1, 2, 4, 5
  2. We have existing styled components that we use in e.g. the setup wizard; if we want to follow a style closer to the mockups, this is IMO out of scope. We'd need to revisit the shared component set

There are some things that are not difficult to change that can be accommodated from the mockups e.g. using the toggle buttons rather than a combo box for permissions. I can implement those

@claucambra
claucambra force-pushed the feature/noid/unified-sharing branch from 7127a81 to 3c41ef4 Compare August 20, 2026 15:12
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…xactly one item selected

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
…rigger

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
@claucambra
claucambra force-pushed the feature/noid/unified-sharing branch from 3c41ef4 to c041f1c Compare August 20, 2026 18:34
@github-actions

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10307.zip

Digest: sha256:45e0a1e40d5a3b636762e8e60638762fabae3c6e3b1d9458684cfae5e3ba4275

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
78.4% Coverage on New Code (required ≥ 80%)
355 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@kra-mo

kra-mo commented Aug 21, 2026

Copy link
Copy Markdown
Member

There are some things that are not difficult to change that can be accommodated from the mockups e.g. using the toggle buttons rather than a combo box for permissions. I can implement those

Thanks, however

The share editing view is not something we can easily design in a specific way. We need to dynamically construct the elements based on the properties provided from the server. That is what you see in imgs 1, 2, 4, 5

This is anticipated by the server implementation. I can suggest discussing with other client developers about how they handle it.

And least for the general layout, it should match. i.e. no "Advanced settings" section, but a separate view for settings.

@claucambra

Copy link
Copy Markdown
Collaborator

@kra-mo current state

Screenshot 2026-08-24 at 01 40 14 Screenshot 2026-08-24 at 01 40 19 Screenshot 2026-08-24 at 01 40 28

@kra-mo kra-mo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@claucambra

  • These buttons should not have a background. But in general, the separation between internal/external shares should be removed. All shares should be in a single list now, instead of being sectioned.
image
  • The "Advanced settings" heading should be removed.
image
  • Does this string come from the server? In any case, the user should not need to know what ISO 8601 is. Use "YYYY-MM-DD". But it would be best if it was an actual date picker instead of just a text input.
image
  • Avatars should be rounded.
image
  • The padding between rows is really low. This should be increased to at least ~4px.
image
  • This field should be taller to indicate that multi-line text input is possible.
image

We don't use this icon for sharing. As a fallback, you can use person_add.

image
  • Is there no padding between the divider line and this search entry? It should have some.
Image
  • These switches and rows should use the same style as they do in the settings window.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: NC35
Status: 🏗️ At engineering

Development

Successfully merging this pull request may close these issues.

5 participants