Commit Graph

6236 Commits (fac380fb886d6f1b9cf645870f999230c05155d5)

Author SHA1 Message Date
Daniel 09607f40eb
Merge pull request #53834 from nextcloud/feat/imailaddressvalidator
feat(ocp): add email address validator
2025-08-19 09:38:51 +07:00
Côme Chilliet f5111c0961
chore(tests): Do not mock DependencyAnalyzer in AppManagerTest
Not ideal to have coupled tests like that but it’s the easiest path
 forward to make sure the tests still covers the same usecase and avoid
 code duplication.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +07:00
Côme Chilliet 12edd2b23a
fix: Deduplicate code by using DependencyAnalyzer in the AppManager
Was a bit more complicated than expected because of a dependency loop,
the L10N factory uses the app manager, thus the AppManager cannot depend
on I10N directly or indirectly in its constructor.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +07:00
Côme Chilliet b7c15949ce
chore: Get rid of AppLocator helper
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +07:00
Côme Chilliet 3cea218750
chore(tests): Use valid application names for tests
Dash is not allowed in appid, underscore is.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +07:00
Côme Chilliet 25c2279966
chore: Set installShippedApps as non-static in Installer
Make code closer to the one of installApp, to be able to compare them
 and later merge them (in the shadows).

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:18:27 +07:00
Côme Chilliet f551b9192e
chore: Adapt InstallerTest to Installer new construct parameters
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:27 +07:00
Côme Chilliet 6aa675c6bb
fix: Cleanup OC_App uses in Updater class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:13:14 +07:00
Ferdinand Thiessen 6d5dd4b389
Merge pull request #54383 from nextcloud/feat/cache-app-config
feat(AppConfig): cache the config if local cache is available
2025-08-18 15:12:09 +07:00
Ferdinand Thiessen 0ef58c96ab
refactor(Memcache\Factory): move prefix generation to the factory class
This removes a circular dependency between AppConfig and cache factory.
When a cache in the app config is used.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +07:00
Ferdinand Thiessen 9d320f8470
test(AppConfig): add proper unit tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +07:00
Ferdinand Thiessen 1c85548f86
feat(AppConfig): cache app config in local cache if available
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +07:00
Ferdinand Thiessen ac545cc478
fix(SetUserTimezoneCommand): only write user login timezone if not yet set
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 12:40:42 +07:00
Daniel 64c52006dd
Merge pull request #54272 from nextcloud/enh/noid/taskprocessing-task-add-cleanup-flag
feat(taskprocessing): add cleanup flag to tasks
2025-08-15 09:48:47 +07: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 +07:00
Maxence Lange 61fe4c1aba
Merge pull request #54336 from nextcloud/feat/noid/preset-on-share-password
feat(preset): share password protection
2025-08-14 16:07:13 +07:00
Daniel Kesselberg 336c6d2957
feat(ocp): add email address validator
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-14 18:34:36 +07: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 +07:00
Maxence Lange 9c7ed07571 feat(preset): load apps on new preset
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-14 13:27:33 +07:00
Anna 1a2d0d5c1d
Merge pull request #54117 from nextcloud/feat/noid/add-bulk-activity
feat(activity): add bulk activity option
2025-08-14 15:53:33 +07:00
Robin Appelman b69109395b
Merge pull request #52786 from nextcloud/multi-object-store
allow configuring multiple object store backends
2025-08-14 15:49:00 +07: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 +07:00
Robin Appelman 385dd36ff8 feat: allow configuring multiple objectstore configurations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +07:00
Anna Larch 6a3a244807 feat(activity): add bulk activity option
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-08-14 11:31:47 +07:00
Robin Appelman 34d5a103b4 test: adjust tests to getPath changes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-13 19:42:42 +07:00
Maxence Lange cb84ccc57d feat(preset): share password protection
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-12 14:37:32 +07:00
Misha M.-Kupriyanov 55f55984f0 test(SearchComposerTest): add unit test for getProviders with mixed order values
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +07:00
Misha M.-Kupriyanov d0341bb323 test(SearchComposerTest): add unit tests for getProviders with allowed providers restriction and empty configuration
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +07:00
Misha M.-Kupriyanov 9dfc0b1b23 test(SearchComposerTest): add test for provider icon generation
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +07:00
Misha M.-Kupriyanov 32d263e363 test(SearchComposerTest): add unit test for getProviders with multiple providers
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +07:00
Misha M.-Kupriyanov d08fe6d6b3 test(SearchComposerTest): add test for handling unknown search provider
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +07:00
Misha M.-Kupriyanov 75770a00dd test(SearchComposerTest): add unit tests for SearchComposer
Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +07:00
Maxence Lange bbc9ed138c fix(config): fix tests+psalm
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 11:00:49 +07:00
yemkareems aa227f1c55 feat: add bluesky to accounts, show the same in profile edit and visibility option, in view profile and also in sharing tab
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-08-08 08:06:45 +07:00
Julien Veyssier aa2ca86fb3
feat(taskprocessing): avoid generator cascade
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +07:00
Julien Veyssier 0dc93bc320
feat(taskprocessing): fix phpunit tests
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +07:00
Julien Veyssier 19801f7ec4
feat(taskprocessing): move cleanup method to private taskprocessing manager, use it in the cleanup bg job and implement a cleanup command
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +07:00
Julien Veyssier e6adbd921e
feat(taskprocessing): generate OpenAPI specs, fix lint issue, fix tests
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +07:00
Daniel Kesselberg 13f25c9316 fix(carddav): return correct sync token for non-truncated requests
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-06 14:32:25 +07:00
Ferdinand Thiessen 7e76c91677
fix: resolve psalm errors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-06 12:52:50 +07:00
Joas Schilling db8dd9f7f6
Merge pull request #54207 from nextcloud/feat/noid/cache-user-keys
Cache IdentityProof keys
2025-08-05 18:43:56 +07:00
Marcel Müller 520d8beaf5 feat: Cache user keys
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-08-05 16:42:14 +07:00
Joas Schilling ff3043346a
Merge pull request #54196 from nextcloud/enh/noid/taskprocessing-lazy-config
[TaskProcessing] Load and store some config keys lazily
2025-08-05 12:28:34 +07:00
Joas Schilling a3f1b079bb
Merge pull request #54203 from nextcloud/oci-string-length-empty
fix: fix oci string length with empty strings
2025-08-05 12:18:41 +07:00
Julien Veyssier f22f7311de
fix(taskprocessing): fix TaskProcessingTest
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-04 10:11:24 +07:00
Robin Appelman 222cbd0af6
fix: fix oci string length with empty strings
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-01 17:45:35 +07:00
John Molakvoæ 4829ac57c1 fix: use `OCP\Server`
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-01 17:00:09 +07:00
Josh 14b4d0327e fix(AppFramework): Log malformed protocol values and unify fallback behavior
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-01 17:00:09 +07:00
Kate 89d659ca17
Merge pull request #51602 from nextcloud/fix/fix-default-share-folder-for-group-shares 2025-07-29 11:12:58 +07:00
Stephan Orbaugh 4eda352397
Merge pull request #54026 from nextcloud/enh/add-cloud-id-chars
feat: add ICloudIdResolver
2025-07-28 15:49:12 +07:00
Maxence Lange 33bff30e1d feat(lexicon): moving out from unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-24 15:56:33 +07:00
Ferdinand Thiessen 66eb021ece
refactor: remove duplicated types and add return types
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-23 15:59:26 +07:00
Daniel Kesselberg 9bbbd11191
fix(imip): group messages by logging principal and uri as context
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-07-22 15:33:24 +07:00
Maxence Lange 484491e7cc fix(bruteforce): limit appconfig lazy loading
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-20 00:49:11 +07:00
Maxence Lange 20b908cf3f feat(appconfig): add searchKeys()
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-18 23:54:55 +07:00
Maxence Lange e64be71e52 feat(lexicon): preset()
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-15 11:29:33 +07: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 +07:00
Julien Veyssier 3a96f8e533 fix(FileAccess*): fix tests
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +07: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 +07:00
Julien Veyssier 7e986988fe fix(FileAccess*): Adress review comments
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 131125bbb7 fix(FileAccessTest): Adress review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07: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 +07: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 +07: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 +07:00
Marcel Klehr d67c877ac5 fix(FileAccess): Add tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
John Molakvoæ 2b50d9b2c5
Revert "perf(base): Stop setting up the FS for every basic auth request" 2025-07-11 17:07:44 +07:00
John Molakvoæ 6f0255d82a
Merge pull request #53141 from nextcloud/perf/files/setup-fs-basic-auth-request 2025-07-11 15:25:10 +07:00
Joas Schilling 088d6843b7
fix(comments): Adjust interface with implementation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-07-10 22:03:21 +07:00
Kate 034246a1a9
Merge pull request #53893 from nextcloud/fix/cleanup-loadapp-calls 2025-07-10 15:06:05 +07:00
Côme Chilliet c0b31d1e2d
Merge pull request #53892 from nextcloud/fix/cleanup-getinstallpath
fix: Move getInstallPath to Installer class
2025-07-10 13:10:19 +07:00
Côme Chilliet 7127ac4b43
fix: Replace OC_App::loadApp calls by IAppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-10 11:40:27 +07:00
Côme Chilliet 12c0cfc977
fix: Move getInstallPath to Installer class
This method does not need a public API for now, it’s only used
 internally.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-10 09:39:58 +07:00
