Anna Larch
85202d7f4e
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-06-02 09:14:52 +00:00
Robin Appelman
23967fced3
fix: don't put hashed password in share api response
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-19 15:15:39 +00:00
Salvatore Martire
88134bcaf5
fix: avoid checking share validity during mount updates
...
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-04-28 15:49:43 +02:00
Robin Appelman
1a48f760dd
fix: properly remove mount with moved child-shares
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:42 +02:00
Robin Appelman
b96a1c82a2
fix: skip owner when updating for added or removed share
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:42 +02:00
Robin Appelman
d4ab60cb57
fix: don't trigger recursive SharesUpdatedListener when share is moved on validate
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:41 +02:00
Robin Appelman
23547109f1
fix: only update share for the user who moved the share
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:41 +02:00
Robin Appelman
82ce6f567a
perf: only load a single mount at a time when checking for share conflicts
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:39 +02:00
Robin Appelman
b66abe553c
fix: don't trigger recursive SharesUpdatedListener when share is moved on create
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:39 +02:00
Robin Appelman
a77f8ca38c
fix: fix UserHomeSetupListener disabling with nested events
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:38 +02:00
Robin Appelman
fae8add994
fix: check share target parent in userfolders mount
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:38 +02:00
Robin Appelman
b6230eea7f
feat: improve VerifyMountPointEvent event
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:37 +02:00
Robin Appelman
a467f84bf5
fix: don't trigger on-setup share update from inside the share listener
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:37 +02:00
Robin Appelman
0d717bd0be
fix: add optional user param to IUserMountCache::removeMount
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:36 +02:00
Robin Appelman
dba7902748
fix: log when user is marked as needing share mount refresh
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:36 +02:00
Robin Appelman
86e83b789c
test: add test for UserHomeSetupListener
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:35 +02:00
Robin Appelman
ac3e74f67d
fix: default user_needs_share_refresh to true
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-28 15:49:35 +02:00
Louis
48e3e15c9f
Revert "[stable33] Revert "Stable33 authoritative share""
...
Signed-off-by: Louis <louis@chmn.me>
2026-04-28 15:49:33 +02:00
Robin Appelman
f558bc30f6
chore: psalm fixes
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-21 18:19:58 +02:00
Robin Appelman
ee70b113a8
fix: redact share token if share has more permissions than the current user
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-21 15:57:29 +00:00
Joas Schilling
937fa52370
fix(sharing): Don't redirect when accepting a share failed
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-30 11:13:09 +00:00
Tobias Kaminsky
1d176c03c3
Revert "[stable33] Stable33 authoritative share"
2026-03-24 16:41:26 +01:00
Robin Appelman
fad6a86cc8
fix: handle share moves
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
e63fe87b5c
fix: update shares on group delete
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
92515d1df1
fix: improve performance of handling delete shares
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
3a804a4e23
feat: use time-based cutoff for share updating instead of count
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
42c6ffa7a9
feat: export getData for public FileInfo interface
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
7c53aff96f
fix: disable share resolve postpone in tests
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
08bec7ef05
feat: postpone receiving share validation after processing a certain number of users
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
e3060179fc
chore: move share recipient validation logic to a separate class
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
aa9697cdef
fix: only validate mounts for new share
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
d718d68e26
feat: implement authoritative mount provider for share provider
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
563ff9f431
fix: prevent recursion in SharesUpdatedListener
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
7c7d0bd574
fix: remove validate-user-shares-once optimization
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
b4bc48bf91
feat: add event for tranfered shares
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
ecbc0d837a
fix: adjust SharesUpdatedListener to event change
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
7e16d3fe49
perf: only update shares for users once
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Robin Appelman
ffa6784bba
feat: perform share mount validation on share instead of on mount
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Salvatore Martire
65d99fc1dc
fix(files_sharing): respect config to skip certificate verification
...
This is important especially for local development, as certificate are
self-signed.
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-03-18 19:15:31 +01:00
Ferdinand Thiessen
480ec68655
fix: use canDownload for permissions on federated shares
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-17 21:58:09 +00:00
Joas Schilling
7e832305c9
chore: Fix SPDX header
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 09:10:37 +01:00
Joas Schilling
c442c69a78
fix(videoverification): Remove CSP wildcard for video verification
...
spreed does it via AddContentSecurityPolicyEvent event by now
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-11 19:01:18 +01:00
nfebe
b601b03084
fix(share): Set expiration time to end of day (23:59:59)
...
Shares now expire at the end of the selected day instead of the
beginning, allowing access throughout the entire expiration day.
Also return actual stored time in API response instead of hardcoded
00:00:00 to prevent timezone-related display issues in the UI.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-24 10:23:09 +00:00
Ferdinand Thiessen
ae4b6ea0b2
fix(files_sharing): make legacy downloadShare endpoint compatible with legacy behavior
...
This needs to be able to directly download files if specified to only
download a single file and not a folder.
Also it was possible to either pass a files array json encoded or a
single file not encoded at all.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-20 18:21:17 +00:00
Robin Appelman
3cb4b2faaf
fix: handle circle shares in share target repair
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-11 17:02:25 +00:00
Andy Scherzinger
6c5681213e
Merge pull request #58136 from nextcloud/share-target-repair-non-existing-parent
...
[stable33] fix: target-repair: handle cases where the parent folder doesn't exist
2026-02-09 16:50:27 +01:00
Robin Appelman
5213e5b06f
fix: don't trigger moveShareInOrOutOfShare for reshares
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-08 18:38:40 +00:00
Robin Appelman
b279fc0ed7
fix: target-repair: handle cases where the parent folder doesn't exist
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-06 14:42:42 +01:00
Cristian Scheid
e249b7e4e1
refactor(teams): adjust expected itemType and remove remote group type from member search controller
...
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-05 22:38:11 +01:00
Cristian Scheid
a1193b127d
feat(contacts): support federated users/groups search when adding team members
...
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-02-05 22:38:11 +01:00