Commit Graph

1973 Commits

Author SHA1 Message Date
Ferdinand Thiessen b81b787bbc Merge pull request #61530 from nextcloud/fix/rootfolder-sharedstorage-init
perf: avoid DIing IRootFolder at every shared storage init
2026-06-23 22:30:22 +02:00
Salvatore Martire 9d6c04169f Merge pull request #59857 from nextcloud/authoritative-time-accounting-fix
fix: track time spent in recursive markOrRun calls
2026-06-23 18:48:02 +02:00
Salvatore Martire 93a4f887ea perf: avoid DIing IRootFolder at every shared storage init
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-06-23 11:10:27 +02:00
Salvatore Martire 351d3c6377 Merge pull request #61517 from nextcloud/fix/noserverget-shares
fix: stop calling DI container in SharedStorage
2026-06-23 10:39:32 +02:00
Salvatore Martire b7c97ea269 fix: stop calling DI container in SharedStorage
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-06-22 23:33:46 +02:00
Robin Appelman 6cb5115eb3 Merge pull request #60465 from nextcloud/share-cleanup-mounts
fix: update cached mounts when moving share in repair step
2026-06-22 15:52:47 +02:00
Robin Appelman fdb9d12ee9 Merge pull request #60466 from nextcloud/share-target-repair-expensive
fix: properly mark CleanupShareTarget as expensive
2026-06-22 15:51:58 +02:00
Salvatore Martire 53d48d6f29 fix: track time spent in recursive markOrRun calls
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-06-22 13:05:25 +02:00
Joas Schilling 410fdea9e7 fix(migrations): Trigger recently added migrations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-06-19 09:56:01 +02:00
Robin Appelman 22229f93e7 fix: update cached mounts when moving share in repair step
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-18 21:55:55 +02:00
Robin Appelman 57a80c2c10 fix: properly mark CleanupShareTarget as expensive
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-18 21:55:41 +02:00
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
Benjamin Gaussorgues 2b7415ef4d Merge pull request #60960 from nextcloud/carl/querybuilder-magic-number
refactor: Use new IQueryBuilder::MAX_IN_PARAMETERS
2026-06-10 23:09:30 +02:00
Robin Appelman d47fd8d708 test: mock ocm discovery in external share test
saves ~50s while running tests

Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-06-08 15:35:07 +02:00
Carl Schwan 994565fec7 refactor: Use new IQueryBuilder::MAX_IN_PARAMETERS
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-03 13:45:29 +02:00
Benjamin Gaussorgues a8428f883d Merge pull request #59002 from nextcloud/fix/remove-static-vars
Remove usage of static vars or properties
2026-06-02 11:28:20 +02:00
Carl Schwan b7ee8e7545 Merge pull request #59813 from nextcloud/fix/noid/fix-owncloud-group-share-rename
fix(sharing): set STATUS_ACCEPTED when creating USERGROUP subshare on…
2026-06-02 11:14:13 +02:00
Côme Chilliet 9c92cc1617 chore: Suppress last known impure static properties
We will keep these legacy ones for now. We can search for the
 ImpureStaticProperty suppression and add special treatement for them in
 the frankenphp PR if needed.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-02 09:46:20 +02:00
Côme Chilliet 1ab09ec753 chore: Apply new coding standard to all files
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +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
Andy Scherzinger d6a7065b07 Merge pull request #60542 from nextcloud/share-api-remove-hashed-pw
don't put hashed password in share api response
2026-05-20 10:36:32 +02:00
Robin Appelman aa7e48e5e8 fix: don't put hashed password in share api response
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-19 16:04:39 +02:00
provokateurin 1063769a77 fix(files_sharing): Use UnknownActivityException
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-05-18 07:26:58 +02:00
nextcloud-command e11e7f1c70 refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-04-29 23:54:19 +02:00
Ferdinand Thiessen d8e8703796 chore: add missing Override attribute to app code
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:28 +02:00
Joas Schilling aa904b255f Merge pull request #59378 from nextcloud/carl/non-internal-api
chore: Replace MoveableMount usage with IMovableMount
2026-04-27 12:37:56 +02:00
Salvatore Martire e548d71873 fix: avoid checking share validity during mount updates
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-04-24 18:17:45 +02:00
Robin Appelman 987a193a56 fix: properly remove mount with moved child-shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:45 +02:00
Robin Appelman f3830d071c fix: skip owner when updating for added or removed share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:45 +02:00
Robin Appelman f42bfebcc0 fix: don't trigger recursive SharesUpdatedListener when share is moved on validate
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:44 +02:00
Robin Appelman a05a3b9005 fix: only update share for the user who moved the share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:44 +02:00
Robin Appelman 41e6124dcc perf: only load a single mount at a time when checking for share conflicts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:43 +02:00
Robin Appelman 16a422e58d fix: fix UserHomeSetupListener disabling with nested events
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:42 +02:00
Robin Appelman cb8fb349d2 fix: don't trigger on-setup share update from inside the share listener
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:42 +02:00
Robin Appelman 1aa347dc76 fix: check share target parent in userfolders mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:41 +02:00
Robin Appelman aedc57afe7 fix: add optional user param to IUserMountCache::removeMount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:41 +02:00
Robin Appelman a1b4a6b6b7 fix: log when user is marked as needing share mount refresh
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:40 +02:00
Robin Appelman 940a68649a test: add test for UserHomeSetupListener
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:40 +02:00
Robin Appelman f7803905fe fix: default user_needs_share_refresh to true
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:40 +02:00
Robin Appelman e7fcb6c7f5 fix: handle share moves
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:38 +02:00
Robin Appelman 7b3457003c fix: update shares on group delete
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:37 +02:00
Robin Appelman 9853bc880d fix: improve performance of handling delete shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:16:43 +02:00
Robin Appelman 9c399ba4ac feat: use time-based cutoff for share updating instead of count
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:16:42 +02:00
Robin Appelman 68448a4a42 feat: export getData for public FileInfo interface
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:51 +02:00
Robin Appelman 8de080580b fix: disable share resolve postpone in tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:51 +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
Robin Appelman 491fb8d483 fix: only validate mounts for new share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:46 +02:00
Carl Schwan fbf84e6473 chore: Replace MoveableMount usage with IMovableMount
The former is private API while the IMovableMount is public.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-24 10:14:37 +02:00
nfebe 0ef2caccc6 fix(files_sharing): Drop trailing '?' from public download redirect URL
Public share download links now redirect to the public DAV endpoint
cleanly when no additional query parameters are present. Previously the
redirect always appended a trailing '?' to the target URL, which caused
an Internal Server Error for clients that called the legacy download
endpoint without query parameters (e.g. the Thunderbird FileLink
extension). Links shared before this change are resolvable again.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-04-23 05:58:30 +01:00