Commit Graph

85 Commits

Author SHA1 Message Date
Enrique Pérez Arnaud 3616212ba2 feat(files_sharing): store and refresh OCM access tokens for external shares
Co-authored-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Enrique Pérez Arnaud <enrique@cazalla.net>
2026-06-17 11:01:16 +02:00
Anna Larch 6220ae9175 fix(sharing): restore STATUS_ACCEPTED for OC-migrated group share subshares
When an ownCloud-migrated group share (which has no per-user USERGROUP
subshare) is renamed for the first time, DefaultShareProvider::move()
inserted a new USERGROUP row without setting `accepted`. The column
defaulted to 0 (STATUS_PENDING), causing MountProvider to skip the
share on the next login — the shared file disappeared for the recipient.

Fix: set accepted = STATUS_ACCEPTED explicitly on the INSERT in
DefaultShareProvider::move() for the TYPE_GROUP branch.

Secondary fix: SharedMount::moveMount() silently returned true when
updateFileTarget() threw (e.g. group no longer exists on an OC-migrated
instance). Set $result = false in the catch block so View::rename()
propagates the failure instead of silently corrupting VFS state.

An opt-in occ command (sharing:fix-owncloud-group-shares) with --dry-run
support is included to repair existing broken instances. It targets only
TYPE_USERGROUP subshares with accepted=STATUS_PENDING and permissions!=0
(shares that were accepted but broken by the missing column default),
leaving explicitly declined shares (permissions=0) untouched.

AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-05-26 17:28:39 +02:00
Robin Appelman 6f253302ae feat: postpone receiving share validation after processing a certain number of users
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:49 +02:00
Robin Appelman c1a56cfb99 chore: move share recipient validation logic to a separate class
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:48 +02:00
Carl Schwan af94028bdb refactor: Remove old Share backend
This has been implicitely deprecated for a while with Share20 containing
the new implementation.

The only use was to determine whether remote sharing was enabled or not,
which we can do much more easily.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 10:09:40 +01:00
Robin Appelman aedae2c601 fix: add repair step for cleanup shares with excess (2)
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-29 18:19:16 +01:00
Robin Appelman d71c6796ca feat: perform share mount validation on share instead of on mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-21 16:35:53 +01:00
Robin Appelman 2a2cd291d5 Merge pull request #57392 from nextcloud/user-share-access-event
feat: add event for apps that a users share access might have changed
2026-01-12 11:58:00 +01:00
Robin Appelman 534632334c feat: add event for apps that a users share access might have changed
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-07 17:18:16 +01:00
Benjamin Gaussorgues 6ee8325b3e feat(files_sharing): add basic OpenMetrics exporter for files shares
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Carl Schwan 91d3c63222 fix: Remove auto increment from share_external
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:09 +01:00
Carl Schwan 3bdb344224 perf(external-sharing): Port to Entity and SnowflakeId
This removes all the read after write and we don't need to queries all
the time the same share in the same request anymore.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:07 +01:00
Carl Schwan d877262e07 chore: Bump autoloader files for new composer version
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-02 10:32:44 +01:00
Carl Schwan 9e77ab44fc chore(composer): Bump autoloader
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-27 13:12:47 +01:00
Joas Schilling 75a1a75d4c fix(federation): Increase the size of owner to allow oCIS cloud ids
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-20 15:38:37 +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
Robin Appelman c573867fff feat: add command to list shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-03-28 16:47:09 +01:00
Côme Chilliet 12ce8c0ef0 fix(sharing): Publish activity for download by public link
Even if dav endpoint is now used.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-03-25 15:43:09 +01:00
Luka Trovic 2ca51919db fix(sharing): add command to fix broken shares after ownership transferring
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2024-11-18 21:24:23 +01:00
Stefan Cherniakov 5e4a166365 feat(files_sharing): reminder for link shares with expiration date
Signed-off-by: Stefan Cherniakov <luka-sama@pm.me>
2024-09-03 13:37:17 +02:00
skjnldsv 3cb80626e4 feat(activity): add share link upload notifications
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-08-07 09:49:38 +02:00
skjnldsv f28d933acc feat(files_sharing): add public name prompt for files requests
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-07-18 20:15:39 +02:00
Julius Härtl 0ca5c7487a perf(files_sharing): Move events to listener classes and registration instead of boot
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-05-13 14:24:38 +02:00
Robin Appelman dec880b285 optimize builtin storage wrappers
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-11-08 15:26:10 +01:00
Joas Schilling 44b4c16a09 Merge pull request #39605 from nextcloud/bugfix/noid/final-events-cleanup
fix!: Final round of moving to IEventDispatcher
2023-08-04 10:39:57 +02:00
jld3103 c6806684d2 files_sharing: Add OpenAPI spec
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-07-31 16:58:49 +02:00
Joas Schilling c5dcf3c849 fix!: Remove LegacyBeforeTemplateRenderedListener from files_sharing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-28 14:11:21 +02:00
Robin Appelman a84fa17c73 Merge pull request #39170 from nextcloud/orphan-share-command
add command do delete orphan shares
2023-07-10 13:17:17 +02:00
Robin Appelman 50501f8515 add command do delete orphan shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-05 18:33:11 +02:00
Joas Schilling 05aa39d777 Fix event names of 2FA related typed events
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-03 14:25:01 +02:00
Joas Schilling cca3b9495c chore(autoloader): Update autoloaders with composer 2.5.5
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-04-21 15:53:55 +02:00
Louis Chemineau 4ab3c16403 Pluggable share provider
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-02-02 15:41:26 +01:00
Christoph Wurst aee9941fed chore(autoloaders): Update autoloader files for Composer 2.5.1
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-25 10:42:34 +01:00
Julien Veyssier 73f2876d64 rename SabrePublicPluginEvent to BeforeSabrePubliclyLoadedEvent, run build/autoloaderchecker.sh
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2022-12-15 17:37:34 +01:00
Carl Schwan f244406ebd Update composer autoloader
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-22 13:35:17 +01:00
Joas Schilling c443ecfbff Rebuild autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-20 10:33:26 +02:00
Carl Schwan 9b8ca9ad1f Move findBinaryFinder and isFunctionEnabled away from OC_Helper
findBinaryFinder is now a service that is still private but with some
minor optimization (remove the hasKey check).

