Commit Graph

6223 Commits (4d23a952c1490e2afcc2172f64d742d33efe07fb)

Author SHA1 Message Date
nfebe c9bb6eedc6 fix: Include email when searching share suggestions
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-09 06:53:51 +07:00
nfebe c1d9e22c51 fix(sharing): Adapt share suggestions to match trusted servers configs
When `show_federated_shares_to_trusted_servers_as_internal` is enabled
but `show_federated_shares_as_internal` is not, filter federated share
suggestions to only include trusted servers. Previously, searching for
an email address would suggest non-trusted federated servers.

Resolved: #54511
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-09 06:53:46 +07:00
Benjamin Gaussorgues 3aa0c23e40
Merge pull request #54543 from nextcloud/preview-db-rework 2025-10-08 16:39:23 +07:00
Carl Schwan bef3996c3e fix(preview): Make version column a string
And move it to a different table so that we don't have to pay the
storage cost when not using it (most of the times).

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 14:07:06 +07:00
Carl Schwan 66f50bd585 refactor(preview): Use same mimetype ids as filecache
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 58023782b6 feat(preview): Store original file mimetype in preview table
Allow to quickly query all the files from a specific mimetype like in
the ResetRenderedTexts command.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07: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 +07:00
Carl Schwan 6f56dcf73e fix(preview): Fix some tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07: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 +07:00
Carl Schwan bba9667882 perf(preview): Adapt BackgroundCleanupJob to new previews table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 6008852232 feat(preview): Support multibucket storage
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07: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 +07:00
Joas Schilling 1447f182d2
Merge pull request #55405 from nextcloud/carl/cleanup-some-tests
refactor: Cleanup some unit tests
2025-10-01 15:02:00 +07:00
Carl Schwan 60c2875670 refactor: Cleanup some unit tests
- use declare(strict_types=1)
- use strong typing
- Remove some weird things in ControllerTest

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-01 10:11:27 +07:00
Louis f8bed8f186
Merge pull request #51145 from nextcloud/home-folder-readonly 2025-10-01 10:09:19 +07:00
Ferdinand Thiessen 31571476d3 refactor(files_external): migrate Ajax with `OC_JSON` to proper controller
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-30 20:19:21 +07:00
Kate 86ef7781c0
Merge pull request #55420 from nextcloud/fix/40082/appstore-timeout 2025-09-30 17:18:37 +07:00
Marcel Müller 31481701f3 fix(appstore): Make appstore timeout configurable
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 13:00:06 +07:00
Côme Chilliet bdff12361c
fix: Cleanup and fix tests, and fix related issues in code
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-30 11:53:59 +07:00
Côme Chilliet 73447618e7
chore: Run rector on lib/private/Template folder and cleanup more typing
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:23:37 +07: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 +07:00
Côme Chilliet 6181754ec8
Merge pull request #55358 from nextcloud/use-group-attributes
feat(test-case): allow to use PHPUnit Group attributes to mark tests requiring database
2025-09-28 14:09:51 +07: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 +07:00
Kate 81d0c73700
Merge pull request #55360 from nextcloud/refactor/rector 2025-09-28 12:28:46 +07:00
provokateurin 504eae65bd
refactor: Apply rector Nextcloud 27 set
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-28 11:45:52 +07:00
provokateurin d59338b377
refactor: Apply rector Nextcloud 26 set
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-28 11:45:52 +07: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 +07:00
provokateurin 6a12fbc4f3
refactor: Run rector
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-27 18:52:58 +07:00
Thomas Citharel f4e703bd5b
feat(test-case): allow to use PHPUnit Group attributes to mark tests requiring database
Before that, only the annotation @group('DB') is possible to mark test classes as requiring the database. Now the \PHPUnit\Framework\Attributes\Group attribute can be used as long as PHPUnit 10+ is used.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-09-27 14:39:13 +07:00
Côme Chilliet 5e9af71509
fix(tests): Fix UserPluginTest methods expectation
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-27 13:47:40 +07: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 +07:00
Côme Chilliet 3e4531dd05
fix: Fix methods returning null for arrays in schema Mock
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-27 13:05:34 +07: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 +07:00
Côme Chilliet ac61839d1e
fix(tests): Fix PHPUnit deprecation warnings in tests
Turn data providers into static methods, mostly.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-27 13:05:32 +07: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 +07:00
Akhil fe30ca872b feat(config): Add UserConfigChangedEvent whenever user config is updated
Signed-off-by: Akhil <akhil@e.email>
2025-09-26 14:29:58 +07:00
Benjamin Gaussorgues 5883914422
feat(db): add SSL/TLS support for PostgreSQL
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-09-22 11:51:04 +07:00
Marcel Klehr 613bb766d7
Merge pull request #55153 from nextcloud/fix/taskprocessing-task-types-cache-by-language
fix(TaskProcessing): Cache task types by user language
2025-09-18 09:23:27 +07:00
Maxence Lange 22c0e76e23
Merge pull request #55139 from nextcloud/fix/noid/index-settings-mail-on-upgrade
fix(userconfig): set 'mail' as indexed
2025-09-17 16:38:11 +07:00
Joas Schilling 4c64e09ecd
Merge pull request #55156 from nextcloud/carl/oracle-nullable-boolean
feat(db): Restaure support for non-nullable boolean column
2025-09-17 16:13:50 +07:00
Carl Schwan 837fe3586d feat(db): Restaure support for non-nullable boolean column
We disabled them because they are not supported on Oracle DB and it is
still the case for OCI < 23. But instead of disabling the support
completely for every database types, mark non-nullable boolean column as
actually nullable when using Oracle.

