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
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
Joas Schilling
ce5e5d4f46
Merge pull request #59600 from nextcloud/bugfix/noid/add-default-limit-restrictions
...
fix(controller): Add default range to $limit parameter
2026-04-14 11:48:29 +02:00
Joas Schilling
eecd708ac8
Merge pull request #59606 from nextcloud/bugfix/noid/require-absolute-links-in-notifications
...
fix(notifications): Require absolute links for support of desktop and mobile clients
2026-04-13 17:33:49 +02:00
Joas Schilling
2b764717ed
Merge pull request #59598 from nextcloud/bugfix/noid/dont-expose-the-real-reason
...
fix(sharing): Don't give a reason when share from disabled user is no…
2026-04-13 16:11:18 +02:00
Joas Schilling
36e956e17e
fix(notifications): Require absolute links for support of desktop and mobile clients
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-13 15:48:55 +02:00
Joas Schilling
7ed9191493
fix(controller): Add default range to $limit parameter
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-13 14:45:32 +02:00
Kate
f54b0aacef
Merge pull request #59595 from nextcloud/automated/noid/rector-changes
2026-04-13 09:46:22 +02:00
Joas Schilling
0b2ad9a935
fix(sharing): Don't give a reason when share from disabled user is no longer working
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-13 08:50:31 +02:00
Carl Schwan
f11c808ef6
Merge pull request #59493 from nextcloud/fix/clean-set-app-types
...
chore: Cleanup setAppTypes and move it to AppManager
2026-04-12 19:17:55 +02:00
nextcloud-command
43de56cd3a
refactor: Apply rector changes
...
Signed-off-by: GitHub <noreply@github.com>
2026-04-12 14:48:13 +00:00
Côme Chilliet
78fd649e47
chore: Remove long deprecated methods from OCP
...
These have been deprecated from before 20
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-09 18:05:53 +02:00
Côme Chilliet
ee97f7a56a
chore: Adapt installer tests to class change in constructor
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-09 15:32:11 +02:00
Benjamin Gaussorgues
c835064a6b
Merge pull request #59494 from nextcloud/artonge/fix/drop_transaction_during_scans
2026-04-09 08:56:50 +02:00
Louis Chmn
72812b2b07
chore(Scanner): Use modern syntax and APIs
...
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-04-08 12:26:55 +02:00
Benjamin Gaussorgues
1ed4f74551
Merge pull request #58892 from nextcloud/chore/add-test-snowflake-32
2026-04-07 15:47:50 +02:00
Côme Chilliet
3f6d0c4192
Merge pull request #59462 from Keeper-of-the-Keys/config-header-attempt-2
...
feat: add config header and tests.
2026-04-07 14:40:33 +02:00
E.S. Rosenberg a.k.a. Keeper of the Keys
3f539d78e3
fix: change config-warning to const per @come-nc request in the PR.
...
Signed-off-by: E.S. Rosenberg a.k.a. Keeper of the Keys <es-github@rosenberg.org.il>
2026-04-07 11:47:14 +03:00
Benjamin Gaussorgues
83e464c3e8
Merge pull request #59255 from moktamd/fix/metrics-escape-label-names
2026-04-07 09:00:10 +02:00
E.S. Rosenberg a.k.a. Keeper of the Keys
52d092da64
feat: add config header and tests.
...
Signed-off-by: E.S. Rosenberg a.k.a. Keeper of the Keys <es-github@rosenberg.org.il>
2026-04-06 00:46:26 +03:00
Benjamin Gaussorgues
71aa36860f
chore(tests): check Snowflake ID preserved in 32 bits
...
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-04-03 17:00:01 +02:00
Ferdinand Thiessen
691aedd13e
fix(db): set session timezone to UTC
...
Some (well all except sqlite) database platforms support timezone
configuration. The problem is that we expect everything in UTC,
but some servers might have set some different default (e.g. in database
configuration or even just because of `TZ` environment variable).
This causes incorrect values when expecting `NOW()` to return the
current time in UTC.
For PHP we already enforce UTC as timezone, this PR adds a middleware
that enforces UTC also as the database connection / session timezone.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-01 13:47:03 +02:00
moktamd
1c33307a59
fix(metrics): validate label names in Metric, sanitize in AppsInfo
...
Add validation in the Metric constructor that rejects invalid
OpenMetrics label names with InvalidArgumentException. Sanitize
app IDs at the source in AppsInfo by replacing hyphens with
underscores before creating the Metric.
Fixes nextcloud/server#59247
Signed-off-by: moktamd <moktamd@users.noreply.github.com>
2026-03-31 11:20:40 +00:00
Côme Chilliet
4e0217ef13
chore(tests): Fix bogus parameter passed by tests to createTag
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-30 11:38:15 +02:00
Côme Chilliet
ca245b4cc6
Merge pull request #58896 from nextcloud/fix/fix-tags-user-event
...
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Psalm static code analysis / static-code-analysis-strict (push) Waiting to run
fix: Fix user in Tags class, do not depend upon session
2026-03-26 17:06:27 +01:00
Louis
309d12abe1
Merge pull request #58990 from mosi-kha/fix/group-displayname-event-oldvalue
...
fix(group): pass previous display name in GroupChangedEvent
2026-03-26 16:07:50 +01:00
Daniel
8032ad83b3
Merge pull request #59147 from nextcloud/fix/use-fqdn-for-dns-pinning
...
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Psalm static code analysis / static-code-analysis-strict (push) Waiting to run
fix(DnsPinning): Ensure to always lookup based on FQDN
2026-03-23 16:36:38 +01:00
David Dreschner
5bc0ba6a51
fix(DnsPinning): Ensure to always lookup based on FQDN
...
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
2026-03-22 20:34:55 +01:00
nextcloud-command
1ed0769d4c
refactor: Apply rector changes
...
Signed-off-by: GitHub <noreply@github.com>
2026-03-22 14:45:16 +00:00
Marcel Klehr
a51d74407a
fix: Apply suggestions from code review
...
Co-authored-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 11:14:26 +01:00
Marcel Klehr
ad5e709f7f
chore: Address review comments
...
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
b1517d8938
test(taskprocessing): fix broken multi-type assertions and add starvation-prevention test
...
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
de9852eca4
fix: Fix Task mock error: use real Task instances; run autoloaderchecker
...
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
9cc334312b
feat(taskprocessing): Add --taskTypes whitelist option to taskprocessing:worker command
...
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
copilot-swe-agent[bot]
118ca6a94b
feat(taskprocessing): Add worker command with tests and registration
...
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 11:08:25 +01:00
Maksim Sukharev
f01ba2de0f
fix(bg_jobs): store job argument as a text, increase length cap from 4000 to 32000
...
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-03-18 15:50:38 +01:00
Joas Schilling
44175e3cdb
Merge pull request #58998 from nextcloud/bugfix/noid/dont-count-mentions-in-markdown-code
...
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
Psalm static code analysis / static-code-analysis-strict (push) Waiting to run
fix(comments): Correctly treat end of message as end of code block/in…
2026-03-18 10:35:29 +01:00
Benjamin Gaussorgues
1b504bf4ec
Merge pull request #58863 from nextcloud/fix/annotation-attributes-fix
2026-03-18 08:46:31 +01:00
Joas Schilling
fe89541be3
fix(comments): Correctly treat end of message as end of code block/inline
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-17 15:34:47 +01:00