isFunctionEnabled is now in OCP\Util

Both function are still keep but all internal usage in nextcloud/server
were migrated to the new usage, so that we can remove it in 26

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-23 19:44:04 +02:00
Vincent Petry a95c19e14b Add share attributes + prevent download permission
Makes it possible to store download permission

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-07-28 16:53:22 +02:00
Carl Schwan ec5cbdeb7f Make Color class public
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-07-05 14:44:44 +02:00
Carl Schwan 1c7ecfc544 Fix an issue with the search backend update
And update autoloader

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-14 12:11:02 +02:00
Cyrille Bollu c6a5c07041 Adds a "Request password" button to the public share authentication page for shares
of type TYPE_EMAIL, when the "video verification" checkbox isn't checked. Users accessing
non-anonymous public shares (TYPE_EMAIL shares) can now request a temporary password themselves.

- Creates a migration step for the files_sharing app to add the 'password_expiration_time'
  attribute to the oc_shares table.
- Makes share temporary passwords' expiration time configurable via a system value.
- Adds a system config value to allow permanent share passwords

-Fixes a typo in a comment in apps/files_sharing/src/components/SharingEntryLink.vue

See https://github.com/nextcloud/server/issues/31005

Signed-off-by: Cyrille Bollu <cyrpub@bollu.be>
2022-04-11 21:58:24 +02:00
Côme Chilliet 099b011bac Update autoloader to include new migration
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-04-05 09:15:29 +02:00
Côme Chilliet d84e87eab9 Build autoloader with new composer version
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-30 15:40:23 +02:00
Carl Schwan 5ce985f9be Update composer generated files to latest version
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-03-14 11:30:41 +01:00
Carl Schwan dacf2e47a3 Update to composer 2.1.11
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-11-04 12:30:11 +01:00
Joas Schilling 3adc997833 Bump autoloader
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-14 09:58:49 +02:00
Christoph Wurst a2bc7e2eec Update generated composer files to latest format
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-09-22 11:37:04 +02:00
John Molakvoæ c56c317d82 Emit event on link share action
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2021-09-10 08:36:45 +02:00
Robin Appelman 8597d9c7d4 add event for when a share is mounted
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-24 15:26:50 +02:00
Christoph Wurst 6a50c4a344 Add missing files for Composer v2
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-08-13 15:01:02 +02:00