skjnldsv 51a2125020 fix(systemtags): case-insensitive search & prevent duplicates
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-09 19:28:20 +07:00
Côme Chilliet 1f5e232314
chore: Move info parsing related method from OC_App to InfoParser
Also fix the tests

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 15:57:05 +07:00
Côme Chilliet 5d65f14e60
chore: Fix CrashReport\Registry tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:14 +07:00
Côme Chilliet ab310ce938
fix: Fix issues and tests in DIContainer and friends
Some tests related to MiddlewareDispatcher are still failing.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:14 +07: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 +07:00
provokateurin 90705520c7
chore: Remove unused \OC\Cache\CappedMemoryCache
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-08 11:39:33 +07:00
provokateurin 0d8f983c71
chore: Remove unused \OC\Cache\File
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-08 11:39:17 +07:00
Stephan Orbaugh 4dcb282a47
Merge pull request #53109 from TechnicalSuwako/master
fix(settings): change Mastodon only URI to webfinger
2025-07-07 12:02:11 +07:00
Jana Peper 603522a59c test: fix tests
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-07-03 10:25:19 +07:00
Robin Appelman aa15f9d16d
chore: run rector
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-01 22:45:52 +07: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 +07:00
Daniel Kesselberg 53fb05e2d0
fix(nullcache): make get compliant with the interface
The interface defines ICacheEntry|false, thus we should not return null.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-06-26 09:54:48 +07:00
Maxence Lange d29e1dc380 feat(lexicon): new tests about lexicon migration
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 +07:00
Maxence Lange d8fc08d718 feat(lexicon): fix tests
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 +07:00
Maxence Lange e39ab65239 feat(lexicon): migrate config key/value
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-06-24 12:10:57 +07:00
Richard Steinmetz b6af06d2e0
fix: revive always storing lowercased email addresses
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-06-24 13:53:08 +07: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 +07: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 +07:00
Robin Appelman 29e39c0a2e
chore: run rector on tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-12 18:31:58 +07:00
Daniel e1fcd6ccfb
Merge pull request #53000 from nextcloud/fix/noid/stuck-ffmpeg
fix: unblock ffmpeg on some broken videos
2025-06-10 22:22:04 +07:00
Kate 1474fa3407
Merge pull request #52743 from nextcloud/bug/noid/expires-date-format 2025-06-10 14:25:05 +07:00
Daniel Kesselberg df9a275c89 test: addd test for hideFromCollaboration
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-06-10 13:55:53 +07:00
Daniel Kesselberg be587def0e fix: use correct format for expires, last-modified, and if-modified-since headers
Before: Sat, 10 May 2025 18:17:41 +0000
After: Sat, 10 May 2025 18:17:41 GMT