This allow to use some slighly lighter schema on normal databases who
support natively booleans wheen we don't need to store 3 states
true|false|null.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-17 14:45:48 +07:00
Marcel Klehr fe54914ef9 fix(TaskProcessing): Cache task types by
user language

fixes https://github.com/nextcloud/assistant/issues/357

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-17 14:16:01 +07:00
Maxence Lange 70dd0de0ff fix(userconfig): using api bit functions
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 10:17:53 +07:00
Côme Chilliet 7e0cda995a
Merge pull request #55142 from nextcloud/fix/allow-hyphen-in-appid
fix: Allow hyphen in appid
2025-09-16 23:46:38 +07:00
Côme Chilliet ae4d38eb63
fix: Allow hyphen in appid
It’s rare but exists for some apps not in the appstore.
Also added unit tests for cleanAppId and fixed small issues with it.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-16 17:59:30 +07:00
Louis Chemineau e6aa83cddd
fix(TagsTest): Declare `rootFolder` property
It was not caught by the CI on master, but is blocking in the backports.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-15 17:08:03 +07:00
Louis Chemineau 634e8d2587
fix: Dispatch favorite event with an actual path
The `$path` argument was added in https://github.com/nextcloud/server/pull/48612, but was never actually used by the callers. The path was therefore missing in the favorite/unfavorite events, which lead to a broken activity information.

I also added a fallback to handle `addToFavorites` and `removeFromFavorites`, which are part of a public API, and are calling `tagAs` and `untag` without `$path`.

