Commit Graph

6465 Commits

Author SHA1 Message Date
Benjamin Gaussorgues 91a4172e35 Merge pull request #60225 from nextcloud/remove-cache-order
perf: remove unneeded sort in getFolderContentsById
2026-05-13 16:49:24 +02:00
Carl Schwan fcb956b5ab Merge pull request #59753 from nextcloud/work/carl/remove-orderById
perf(share): Remove useless order by id
2026-05-13 12:21:48 +02:00
Ferdinand Thiessen 2b2b9840b8 test(appstore): add test cases for appinfo.xml
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-12 23:11:24 +02:00
Ferdinand Thiessen e3783b88e6 fix(AppManager): properly type AppInfo type based on XSD
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-12 22:52:32 +02:00
Robin Appelman c91f8b0e2c test: adjust tests to unsorted folder listing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-12 19:30:24 +02:00
Carl Schwan c5c3525a6e fix: Allow sanitizeHTML to accept null
Used like this in many places

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-12 18:24:12 +02:00
Carl Schwan 279bface8e refactor: Delete deprecated code from OC_Util
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-12 18:24:12 +02:00
Carl Schwan 32bc6f54d3 refactor: Replace old Utils::callRegister with new API
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-12 18:24:12 +02:00
Benjamin Gaussorgues b438b345b5 Merge pull request #60317 from nextcloud/fix/snowflake_server_id_doc
fix(snowflake): fix wrong documentation about serverId
2026-05-12 14:16:31 +02:00
Carl Schwan 3dbefe89fd Merge branch 'master' into work/carl/remove-orderById 2026-05-12 13:59:15 +02:00
Benjamin Gaussorgues 9e36754429 fix(snowflake): fix wrong documentation about serverId
Maximum value of a server ID is 511 (9 bits) and not 1023.
Also adjust SetupCheck

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-05-12 10:47:44 +02:00
John Molakvoæ (skjnldsv) c26b1e4b07 fix(s3): add Content-MD5 header for DeleteObjects to fix AWS SDK v3.339.0+ compatibility
AWS SDK PHP v3.339.0+ introduced a breaking change requiring the Content-MD5
header for DeleteObjects operations. This causes 'MissingContentMD5' errors when
using S3-compatible services like MinIO.

Add middleware to automatically calculate and inject the Content-MD5 header on
all DeleteObjects requests. This is applied universally at the S3ConnectionTrait
level, fixing both external storage (AmazonS3) and core ObjectStore (S3) classes.

