Anna Larch
a9f177e743
test(db): call parent::tearDown() in DB test classes that skipped it
...
Eight test classes overrode tearDown() for custom DB cleanup but never
called parent::tearDown(). TestCase::tearDown() does three things these
tests were silently skipping after every test method:
- ILockingProvider::releaseAll() — unreleased locks bleed into subsequent
tests and can cause deadlocks or unexpected NotFoundException
- Storage::getGlobalCache()->clearCache() — stale filecache entries from
share/storage tests cause unrelated ObjectStore tests to receive false
from fopen() (fseek() then fails with "Argument must be of type resource")
- UserMountCache::flush() — stale mount cache causes share lookups in
later tests to fail with ShareNotFound
AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-05-26 21:20:57 +02:00
Carl Schwan
3dbefe89fd
Merge branch 'master' into work/carl/remove-orderById
2026-05-12 13:59:15 +02:00
Côme Chilliet
9680004b58
chore: Remove almost all uses of deprecated IServerContainer in lib/private
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:22 +02:00
Robin Appelman
d307557c56
test: adjust tests to unsorted share listing
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-08 18:05:06 +02:00
Ferdinand Thiessen
e5b1799079
chore: add missing Override attribute to test files
...
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
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
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
Joas Schilling
0b2ad9a935
fix(sharing): Don't give a reason when share from disabled user is no longer working
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-13 08:50:31 +02:00
Carl Schwan
4acb3b5da3
perf: Perform share path validation early
...
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-26 11:38:59 +01:00
Carl Schwan
0676fba514
perf(sharing): Avoid loading all shares from all users when unsharing
...
First check which users have a shares and for which providers and then
only load these shares.
Avoid doing at most 5 SQL queries for each users a share was shared with if
there are no shares.
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-02-25 17:14:15 +01:00
nfebe
ce0d97b6e5
test(share): Update expiration date tests for end-of-day time
...
Update expected values in ManagerTest to reflect the new behavior
where share expiration dates are set to 23:59:59 instead of 00:00:00.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-24 10:43:46 +01:00
Carl Schwan
c8989d853c
refactor(IShare): Add typing for node
...
This might also improve a bit the performance.
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-27 11:19:33 +01:00
Carl Schwan
3183ea79d2
refactor(external-share): Port more code to string as type for the id
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:09 +01:00
nfebe
6bccaf778a
fix(sharing): Allow public share access for everyone
...
When a logged-in user accesses a public share link in the same browser,
the system was incorrectly checking if that user's groups were excluded
from creating link shares. This caused share not found errors for users
in excluded groups, even though public shares should be accessible to anyone
with the link.
The group exclusion setting (`shareapi_allow_links_exclude_groups`) is
intended to restrict share creation, not share access. Public shares
are meant to be anonymous and accessible regardless of the viewer identity
or group membership.
We now check the exclusion for the share creator and not the viewer.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-02 09:45:18 +01:00
Carl Schwan
4d47fdaa85
chore: Run rector with new rules for fetch
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:57 +01:00
Ferdinand Thiessen
d6d6747a73
refactor: apply rector rules for PHPUnit 10
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 21:56:04 +01:00
Daniel Kesselberg
83a691709c
refactor: use IEmailValidator.isValid instead of IMailer.validateEmailAddress
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-04 21:54:22 +02:00
Côme Chilliet
844c405f71
fix(tests): Make dataGeneralChecks static in Share20 ManagerTest
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-27 13:05:32 +02:00
Carl Schwan
9b2fff5931
refactor(querybuilder): Port away from qb::execute() in tests/
...
Replace by either executeStatement or executeQuery
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +02:00
Maxence Lange
6076b67696
feat(preset): share link expiration date
...
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-14 16:07:32 -01:00
Maxence Lange
cb84ccc57d
feat(preset): share password protection
...
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-12 14:37:32 -01:00
Côme Chilliet
7070ba4365
chore(tests): Adapt DefaultShareProviderTest to new constructor parameter
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:25:00 +02:00
Robin Appelman
aa15f9d16d
chore: run rector
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-01 22:45:52 +02:00
Ferdinand Thiessen
5981b7eb51
chore: apply new CSFixer rules
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
# Conflicts:
# apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Robin Appelman
29e39c0a2e
chore: run rector on tests
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-12 18:31:58 +02:00
Joas Schilling
2c74609e07
test: Fix tests/lib/[S-Z]*
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:24:59 +02:00
provokateurin
ae16a28758
perf(Share20): Add interface to query all shares in a folder without filtering by user
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-08 15:29:40 +02:00
Joas Schilling
c24f5fb256
test: Finish migrating tests/Core/ to PHPUnit 10 compatible code
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-02 16:47:42 +02:00
skjnldsv
70218dc0a4
fix(files_sharing): fix share creation error handling
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-04-09 14:52:42 +00:00
Louis Chemineau
b6c7c28585
fix: Exclude non accepted shares when computing access list
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-30 09:57:14 +01:00
Ferdinand Thiessen
0a0f56282a
fix(sharing): Move permission validation to share manager
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 16:40:50 +01:00
provokateurin
dcb370ab62
Revert "fix(Share20\Manager): Ensure node is still accessible when checking share"
...
This reverts commit c2ca99e2f6 .
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-24 09:41:14 +01:00
Christopher Ng
42d997bcd7
test: Update tests
...
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:50:43 -08:00
Côme Chilliet
365ff40929
fix(tests): Adapt ManagerTest to change in Exception class used
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-12-12 15:39:48 +01:00
provokateurin
c2ca99e2f6
fix(Share20\Manager): Ensure node is still accessible when checking share
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +01:00
provokateurin
c378e74017
feat(Share20\Manager): Return all shares on IShareOwnerlessMount
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +01:00
provokateurin
a978e0a806
fix(Share20\DefaultShareProvider): Return link shares in getSharesByPath()
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +01:00
Côme Chilliet
901496276b
Merge pull request #47425 from nextcloud/fix/avoid-invalid-share-on-transfer-ownership
...
fix: promote re-shares when deleting the parent share
2024-11-04 10:09:58 +01:00
Ferdinand Thiessen
db94e10af0
fix: Prevent breaking change in IQueryBuilder
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:44 +02:00
Côme Chilliet
d6ba524263
fix: Use getRelativePath method to check if node is inside folder
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 17:23:29 +02:00
Ferdinand Thiessen
2e4d3e4e75
fix(share): Return empty string if no label is set
...
* Resolves: https://github.com/nextcloud/server/issues/48629
While the database supports NULL, the typing has always said it only returns *string*.
So to not break any apps that might trust the typings we should return `''` if the database is set to `NULL`.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-14 15:15:51 +02:00
Côme Chilliet
e584e9baf7
fix: Fix promotion of reshares from subsubfolders
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Côme Chilliet
3ee5bf6af1
fix(tests): Fix share tests to test new reshare promotion system
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Côme Chilliet
7e9bc7c8cf
fix: Tidy up code for reshare deletion
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Luka Trovic
42181c2f49
fix: delete re-shares when deleting the parent share
...
Note: Removed part about fix command from original PR
Signed-off-by: Luka Trovic <luka@nextcloud.com>
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Git'Fellow
dcbe8da2a6
fix(l10n): Rephrasing some exceptions to be translated
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
fix: tests
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
fix: Fix tests
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-20 18:35:11 +02:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
Côme Chilliet
801733e523
fix: Remove OCP\Files\Storage interface deprecated since version 9
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:10:48 +02:00
Christoph Wurst
49dd79eabb
refactor: Add void return type to PHPUnit test methods
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-09-15 22:32:31 +02:00