RFC: https://httpwg.org/specs/rfc9110.html#http.date

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-06-10 13:15:31 +07:00
Côme Chilliet 231916d403
Merge pull request #52538 from nextcloud/feat/use-php84-lazy-objects
Use PHP 8.4 lazy ghosts for Dependency injection
2025-06-10 10:45:12 +07: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 +07:00
Côme Chilliet a10182f6fb
fix(tests): Force lazy ghost initialisation in container tests
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 20:51:23 +07:00
Côme Chilliet 89f51a8f4e
chore(tests): Add test for AppConfig::getAppInstalledVersions
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:55 +07:00
Côme Chilliet a2fdeccc31
chore(tests): Adapt AppManager test to the use of searchValues
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:54 +07:00
Ferdinand Thiessen bbfd281ac5
Merge pull request #52949 from nextcloud/fix/delete-legacy-autoloader
fix: Remove useless legacy autoloader
2025-06-02 16:14:25 +07:00
Louis f4cb78b905
Merge pull request #52242 from nextcloud/artonge/fix/copy_subfolders_s3 2025-06-02 11:55:54 +07:00
Joas Schilling 89a7778f87
test: Mock ITaskManager to remove test interactions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-29 12:20:20 +07:00
Andrey Borysenko 7994332338
feat: add support for sensitive Declarative settings values encryption
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2025-05-28 20:43:04 +07: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 +07: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 +07: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 +07: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 +07:00
Côme Chilliet 7c251e4f96
fix: Remove useless legacy autoloader
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-27 18:06:28 +07: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 +07:00
諏訪子 e489713197 fix(settings): fix test
Signed-off-by: 諏訪子 <suwako@076.moe>
2025-05-27 18:45:31 +07:00
諏訪子 ef0729f23e fix(settings): change Mastodon only URI to webfinger
Signed-off-by: 諏訪子 <suwako@076.moe>
2025-05-25 23:52:16 +07:00
Ferdinand Thiessen e143921896
feat(IUser): add `getQuotaBytes` method to get machine readable quota
Proper replacement for deprecated `OC_Util::getUserQuota`.
Also we still use this in some cases we can now replace, moreover it
just makes sense to have a machine readable format in the API instead of
only the human readable format which is less precise.
Alings also with `getQuota` of the quota storage, which already returned
the machine readable format.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-22 12:50:38 +07:00
Joas Schilling 0d79156bb2
test: Speed up comments test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-21 07:53:23 +07:00
Arthur Schiwon bdc68989d5
fix: unbloc ffmpeg on some broken videos
Co-authored-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2025-05-20 22:12:13 +07: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 +07:00
Kate 6b4f5c567c
Merge pull request #52848 from nextcloud/fix/cleanup-servercontainer 2025-05-19 07:02:11 +07: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 +07:00
Ferdinand Thiessen 3868d62a8f
test: move legacy tests to non-depecated class tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-16 23:09:14 +07: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 +07: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 +07:00
Ferdinand Thiessen e4ed062d68
fix(RouteParser): bail out if method name contains hashtag
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-15 13:57:14 +07:00
provokateurin 63ba61487b
chore(AppFramework): Remove unused RouteConfig class and migrate tests to RouteParser
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-15 13:57:14 +07:00
John Molakvoæ cac44fd924
Merge pull request #52822 from nextcloud/feat/mime-names 2025-05-15 11:41:12 +07:00
Joas Schilling 5f9117b939
test: Fix coding standards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:48:13 +07:00
Joas Schilling 437f380fd9
test: Fix most tests/lib/DB/QueryBuilder
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:25:01 +07:00
Joas Schilling 3e7db013c1
test: Fix non-static data providers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:25:01 +07:00
Joas Schilling 9621e451ba
test: Fix tests/lib/Files
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:25:00 +07:00
Joas Schilling e0a1c84ebb
test: Make Archive test order independent
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:25:00 +07:00
Joas Schilling 2c74609e07
test: Fix tests/lib/[S-Z]*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:24:59 +07:00
Joas Schilling f474b5b3a9
test: Fix tests/lib/Security/
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:24:59 +07:00
Joas Schilling c5cd7ef9b9
test: Fix tests/lib/[H-N]*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:24:59 +07:00
Joas Schilling 3cc4410273
test: Fix tests/lib/[C-G]*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:24:57 +07:00
Joas Schilling 720ab52e07
test: Fix tests/lib/App*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:21:24 +07:00
Joas Schilling 5283e9a5e2
test: Cleanup tests/lib/Files/*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:21:22 +07:00
Joas Schilling 53b116b8a5
test: Remove more withConsecutive
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-15 08:18:26 +07:00
John Molakvoæ (skjnldsv) 24bc1d606e
feat(core): add human readable mimes
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2025-05-14 22:55:06 +07:00
John Molakvoæ ae63945736
Merge pull request #52544 from nextcloud/chore/drop-deprecated-account-scopes 2025-05-14 22:15:01 +07:00
Benjamin Gaussorgues 1b72ddd8c8
Merge pull request #52684 from nextcloud/bugfix/noid/last-insert-id-when-reconnecting 2025-05-14 19:44:30 +07: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 +07:00
Ferdinand Thiessen 1b273b8c2c
chore(IAccountManager): remove deprecated visibility constants
Those constants are not used anywhere anymore and are deprecated for
more than ten versions. So its time to cleanup the interface.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-05-14 19:15:24 +07: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 +07:00
Daniel Kesselberg a53e15c971
fix: log requests exceeding the rate limiting
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-05-14 12:23:40 +07:00
Joas Schilling 7304756e03
test: Sort the reactions before comparing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-14 11:42:52 +07: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 +07: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 +07: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 +07: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 +07:00
Côme Chilliet 536ccf144c feat(encryption): Migrate from hooks to events
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-05-13 23:37:52 +07:00
Côme Chilliet fb615ef9f8
Merge pull request #52688 from nextcloud/feat/ocp-sanitize-filenames
feat(FilenameValidator): allow to sanitize filenames
2025-05-13 23:35:43 +07: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 +07: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 +07:00
SebastianKrupinski ebd80bc142 fix: check if properties exist before using them
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-05-12 15:44:07 +07:00
Kate 648745d524
Merge pull request #52634 from nextcloud/perf/share20/get-all-shares-in-folder 2025-05-08 16:24:21 +07: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 +07:00
Louis 1c518a291d
Merge pull request #52360 from nextcloud/artonge/fix/use_preview_api_for_blurhash_generation 2025-05-06 14:12:50 +07:00
Louis Chemineau 867be352f3
fix(blurhash): Use preview API to generate the previews
This allows to benefit from all the checks done by the preview API.
This also use the newly introduced `cacheResult` argument to limit disk usage.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-05-05 11:13:31 +07:00
Joas Schilling d46d2d1acf
test: Fix coding standards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-05 10:09:22 +07:00
Joas Schilling 10424f248b
test(comments): Make Comments test result output properly readable
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-05-05 09:38:02 +07: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 +07:00
Joas Schilling b77011a918
test: Prepare more tests for PHPUnit 10
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-30 09:18:01 +07:00
Joas Schilling 553870d30a
fix(navigation): Fix default app entry registered as closure
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-25 14:47:33 +07:00
Ferdinand Thiessen d86189adc5
Merge pull request #52299 from nextcloud/refactor/preview-tests
refactor: Thumbnail Generator logging and tests
2025-04-24 09:50:11 +07:00
nfebe d980e69f74 refactor: Thumbnail Generator logging and tests
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-04-23 23:06:28 +07:00
Maxence Lange 743924ce4d fix(federation): allows equal signs in federation id
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-04-22 13:03:56 +07:00
F. E Noel Nfebe 25bc18c6dc
Merge pull request #52221 from nextcloud/feat/no-issue/add-logging-preview-generation
feat: add logging to preview generation
2025-04-22 12:37:49 +07:00
Arthur Schiwon 8410d67fc7
Merge pull request #52224 from nextcloud/bugfix/noid/dont-break-when-checking-if-too-long-user-exists
fix(usermanager): Don't throw when checking if a too long user id is an existing user
2025-04-17 16:55:02 +07:00
nfebe 6b89838cc2 feat: add logging to preview generation
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-04-17 14:24:18 +07:00
Ferdinand Thiessen 8f8c11ad4e
fix(mail): use matching text color for primary elements
when we use the default primary as background color we have to use the
default primary text color as well.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-17 11:51:46 +07:00
Benjamin Gaussorgues 9f666c2b73
feat(ip): add configurable IPv6 subnet for BFP and throttling
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-04-17 08:12:03 +07:00
Joas Schilling 775ca882f3
fix(usermanager): Don't throw when checking if a too long user id is an existing user
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-16 17:47:28 +07:00
Louis f8391e60ce
Merge pull request #51020 from nextcloud/artonge/fix/transfer_ownership 2025-04-14 16:14:45 +07:00
Côme Chilliet 696e163ba2
Merge pull request #52086 from nextcloud/fix/cleanup-user-backends
Cleanup user backends related methods
2025-04-14 15:49:49 +07:00
Anna 9e0e53707f
Merge pull request #52085 from nextcloud/bugfix/noid/fix-cached-return-of-display-name
fix(federation): Fix returning "no display name" after cache result
2025-04-10 11:38:22 +07: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 +07:00
Alexander Piskun 0a474e5ccd
Merge pull request #52050 from nextcloud/fix/noid/taskprocessing-appapi
fix(taskprocessing): use the event for AppAPI to get list of AI providers
2025-04-10 10:22:25 +07:00
Joas Schilling d8744f84e8
fix(federation): Fix returning "no display name" after cache result
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-10 09:20:27 +07:00
skjnldsv 70218dc0a4 fix(files_sharing): fix share creation error handling
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-04-09 14:52:42 +07:00
Joas Schilling 8357469557
Merge pull request #52070 from nextcloud/test/noid/improve-test-output
test: Improve comments manager test output in case of failure
2025-04-09 16:08:19 +07:00
Oleksander Piskun c23ab0d1f7 fix(taskprocessing): use the event for AppAPI to get list of AI providers
Signed-off-by: Oleksander Piskun <oleksandr2088@icloud.com>
2025-04-09 15:47:48 +07:00
Joas Schilling e2cd436205
test: Improve comments manager test output in case of failure
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-09 13:49:16 +07:00
Joas Schilling 6a3c53def3
fix(federation): Don't load the addressbook when resolving a cloud ID
Instead we delay the lookup of the display name until it is actually used

Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-09 10:52:03 +07:00
Joas Schilling 8358a7f769
Revert "refactor(RichObjectStrings): Only log error if key or value is not string in validator"
This reverts commit fd156d3408.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-09 08:35:56 +07:00
John Molakvoæ dd32639fa9
Merge pull request #51838 from nextcloud/feat/cleanup-oc-util-methods
Mark all methods of OC_Util as deprecated
2025-04-08 21:47:31 +07:00
Kate 065a976bd5
Merge pull request #52014 from nextcloud/fix/fix-movie-preview-construct
fix(preview): Fix constructor parameter name and default value
2025-04-08 14:38:17 +07:00
provokateurin fd156d3408
refactor(RichObjectStrings): Only log error if key or value is not string in validator
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-04-08 11:45:36 +07:00
Benjamin Gaussorgues c4021c8d38
feat(ip): use larger IPv6 range by default
Some providers assign `/48` IPv6 blocks instead of `/64` so it sounds safer
to use this mask by default.

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-04-08 10:08:28 +07:00
Côme Chilliet 3ca690a9f3
fix(previews): Cleanup Movie provider code and remove deprecated static vars
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-08 09:53:02 +07:00
Côme Chilliet b2100484c0 fix: Remove some call and references to deprecated OC_Util class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-07 17:05:54 +07:00
Côme Chilliet 12d32ee2ea
Merge pull request #51836 from nextcloud/feat/cleanup-oc-util
chore(legacy): Remove deprecated OC_Util::addScript and functions depending on it
2025-04-03 12:26:57 +07:00
Christoph Wurst 5003467f98
fix(session): Only mark sessions of permanent tokens as app passwords
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-04-03 10:08:15 +07:00
Côme Chilliet e467ea1c6a
chore(legacy): Remove deprecated OC_Util::addScript and functions depending on it
Deprecated since 24, currently unused.
Sadly not all related functions were officially marked as deprecated,
 but all of them were unused.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-01 15:24:24 +07: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 +07:00
Christoph Wurst e655ffeb43
Merge pull request #50768 from nextcloud/perf/cron/delay-timedjob-checking
perf(cron): Delay (re)checking timed jobs
2025-03-31 17:31:44 +07:00
Joas Schilling aee2f2df55
Merge pull request #51768 from nextcloud/techdebt/noid/prepare-phpunit10
fix(phpunit10): Migrate away from PHPUnit at() calls
2025-03-31 16:04:41 +07:00
Christoph Wurst 2395526e6c
perf(cron): Delay (re)checking timed jobs
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-03-31 13:21:29 +07:00
Côme Chilliet d5ad9b86ef
Merge pull request #51676 from nextcloud/fix/add-getappversions-replacement
Add OC_App::getAppVersions replacement in IAppManager
2025-03-31 10:51:00 +07:00
Joas Schilling 522be60ff0
fix(phpunit): Remove some more withConsecutive calls
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-03-31 09:43:22 +07:00
SebastianKrupinski 2de6d6b908 fix: add event status and participant status
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-03-28 03:48:48 +07:00
Julius Knorr 46f531adec test: Adapt tests to properly use valid email addresses
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-03-26 11:51:52 +07:00