Fix https://github.com/nextcloud/activity/issues/2134

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-15 15:04:00 +07: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 +07:00
Kate af172b3ec3
Merge pull request #54920 from nextcloud/object-store-unique-buckets-names 2025-09-08 15:23:39 +07: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 +07:00
Kate acb26a4507
Merge pull request #54914 from nextcloud/test/binary-finder/portability 2025-09-05 15:09:24 +07:00
Julien Veyssier 1775c94e4a
feat(taskprocessing): add tests for getAvailableTaskTypeIds
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-09-05 11:37:35 +07:00
invario 97a0dde160 feat(previews): previews and tests for large remote videos w/o full download
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: invario <67800603+invario@users.noreply.github.com>
2025-09-05 10:08:19 +07:00
provokateurin e391e50446
test(BinaryFinder): Make sure the test is portable between systems
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-05 09:47:47 +07:00
Marcel Klehr 7bd0b5704d
Merge pull request #54810 from nextcloud/feat/typed-tag-events
feat(SystemTag): Add typed events for tag mapper events
2025-09-04 11:19:28 +07:00
Marcel Klehr 2bb2fa50ee feat(SystemTag): Add typed events for tag mapper events
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-03 09:36:50 +07: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 +07: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 +07:00
Carl Schwan c4e6fbdae7 fix(query-builder): Don't catch UniqueConstraintViolationException
UniqueConstraintViolationException is no longer throw directly but
instead is now wrapped inside a \OCP\DB\Exception. So check the
exception reason.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +07:00
Carl Schwan c21b8169ff refactor(querybuilder): Port away from qb::execute() in lib/
Replace by either executeStatement or executeQuery

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:56 +07:00
SebastianKrupinski ff4fdf1af8
feat: meeting proposals
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-02 10:34:19 +07:00
SebastianKrupinski 7e92b157e3 fix: aliases and capitalization of emails
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-28 17:40:04 +07:00
Andy Scherzinger f2de5c79cd
Merge pull request #54721 from nextcloud/bucket-mapper-fixes
fix: make bucket mapper work with new multi-object-store config
2025-08-28 19:33:47 +07: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 +07:00
Joas Schilling 3df6d90a4c
Revert "perf(base): Stop setting up the FS for every basic auth request" 2025-08-28 17:11:31 +07:00
provokateurin e38dfef0dc chore: Remove unused \OC\Cache\CappedMemoryCache
Signed-off-by: provokateurin <kate@provokateurin.de>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-28 09:32:51 +07:00
provokateurin eba11750eb chore: Remove unused \OC\Cache\File
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-28 09:28:11 +07:00
Kate 3999dcf796
Merge pull request #54689 from nextcloud/bugfix/noid/fix-missing-return-type 2025-08-28 11:13:01 +07:00
Joas Schilling 102c778228
fix(comments): Fix missing return type on new method
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-28 08:58:52 +07:00
provokateurin 4b2a93cf0a
chore(Preview): Remove avconv support
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-27 20:51:08 +07:00
Kate 45f5daa45a
Merge pull request #54666 from nextcloud/carl/apply-rector 2025-08-27 16:29:58 +07:00
Daniel Kesselberg af38184b6f
fix: Make DummyJobList.getJobsIterator return an interable instance
iterator_to_array on PHP 8.1 does not accept an array and fails hard with a type error

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-27 12:28:16 +07:00
Carl Schwan d0f819ba99
Merge pull request #54409 from nextcloud/comments-db-multiple
perf(comments): Add a way to get comments for multiple objects at the same time
2025-08-27 11:57:24 +07: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 +07: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 +07:00
Andy Scherzinger e878ff9119
Merge pull request #54617 from nextcloud/followup/54608/double-space
test: Fix double space
2025-08-25 21:08:40 +07:00
Côme Chilliet 3c14f9f933
Merge pull request #53578 from nextcloud/jtr-chore-mbstring-func-overload
chore: remove all `mbstring.func_overload` references
2025-08-25 17:00:28 +07:00
Joas Schilling 51f596e0c2
test: Fix double space
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-25 13:29:17 +07:00
Joas Schilling 4082a45d6d test: Adjust the hashes and signatures
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-25 13:19:36 +07: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 +07:00
Joas Schilling 894fda1a4d
ci: Update testing certificates that expired after 10 years
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-25 12:15:57 +07: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 +07:00
Julien Veyssier 4a35837741
feat(auth): adjust PublicKeyTokenProviderTest
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-21 12:42:44 +07:00
Carl Schwan fa5548a1f3 perf(comments): Add a way to get comments for multiple objects at the same time
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-21 11:18:57 +07:00
Kate 4edfef4dd5
Merge pull request #53895 from nextcloud/fix/cleanup-updater-class 2025-08-19 17:40:15 +07:00
Maxence Lange 66cc7b731a
Merge pull request #54408 from nextcloud/feat/noid/preset-on-share-link-expire-date
feat(preset): share link expiration date
2025-08-19 10:24:43 +07:00
Kate 74d9649e6e
Merge pull request #54058 from nextcloud/feat/preset/load-apps-on-preset 2025-08-19 11:43:54 +07:00
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