Commit graph

283 commits

Author SHA1 Message Date
nfebe
b7dceb0b17 feat(sharing): Make share permission in bundled edit configurable
Add config option shareapi_bundle_reshare_with_edit to include reshare
permission in "Allow editing" bundle. Default is true to maintain
backward compatibility.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2026-02-05 07:36:04 +01:00
Ferdinand Thiessen
e25f864e28
chore(legacy): fix @stylistic/exp-list-style ESLint rule
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-26 00:05:29 +01:00
Ferdinand Thiessen
985b66c64f
feat(files): render filters in top bar
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-22 16:31:48 +01:00
nfebe
8526999ad5 feat(sharing): remove share permission from "Allow editing" default
Remove PERMISSION_SHARE from bundled permissions for ALL and ALL_FILE.
Update quick share selector to consistently strip share permission
when comparing, ensuring backwards compatibility with existing shares.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-01-20 19:30:47 +01:00
Ferdinand Thiessen
ec617b6b3e fix(files_sharing): ensure that external section is mounted
Make sure the external section is mounted before trying to assign it the
node prop.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-19 16:25:34 +00:00
nfebe
08382282ea fix(sharing): allow federated shares to non-trusted servers
When `showFederatedSharesToTrustedServersAsInternal` is enabled, the
trusted server filter was incorrectly applied to both internal and
external sharing sections. This prevented users from sharing with
federated users on non-trusted servers via the external share UI.

The filter now only applies to the internal section, allowing
non-trusted federated shares to appear in the external section.

Fixes: https://github.com/nextcloud/server/issues/56622

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-10 17:41:11 +01:00
Ferdinand Thiessen
f1d28332a6 chore: manually adjust event names (update:checked to update:modelValue)
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 16:25:54 +01:00
Ferdinand Thiessen
42112c8d30 chore: auto fix ESLint issues
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-25 16:25:54 +01:00
Andy Scherzinger
67b8be5926 style(icons): Replace icon with outline variant
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-10-27 16:29:55 +01:00
Ferdinand Thiessen
7fbc2ca25e feat: add new link endpoint when using globalscale
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-15 18:58:10 +00:00
Ferdinand Thiessen
23be816568 chore!(files_sharing): remove deprecated OCA.Sharing.ExternalLinkActions
This API was deprecated in Nextcloud 23.
It was replaced with `OCA.Sharing.ExternalShareAction` which now have a proper API
by using `registerSidebarAction` from `@nextcloud/sharing` instead.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-14 13:34:54 +02:00
nfebe
c1d9e22c51 fix(sharing): Adapt share suggestions to match trusted servers configs
When `show_federated_shares_to_trusted_servers_as_internal` is enabled
but `show_federated_shares_as_internal` is not, filter federated share
suggestions to only include trusted servers. Previously, searching for
an email address would suggest non-trusted federated servers.

Resolved: #54511
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-09 06:53:46 +01:00
Ferdinand Thiessen
ca65cf72d8
chore: add missing import of the logger
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:19:43 +02:00
Ferdinand Thiessen
91f3b6b4ee
chore: adjust code to new codestyle
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-02 13:19:42 +02:00
Ferdinand Thiessen
ee962f3a37 feat(files_sharing): provide web-components based sidebar API
This fixes apps providing vue components, which is invalid and does not
always work - and never work with Vue 3.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-18 15:45:20 +02:00
Ferdinand Thiessen
fdac770f56 fix(files_sharing): use newPassword always for the unsaved password
`newPassword` is the unsaved password, while `share.password` is the
current saved password.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-13 11:38:23 +02:00
Andy Scherzinger
5087e3376a style(icon): Use material symbol variant of upload icon
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2025-08-27 15:19:47 +00:00
Ferdinand Thiessen
cde2618356 fix(files_sharing): correctly apply icons and copy share link
1. Use correct color
2. Do not mix legacy icon classes with MDI icons this will show two
   icons...
3. Use proper aria label and put status into the title

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-26 20:07:37 +00:00
Ferdinand Thiessen
e99ea1a351 fix: adjust server styles for new secondary status colors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-19 15:05:01 +02:00
kramo
c5d1f2f9ff
fix(l10n): Less jargon in source strings
This removes:
- “enable” for settings
- “settings” for settings sections
- “all” when there is no obvious subset of items
- “show” and “open” for navigation actions
- “changes” for applying/discarding
- “to clipboard” when copying
- Explaining things that cannot happen
- Explaining things twice, right below each other
- Unnecessary technical jargon
- Text that sounds like marketing copy and serves no other purpose

Signed-off-by: kramo <git@kramo.page>
2025-08-12 14:37:34 +02:00
Ferdinand Thiessen
5cbfe61b18 fix(files_sharing): show shares to remote as internal if configured so
- if this is a GS instance
- or was configured by administrator

Then show the share as internal (remote and remote group shares).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-11 15:18:29 +00:00
Ferdinand Thiessen
ae5d57371a feat(files_sharing): show GS users similar to internal users
- resolves: https://github.com/nextcloud/server/issues/52497