Fixes: https://github.com/aws/aws-sdk-php/issues/3068
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2026-05-12 09:07:20 +02:00
Kate ac15544703 Merge pull request #60299 from nextcloud/fix/remove-iservercontainer-from-core-apps
Chore: Remove references to deprecated interface IServerContainer
2026-05-12 07:48:58 +02:00
Kate 94c25e210d Merge pull request #60262 from nextcloud/ernolf/fix/brotli-detection 2026-05-11 20:34:09 +02:00
Côme Chilliet 9680004b58 chore: Remove almost all uses of deprecated IServerContainer in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:22 +02:00
Côme Chilliet 6664f62a6c fix: Fix debug mode and tests mocking IAppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 14:53:29 +02:00
Côme Chilliet bdfe8ed77e fix: Add proper methods in IAppManager for namespace handling
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 14:53:29 +02:00
ernolf 04bd872fd2 style(http-client): use explicit bitmask comparison for CURL_VERSION_BROTLI
Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2026-05-11 14:06:57 +02:00
ernolf c1cd4de1cd fix(http-client): detect brotli support via libcurl, not PHP extension
- Fixes a regression introduced in #55433.

Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2026-05-09 03:23:27 +02:00
Robin Appelman d307557c56 test: adjust tests to unsorted share listing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-08 18:05:06 +02:00
Anna Larch 0681ced203 fix(previews): use createParameter/setParameter to reuse query in chunk loop
AI-Assisted-By: claude-sonnet-4-6 <noreply@anthropic.com>
Signed-off-by: Anna Larch <anna@nextcloud.com>
AI-Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 10:32:54 +02:00
Ferdinand Thiessen f6a37dc608 refactor(appstore): split controllers and use proper root
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-05 10:41:04 +02:00
Ferdinand Thiessen 5b756ad8bc refactor: split appstore from settings
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-05-05 10:41:04 +02:00
Anna 57c57d7082 Merge pull request #59918 from nextcloud/feat/check-if-talk-enabled
feat(ocp): expose whether talk is enabled for user
2026-05-04 11:03:52 +01:00
Robin Appelman 9f5535d01b fix: apply quota with writeStream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-02 14:04:09 +02:00
Robin Appelman f3a5bc8c17 fix: block writing empty files with 0 quota
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-02 14:04:09 +02:00
John Molakvoæ 723b441324 Merge pull request #60000 from cuppett/cuppett/test-isolation 2026-04-30 12:38:03 +02:00
Stephen Cuppett c2e2b5704d fix(tests): Fix encryption test isolation between test runs
Add global encryption teardown to TestCase base class so encryption state
does not leak between test suites regardless of which tests ran earlier.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Stephen Cuppett <steve@cuppett.com>
2026-04-29 19:42:38 -04:00
Josh 268cc5f07e test(TestCase): '.ocdata' -> '.ncdata' in knownEntries
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-30 01:39:59 +02:00
nextcloud-command e11e7f1c70 refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-04-29 23:54:19 +02:00
Ferdinand Thiessen be2ac0bd86 Merge pull request #59932 from nextcloud/carl/copySkeleton
refactor: Move copy skeleton step to a file listener
2026-04-29 23:15:38 +02:00
Ferdinand Thiessen e5b1799079 chore: add missing Override attribute to test files
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:28 +02:00
Joas Schilling 109eb0c8a9 fix(talkbackend): Make function names positive and remove talk internals from docs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-27 21:27:40 +02:00
Carl Schwan bb4c55c125 refactor: Move copy skeleton step to a file listener
Instead of having all user providers call OC_Util::copySkeleton

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-27 15:37:02 +02:00
Joas Schilling aa904b255f Merge pull request #59378 from nextcloud/carl/non-internal-api
chore: Replace MoveableMount usage with IMovableMount
2026-04-27 12:37:56 +02:00
Hamza c55cfc4367 test: Add tests for whether spreed is enabled
Signed-off-by: Hamza <hamzamahjoubi221@gmail.com>
2026-04-26 17:08:39 +02:00
Robin Appelman a05a3b9005 fix: only update share for the user who moved the share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:44 +02:00
Robin Appelman cf06ebf999 test: more tests for UserMountCache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:43 +02:00
Robin Appelman 1b84a85558 test: add reusable mock implementation for IUserConfig
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:53 +02:00
Robin Appelman 3a50ee887b test: add reusable mock implementation for IAppConfig
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:52 +02:00
Carl Schwan fbf84e6473 chore: Replace MoveableMount usage with IMovableMount
The former is private API while the IMovableMount is public.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-24 10:14:37 +02:00
Christoph Wurst 65db5e68b4 fix(dav): unify content disposition header escaping
Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
2026-04-22 14:05:42 +02:00
Jyrki Gadinger 3183aa0ad0 chore(openmetrics): rename app_info metric to app_enbled
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2026-04-20 11:41:19 +02:00
Jyrki Gadinger e7b1b69e66 chore(openmetrics): use "app_id" label instead of "app_name"
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2026-04-20 11:38:44 +02:00
Jyrki Gadinger 3e5daac0c5 feat(openmetrics): expose app information per-app
Since exporting the app information that way makes the apps count metric
obsolete I removed it as well.

Resolves #59718

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2026-04-20 11:27:55 +02:00
Kostiantyn Miakshyn fcb10219d1 fix: Allow num_buckets to be equal as min_bucket
Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
2026-04-19 18:28:12 +02:00
Julien Veyssier 7f9fdfbe46 fix(upgrade): restore missing apps on upgrade
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-04-17 11:34:35 +02:00
Stephen Cuppett cdaeed02b6 feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage
Add support for Server-Side Encryption with AWS Key Management Service
(SSE-KMS) for S3 object storage. This allows Nextcloud to encrypt data
at rest in S3 using AWS-managed keys.

Key features:
- New config options: sse_kms_enabled and sse_kms_key_id
- Backward compatible with existing SSE-C (customer-provided keys)
- SSE-C takes precedence when both SSE-C and SSE-KMS are configured

Implementation details:
- Added getServerSideEncryptionParameters() method to centralize
  encryption parameter logic for both SSE-C and SSE-KMS
- Updated multipart uploads to use unified encryption parameters
- Added comprehensive PHPUnit tests for SSE-KMS scenarios
- Tested with AWS bucket and KMS keys in us-east-1 region

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Stephen Cuppett <steve@cuppett.com>
2026-04-16 13:21:53 -04:00
Ferdinand Thiessen 64c1d17c7b Merge pull request #59360 from nextcloud/fix/sql-tz
fix(db): set session timezone to UTC
2026-04-15 17:46:14 +02:00
Carl Schwan f0ff73f47c Merge pull request #59544 from nextcloud/chore/remove-deprecated-methods
Remove long-time deprecated methods
2026-04-14 11:55:24 +02:00