Commit Graph

6251 Commits (master)

Author SHA1 Message Date
Ferdinand Thiessen e3b34891b0
chore: migrate to PHPUnit 11
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-11-05 15:42:33 +07:00
Benjamin Gaussorgues 635a6ac9da
Merge pull request #56095 from nextcloud/feat/add-serverid 2025-11-04 16:00:32 +07:00
Joas Schilling 34f1ae62a1
fix(jobs): Limit command jobs to known cases
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-04 11:10:40 +07:00
Benjamin Gaussorgues 1f74ed9239
feat(config): add serverid configuration and use it for Snowflakes
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-11-03 14:25:09 +07:00
Benjamin Gaussorgues 83dd9d313a
feat(snowflakeids): add File Sequence Generator
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-11-03 11:45:13 +07:00
Ferdinand Thiessen 700f4db967
Merge pull request #56063 from nextcloud/tests/taskprocessing
test(TaskProcessing): use proper types
2025-10-31 15:04:49 +07:00
Marcel Klehr 8207afb7db fix: Use UserFacingProcessingException properly in tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-30 10:40:11 +07:00
Marcel Klehr d04d575ed3
Merge branch 'master' into feat/taskprocessing/user-facing-error-message
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-30 10:13:39 +07:00
Ferdinand Thiessen af7c56a75e test(TaskProcessing): use proper types
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-30 00:07:56 +07:00
Carl Schwan 336cc3fa35 feat(Db): Use SnowflakeId for previews
Allow to get an id for the storing the preview on disk before inserting
the preview on the DB.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-28 17:50:03 +07:00
Benjamin Gaussorgues c9b055a0d0 feat(database): introduce Snowflake IDs generator
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-10-28 17:50:03 +07:00
Daniel 7a3ed09822
Merge pull request #55906 from nextcloud/fix/taskprocessing-tests
fix: Use proper userId in taskprocessing trigger tests
2025-10-28 17:41:44 +07: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 +07: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 +07: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 +07:00
skjnldsv 9c98b722f4 fix(dav): allow multiple link shares token in session
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-23 13:10:39 +07:00
Marcel Klehr 606b0631d4 fix: Use proper userId in taskprocessing trigger tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-22 15:25:06 +07:00
Marcel Klehr 044e92bf4e feat(TaskProcessing): Introduce ITriggerableProvider
Signed-off-by: Marcel Klehr <mklehr@gmx.net>

# Conflicts:
#	lib/private/TaskProcessing/Db/TaskMapper.php
2025-10-20 15:59:25 +07:00
Joas Schilling 6fc190ef4c
Merge pull request #55803 from nextcloud/bugfix/55274/dont-fallback-from-3letter-languages-to-2letter
fix(l10n): Don't fallback from 3-letter languages to 2-letter
2025-10-16 13:43:13 +07:00
Joas Schilling 9e4ac50206
fix(l10n): Don't fallback from 3-letter languages to 2-letter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-16 11:46:01 +07:00
Joas Schilling 8b51705b4e
Merge pull request #55757 from nextcloud/test/net/localhost-by-ip
test(net): include test for localhost by IP
2025-10-16 11:38:11 +07:00
SebastianKrupinski ea2180d6ad fix: iMip reply from outlook.com does not contain organizer property
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-10-14 12:44:06 +07:00
Marcel Klehr e12c0ed7a3 test(TaskProcessing): Add test for user-facing error messages
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 16:53:41 +07:00
Christoph Wurst 3e90ce89eb
test(net): include test for localhost by IP
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-10-14 10:33:35 +07:00
Carl Schwan 65f52c47b8
Merge pull request #55674 from nextcloud/carl/deprecated-dbal
Port away from deprecated Doctrine APIs
2025-10-13 15:10:15 +07:00
Carl Schwan 9095a36b94 refactor(dbal): Port away from getDatabasePlatform() instanceof pattern
Use getDatabaseProvider instead.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 13:44:08 +07:00
Marcel Müller 0ca6384097 fix: Unset classes in container to reduce side-effects between tests
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-10-13 11:56:13 +07: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 +07:00
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