Ensure that when global scale is enabled the federated users are shown
just like internal users.
Meaning no server part but instead use the email address like with internal.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-11 09:18:16 +00:00
skjnldsv
627f8cabd6 fix(files_sharing): ensure password or date is enabled by default to be enforced
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-02 12:22:31 +00:00
nfebe
2bb8c72c47 feat(files_sharing): Toggle display for trusted server shares
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-07-29 13:24:49 +01:00
skjnldsv
3e7dc97cae feat: replace material icons with outline versions
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-24 10:55:43 +02:00
Ferdinand Thiessen
fb397e6d23 fix(files_sharing): restore state when updating share failed
We need to save the previous state - here the password - so that if the
update fails we can revert the shown state.
This happens e.g. if you have the password policy app and try to add an
unsecure password.

To reproduce (with password policy):
1. Create new link share
2. enable password protection
3. use insecure password like `1234`
4. save share

Now you see that the update failed, but the password protection is still
enabled. This happened because `password` and `newPassword` were
misused. `password` was already set when `newPassword` was not saved so
we could not know to what we need to reset when the update failed.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-23 17:07:33 +02:00
Ferdinand Thiessen
87428bfeff
fix(files_sharing): do not double escape the share title
The title is already escaped by vue so special characters would result
in incorrect strings.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-19 11:44:21 +02:00
nfebe
2131b16ced fix(file_sharing): Remove string concatenated translation
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-06-17 11:50:59 +02:00
nfebe
f471bd292f fix(files_sharing): Move ConfigLexicon to Config dir, update sharing input
- Fix autoloading for new `ConfigLexicon`
- Ensure that sharing input in sharing tab respect `show-federated-shares-as-internal`:
This is important, because when federated shares are shown as internal the users should add them from the internal shares section

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-05-06 14:28:01 +01:00
nfebe
1c50329fdb feat(files_sharing): Add toggle for federated share display area
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-05-06 14:28:01 +01:00
nfebe
3c73f3fcae fix(files_sharing): Improve expiration date input change handling
If the time picker component is emitting a Date object already, then there is redundant call of `new Date(new Date())` and
therefore introduces subtle bugs, for example on chrome users could not  enter expiration date with keyboard.

- Use @update:model-value instead of @change/@input for more reliable date updates
- Ensure null and invalid dates are handled correctly in onExpirationChange
- Validate date input before updating defaultExpirationDateEnabled

Resolves : https://github.com/nextcloud/server/issues/51875

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-04-24 12:25:47 +02:00
nfebe
02efad600a fix(files_sharing): Apply default password setting in SharingDetailsTab
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-04-15 10:56:26 +01:00
skjnldsv
bc70e0ded0 fix(files_sharing): file request pass empty string if password or expiration is disabled
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-04-14 22:46:52 +02:00
Ferdinand Thiessen
c5043ce889
perf(files_sharing): do not require second propfind for account filter
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-04 11:21:08 +02:00
nfebe
b8cab3af57 feat(files_sharing): Show share expiration time in human friendly manner
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-03-27 19:56:05 +01:00
nfebe
e9ce055076 feat(files_sharing): Add share expiration indicator
Shares that would expire now shows a clock icon with a popover.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-03-27 19:56:05 +01:00
Ferdinand Thiessen
57c3153b46
fix(files_sharing): make sure IDs are unique for HTML elements
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-18 16:00:54 +01:00
Ferdinand Thiessen
b06f5ba4c4
refactor: Migrate nextcloud-vue usage to new import schema
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-02-20 02:28:13 +01:00
Christopher Ng
611cad32e0 fix(files_sharing): Fix public share expiration being set when toggle is not enabled
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-02-18 22:55:15 +01:00
nfebe
af72b957b2 fix(files_sharing): Hide internal recommendations in external share input
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:38 +01:00
nfebe
3d090d2904 fix(files_sharing): Update QuickShareSelect if share is modified
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:38 +01:00
nfebe
b16096343c test(files_sharing): Check that default expiration date is shown b4 create share
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:38 +01:00
nfebe
a2d4be2ddb fix: Show default expiration date before create link share
Since `ShareEntryLink` component is used to both create and display/list the share links,
we should only set default expiration date on `share.expireDate` when we know is a new share.

Otherwise, we overidding data from the backend.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-06 12:15:38 +01:00
nfebe
667fb8b89f fix(files_sharing): Adjust wrong labeling identified by test
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-02-03 12:38:06 +01:00
skjnldsv
92f4506270 fix(files_sharing): file request form validity check reset
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-01-30 11:50:03 +00:00
nfebe
148fdbf6e3 feat: Use redundant label for accessibility only
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-25 12:04:19 +01:00
nfebe
14573fc96c feat: Improve create link texts
Use `Create public link` for first link share creation

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-23 23:36:29 +01:00
nfebe
33eaf9ca4d feat(files_sharing): Modularize SharingInput to adapt with share sections
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-23 23:36:29 +01:00
nfebe
ae854e0dd2 refactor(files_sharing): Split internal & external shares
Create two seperate sections for internal and external shares.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-01-23 23:36:29 +01:00
provokateurin
260e82a8c4
fix(files_sharing): Stop overwriting the share expiration date with the default expiration date
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-15 15:48:22 +01:00