Joas Schilling
226b7df65e
fix(Hooks): Don't use offset null as it's deprecated (and not actually used)
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-19 15:58:05 +01:00
Benjamin Gaussorgues
89fcefbfa0
Merge pull request #55369 from nextcloud/carl/cleanup-external-manager
2025-12-17 14:14:48 +01:00
Carl Schwan
6945a030f5
refactor(OC_Helper): remove buildNotExistingFileNameForView
...
Move the functionality in the last place it is used OC\Files\Node\Folder
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:29 +01:00
provokateurin
341fd348e6
fix(UserMountCache): Add back unique index for oc_mounts and use normal insert
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-15 12:26:23 +01:00
Josh
b2bc785986
chore: make php-cs happy
...
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-09 22:26:16 -05:00
Josh
50a94a35ee
test(files/type): leading zero extension preservation
...
- adds a focused DetectionTest that ensures numeric-looking keys (e.g. "001") are preserved
- refactors filesystem tests to use an isolated temp dir with proper cleanup
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-09 09:22:04 -05:00
Andy Scherzinger
71c2e94123
Merge pull request #54436 from nextcloud/s3-signed-url
...
perf(s3): Provide direct pre-signed download link
2025-12-09 12:38:20 +01:00
Carl Schwan
b6313f68d3
perf(s3): Expose pre-signed urls for S3
...
This is faster than going back to nextcloud to download the files.
This is an opt-in setting that can be enabled by setting
use_presigned_url in the object store config.
Additionally add support for the proxy config which is needed in a
docker setup. See https://github.com/juliusknorr/nextcloud-docker-dev/pull/431
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-09 11:21:35 +01:00
Kate
842df498e0
Merge pull request #56816 from nextcloud/jtr/chore-legacy-drop-mac-checker
2025-12-05 17:42:38 +01:00
Josh
511f54324a
chore: drop unused Darwin range test variation
...
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-04 16:48:42 -05:00
Andy Scherzinger
1ef465f804
Merge pull request #56251 from nextcloud/carl/template-manager-cleanup
...
refactor(template-manager): Modernize template manager API
2025-12-04 17:26:53 +01:00
Josh
d9a7e0855c
refactor(tests): use OS constant over function
...
Use PHP's newer PHP_OS_FAMILY constant.
- Allows us to drop a legacy OC_Util method.
- This test isn't even enabled at the moment.
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-02 21:53:03 -05:00
Louis Chmn
73c6b17fae
fix(View): Normalize path in getAbsolutePath
...
This allow to match files more consistently in HookConnector::getNodeForPath
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 19:30:53 +01:00
Carl Schwan
9522dde7a2
feat: Add Folder::getOrCreateFolder api
...
Allow to remove some boilerplate and also this new function is type
safe.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-24 11:10:52 +01:00
Carl Schwan
38fd84aa6a
refactor(template-manager): Modernize template manager API
...
And correct openapi types for the size.
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-24 10:00:47 +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
Carl Schwan
503a65ddd0
refactor: Run rector
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:54 +01:00
Andy Scherzinger
32c149e8ea
Merge pull request #56255 from nextcloud/availability-same-request
...
make failed availability check apply in the same request
2025-11-12 18:45:01 +01:00
Robin Appelman
2970232790
fix: make failed availability check apply in the same request
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-06 20:08:44 +01:00
Ferdinand Thiessen
6336eac6a5
chore: setting test metadata in annotations is deprecated (use attributes)
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-05 15:42:40 +01:00
Ferdinand Thiessen
e3b34891b0
chore: migrate to PHPUnit 11
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-05 15:42:33 +01:00
Ferdinand Thiessen
7f125551f5
chore: migrate @small and @medium to attributes
...
Both are basically special groups, which we do not use.
But they also had a special meaning in the past which now only works
when set on the test class: They set the test timeout.
So for `@small` we just remove them, for `@medium` we remove where not
needed but keep it on the class where the full test class might make use
of the adjusted timeout.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-27 21:56:04 +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
6e04437de6
fix: validate filename when creating file from template
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-24 01:05:48 +02:00
Marcel Klehr
1e9a5019b4
fix(FileAccess): Set filecache size column in tests
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +02:00
Carl Schwan
324b54b863
refactor(preview): Cleanup the implementation of the new preview backend
...
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Carl Schwan
b0357663b9
perf(preview): Optimize migration and simplify DB layout
...
* Simplify migration by not moving the actual files and just updating
the DB
* Don't store the storageid in the preview table as it is not needed
* Start adding tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +02:00
Louis
f8bed8f186
Merge pull request #51145 from nextcloud/home-folder-readonly
2025-10-01 10:09:19 +02:00
Côme Chilliet
10e3192c2f
Merge pull request #55371 from nextcloud/carl/remove-oc-helper-streamCopy
...
refactor: Remove OC_Helper::streamCopy
2025-09-29 10:21:59 +02:00
Carl Schwan
8e5eef24d2
refactor: Remove OC_Helper::streamCopy
...
Replace by Files::streamCopy, also deprecated but since less long
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-28 12:52:14 +02:00
Ferdinand Thiessen
660f3f6fd1
refactor: use logical && || instead of weak and or operators
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-27 23:02:18 +02:00
Côme Chilliet
8107f614d8
fix(tests): Ignore expected warning for s3 tests
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-27 13:05:35 +02:00
Louis Chemineau
bd8a0ec3cf
feat(files): Add appconfig value to disable fixed userfolder permissions optimization
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-26 17:43:22 +02:00
Côme Chilliet
bc5e29f9f2
fix(tests): Fix type issues and other problems with encryption tests
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-09 11:46:18 +02:00
Robin Appelman
0c1d5e8c54
fix: ensure all object store configuration have distict bucket names
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-05 18:45:32 +02:00
Carl Schwan
d73537dd60
Merge pull request #54664 from nextcloud/carl/port-away-execute-lib
...
Port away from IQueryBuilder::execute in lib/ and tests/ and fix invalid usage of UniqueConstraintViolationException
2025-09-02 14:38:11 +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
Robin Appelman
02f4a82088
fix: make bucket mapper work with new multi-object-store config
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-28 17:51:25 +02:00
Kate
45f5daa45a
Merge pull request #54666 from nextcloud/carl/apply-rector
2025-08-27 16:29:58 +02:00
Robin Appelman
ff65b61d9c
Merge pull request #54580 from nextcloud/sharded-cache-move-jail
...
fix moving cache items from cache jail with sharding
2025-08-26 20:20:35 +02:00
Carl Schwan
5835599fa1
chore(rector): Apply current rector config
...
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-26 16:27:26 +02:00
Côme Chilliet
07b046f762
fix(tests): Fix fopen in mock returning null which is not a valid return
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-25 13:18:50 +02:00
Robin Appelman
afe77e32f2
test: test moving cache items from cache jail with sharding
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-22 19:21:33 +02:00
Robin Appelman
e0a21e5927
Merge pull request #54384 from nextcloud/getpath-node
...
perf: use more optimized node-by-id logic in View::getPath
2025-08-14 18:21:23 +02:00
Robin Appelman
b3c53c7436
feat: allow object store configuration aliases for easier migrations
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +02:00
Robin Appelman
385dd36ff8
feat: allow configuring multiple objectstore configurations
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +02:00
Robin Appelman
34d5a103b4
test: adjust tests to getPath changes
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-13 19:42:42 +02:00
Marcel Klehr
43be97de08
fix(FileAccess): Use one param for rewriting home dirs and excluding non-user files mounts
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Julien Veyssier
3a96f8e533
fix(FileAccess*): fix tests
...
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +02:00
Julien Veyssier
cb221c8211
fix(FileAccess*): Change the way home dir root is found, remove the excludeTrashbinMounts param of getDistinctMounts
...
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +02:00
Julien Veyssier
7e986988fe
fix(FileAccess*): Adress review comments
...
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
131125bbb7
fix(FileAccessTest): Adress review comments
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
26f6013c1f
fix(FileAccessTest): Make it work on sharded instance
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
3941622059
fix(FileAccessTest): Make sure path_hash is not NULL
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
10cc43041b
fix(FileAccess#getByAncestorInStorage): Use a subquery to fix tests
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +02:00
Marcel Klehr
d67c877ac5
fix(FileAccess): Add tests
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +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
Ferdinand Thiessen
35a27b5fd5
fix(FilenameValidator): use _ as default replacement for invalid chars
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-18 09:44:57 +02:00
Robin Appelman
3561937816
chore: run rector on tests with new rule
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-12 18:38:29 +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
a425a1affc
test: Add a hint message on boolean comparison
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-06-06 14:36:33 +02:00
Louis
f4cb78b905
Merge pull request #52242 from nextcloud/artonge/fix/copy_subfolders_s3
2025-06-02 11:55:54 +02:00
Robin Appelman
be3cfefc75
Merge pull request #52816 from nextcloud/primary-object-store-settings
...
feat: move primary object store configuration to a single place
2025-05-28 17:40:53 +02:00
Robin Appelman
e21ce793a5
test: add test that object store folder copy preserves folder size
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-05-28 15:52:00 +02:00
Robin Appelman
7599162c7b
feat: move primary object store configuration to a single place
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-05-28 15:32:31 +02:00
Ferdinand Thiessen
9422b6d6d0
test: adjust library tests for PHPunit deprecations
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-28 11:20:15 +02:00
Côme Chilliet
9560e00cf3
chore: Remove useless legacy autoloader for tests
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-27 16:15:58 +02:00
provokateurin
6818aa9b12
feat(UserMountCache): Emit events for added, removed and updated mounts
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-19 13:54:51 +02:00
Kate
6b4f5c567c
Merge pull request #52848 from nextcloud/fix/cleanup-servercontainer
2025-05-19 07:02:11 +02:00
Ferdinand Thiessen
494a079321
test: replace OC_Helper:rmdirr with OCP\Files::rmdirr
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-16 23:09:37 +02:00
Côme Chilliet
70ef0a8db7
fix: Remove calls to legacy callers in tests
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-16 11:47:38 +02:00
Côme Chilliet
0243d23b8c
fix(tests): Remove calls to removed getMountProviderCollection from tests
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-16 10:49:03 +02:00
Joas Schilling
5f9117b939
test: Fix coding standards
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:48:13 +02:00
Joas Schilling
3e7db013c1
test: Fix non-static data providers
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:25:01 +02:00
Joas Schilling
9621e451ba
test: Fix tests/lib/Files
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:25:00 +02:00
Joas Schilling
5283e9a5e2
test: Cleanup tests/lib/Files/*
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:21:22 +02:00
Côme Chilliet
2cd491f491
Merge pull request #48560 from nextcloud/fix/migrate-encryption-away-from-hooks
...
feat(encryption): Migrate from hooks to events
2025-05-14 19:25:51 +02:00
Andy Scherzinger
14f79829f3
Merge pull request #52775 from nextcloud/nested-jail-root
...
fix unjailedroot of nested jails if there are other wrappers in between
2025-05-14 17:36:55 +02:00
Côme Chilliet
a79b5dea7c
fix(encryption): Improve Update class and event listenening
...
to avoid back&forth between path and Node object
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-13 23:37:52 +02:00
Côme Chilliet
e35a8ed063
fix(tests): Disable encryption wrapper when it makes sense
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-13 23:37:52 +02:00
Côme Chilliet
21233b7e17
fix(tests): Remove Encryption disabling in ViewTest to avoid side effects
...
Adapt tests a bit to make them pass with Encryption wrapper registered
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-13 23:37:52 +02:00
Côme Chilliet
38f341c179
fix(tests): Unregister encryption modules in ViewTest to avoid side effects
...
It was clearing the hooks with the same results before
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-13 23:37:52 +02:00
Robin Appelman
0001c22668
test: add test for nested cache jail unjailedroot
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-05-13 18:29:00 +02:00
Ferdinand Thiessen
6cf1870322
feat(FilenameValidator): allow to sanitize filenames
...
Share the filename sanitizing with the OCP filename validator.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-13 14:14:17 +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
Louis
f8391e60ce
Merge pull request #51020 from nextcloud/artonge/fix/transfer_ownership
2025-04-14 16:14:45 +02:00
Côme Chilliet
0cf4f3cc71
fix: Replace all usages of OC_User backend method calls by IUserManager
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-10 11:29:21 +02:00
Louis Chemineau
8fdf2a7eae
fix: Transfer ownership with S3 as primary
...
When using S3 as primary storage, transferring ownership with the `--move` option fail with the following error:
`SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '8-45b963397aa40d4a0063e0d85e4fe7a1' for key 'fs_storage_path_hash'`
The `--move` option moves the entire home folder from one account to another.
The error means that the move failed because the destination folder already exist in `oc_filecache`.
- With S3 as primary storage, folders only exists as entries in `oc_filecache`.
- With S3 as primary storage, `moveFromStorage(...)` only moves the cache entry, as nothing needs to be moved on disk. This cache move does not delete potentially pre-existing destination folder.
- With Local storage, `moveFromStorage(...)` calls `rename(...)` which delete pre-existing folder.
- `transfer(...)`: 687a4d9ac7/apps/files/lib/Service/OwnershipTransferService.php (L112)
- `oneTimeUserSetup(...)`: 687a4d9ac7/lib/private/Files/SetupManager.php (L261-L262)
- `mkdir(...)`: 687a4d9ac7/lib/private/Files/ObjectStore/ObjectStoreStorage.php (L91-L135)
- `moveFromStorage(...)`: 687a4d9ac7/lib/private/Files/ObjectStore/ObjectStoreStorage.php (L635-L636)
Delete pre-existing folder in `moveFromStorage(...)`
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-04-01 13:53:56 +02:00
Ferdinand Thiessen
254dd85664
fix(IFilenameValidator): correctly handle case insensitivity
...
- forbidden names and forbidden base names are case **insensitive**
so we need to check all lowercase here.
- add test that config value is also read case insensitive.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-03-21 01:00:58 +01:00
skjnldsv
6baafd82b6
fix: make sure we process mime extensions as string
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-02-05 12:35:41 +01:00
Ferdinand Thiessen
b48ee2e924
fix: Harden files scanner for invalid null access
...
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 20:08:46 +01:00
Louis Chemineau
a635710117
fix: Metadata field search
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-01-20 14:41:55 +01:00
Robin Appelman
7b2cb2e3bc
test: update test for mountpoint numeric storage id
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-13 18:09:29 +01:00
Robin Appelman
16d0363937
fix: improve checks for moving shares/storages into other mounts
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-03 15:36:32 +01:00
Robin Appelman
37199779de
fix: fix mimetype not being updated when changing file extention on object store
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-05 18:05:13 +01:00
Louis Chemineau
425e0c3660
test(View): Copy preserves content
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-12-03 18:29:32 +01:00
Louis Chemineau
199b0bd4d9
fix(files): Correctly copy the cache information on copy operations
...
Needed to copy the `encrypted` flag of encrypted files when those files are two level down in a moved folder.
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-12-03 17:04:44 +01:00
Louis Chemineau
f9cda54cbf
fix: Wrap partial cache entry in CacheEntry
...
Because it is returned here: 7b7d07c575/lib/private/Files/Cache/Cache.php (L136-L137)
And some implementation got stricter: df95bf6ba8/lib/Mount/RootEntryCache.php (L23-L28)
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-11-21 17:13:24 +01:00
John Molakvoæ
e3e22e28c0
Merge pull request #47847 from nextcloud/fix-copying-or-moving-from-shared-groupfolders
2024-10-29 11:33:12 +01:00