Commit graph

6298 commits

Author SHA1 Message Date
Carl Schwan
6149168129
feat(preview): On demand preview migration
When requesting previews, which we don't find in oc_previews, search in
IAppData first before creating them.

Move the logic from MovepreviewJob to PreviewMigrationService and reuse
that in the Preview Generator.

At the same time rename MovePreviewJob to PreviewMigrationJob as it is a
better name.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-12 14:20:09 +01:00
ernolf
932523e844
style(tests): apply cs-fixer formatting to ClientTest
Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2026-01-09 01:29:59 +01:00
Raphael Gradenwitz
510c203dfe
Merge branch 'master' into ernolf/enh/http2-brotli-client
Signed-off-by: Raphael Gradenwitz <39901936+ernolf@users.noreply.github.com>
2026-01-08 21:02:07 +01:00
Benjamin Gaussorgues
36b0d7c189
Merge pull request #55265 from nextcloud/perf/log-slow-dns 2026-01-08 14:06:31 +01:00
Benjamin Gaussorgues
fe34ea5ec7
Merge pull request #57407 from nextcloud/carl/fix-php-85-deprecation-image
Some checks are pending
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
2026-01-08 13:57:11 +01:00
Benjamin Gaussorgues
ae250777fd
Merge pull request #56899 from nextcloud/feat/noid/ocm-capabilities 2026-01-08 13:46:09 +01:00
Louis
73dd45be4f
Merge pull request #57289 from nextcloud/feature/54562/drop-mounts-on-full-or-provider-setup
Feature/54562/drop mounts on full or provider setup
2026-01-08 11:26:50 +01:00
Christoph Wurst
adf7ea5f0b perf: log slow DNS operations
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2026-01-08 11:22:15 +01:00
Maxence Lange
6af64a5495 feat(ocm): event on ocm discovery and ocm request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-07 17:54:26 -01:00
Joas Schilling
66c8f9c4dc
Merge pull request #57414 from nextcloud/bugfix/noid/clean-language
Some checks are pending
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
fix(l10n): Fix language selection
2026-01-07 19:05:41 +01:00
Joas Schilling
52cfd57af9
Merge pull request #57413 from nextcloud/bugfix/noid/support-native-int-range
fix(controller): Support native int ranges
2026-01-07 19:05:19 +01:00
Daniel Calviño Sánchez
8e5ae53e02
Merge pull request #56938 from nextcloud/unify-handling-of-exclude-groups-in-contacts-menu-and-sharing
fix: Unify handling of exclude groups in contacts menu and sharing
2026-01-07 18:04:53 +01:00
Joas Schilling
ab122ac15d
fix(l10n): Fix language selection
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 17:41:18 +01:00
Joas Schilling
f2e2e4ea21
fix(controller): Support native int ranges
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 17:36:57 +01:00
Salvatore Martire
07eef5eaf4 fix: drop set up partial mounts on setupForUser
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-01-07 17:00:09 +01:00
Carl Schwan
bd815595d4
fix: Remove NOP ReflectionProperty::setAccessible calls
Doesn't do anything since PHP 8.1 and is deprecated since PHP 8.5
2026-01-07 15:23:20 +01:00
Joas Schilling
8d55b13641
Merge pull request #57367 from nextcloud/work/carl/psalm-unittests
refactor(psalm): Enable psalm for comments unit tests
2026-01-07 14:16:14 +01:00
Joas Schilling
40b79f5af8
Merge pull request #56795 from nextcloud/feat/noid/extend-entity-to-be-snoflake-aware
feat(snowflake): extend Entity class to support snowflakes
2026-01-07 13:42:49 +01:00
Carl Schwan
a430702caa
refactor(psalm): Enable psalm for comments unit tests
This is the first step to enable psalm for our test suite to find issues
also there.

At the moment, this already found some completely broken and unused
method in TestCase and prepare the way for making ICommentsManager work
with snowflake ids by using string instead of int for the ids
consistently.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-07 13:21:33 +01:00
Benjamin Gaussorgues
c57c4843e8
feat(openmetrics): introduce OpenMetrics exporter
Expose a `/metrics` endpoint with some basic metrics

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-07 09:38:13 +01:00
Carl Schwan
7c1a8a4060
feat: Adapt a bit the snowflake ids API
- Rename setId() -> generateId() in SnowflakeAwareEntity

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 12:57:17 +01:00
Anna Larch
5f797ebc32
refactor: move existing usages of snoflake IDs SnowflakeAwareEntity
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:17 +01:00
Anna Larch
f546daada7
refactor: Rename Snowflake Generator and Decoder
And introduce the Snowflake DTO

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:04 +01:00
Carl Schwan
33e5f2d345
fix(background-jobs): Fix unit tests with 32-bits tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-06 10:44:21 +01:00
Robin Appelman
047ff27e46 test: add tests for watcher check filter
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 12:23:04 +01:00
Salvatore Martire
6e9ba894a2 fix: add $forChildren parameter to IPartialMountProvider
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-29 18:06:12 +01:00
Ferdinand Thiessen
be8b2bfa8b
Merge pull request #57228 from nextcloud/fix/setup-for-path-caching
fix: adjust authoritative setup path caching logic
2025-12-23 16:49:05 +01:00
Ferdinand Thiessen
8c90d4f822
Merge pull request #56919 from nextcloud/jtr/fix-mime-detection-tests
fix(files/type): preserve numeric keys (follow-up)
2025-12-23 16:01:01 +01:00
Salvatore Martire
6c19fbcf4d fix: adjust authoritative setup path caching logic
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2025-12-22 15:52:52 +01:00
Joas Schilling
226b7df65e
fix(Hooks): Don't use offset null as it's deprecated (and not actually used)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-19 15:58:05 +01:00
Joas Schilling
56793fa5b8
fix(reflection): ReflectionMethod::setAccessible is noop since 8.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-19 15:57:04 +01:00
Benjamin Gaussorgues
89fcefbfa0
Merge pull request #55369 from nextcloud/carl/cleanup-external-manager 2025-12-17 14:14:48 +01:00
Kate
1829269f9d
Merge pull request #56933 from nextcloud/fix/duplicate-mounts
Some checks failed
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) Has been cancelled
Psalm static code analysis / static-code-analysis-security (push) Has been cancelled
Psalm static code analysis / static-code-analysis-ocp (push) Has been cancelled
Psalm static code analysis / static-code-analysis-ncu (push) Has been cancelled
2025-12-16 10:44:32 +01:00
Carl Schwan
3183ea79d2
refactor(external-share): Port more code to string as type for the id
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:09 +01:00
Carl Schwan
6945a030f5
refactor(OC_Helper): remove buildNotExistingFileNameForView
Move the functionality in the last place it is used OC\Files\Node\Folder

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:29 +01:00
Marcel Klehr
3579c5a6a0
Merge pull request #57094 from nextcloud/fix/snowflake_file_seq
fix(snowflakes): FileSequence generator must always use the same dir
2025-12-16 09:21:12 +01:00
Stephan Orbaugh
582bb11eae
Merge pull request #55631 from nextcloud/carl/deprecate-config-user-correctly
refactor: Deprecated user config from IConfig correctly
2025-12-15 17:30:52 +01:00
Benjamin Gaussorgues
fa7e569a16
fix(snowflakes): FileSequence generator must always use the same dir
`TempManager::getTemporaryFolder` is returning a random directory.
FileSequence needs always the same directory, even if different
processes.

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-12-15 15:58:15 +01:00
provokateurin
341fd348e6
fix(UserMountCache): Add back unique index for oc_mounts and use normal insert
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-15 12:26:23 +01:00
Julius Knorr
a45f4b0cdc
fix: Fix setting name inconsistency between backend and frontend
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-12-12 13:08:34 +01:00
Carl Schwan
6eabaaf104
refactor: Deprecated user config from IConfig correctly
Mark the methods in the interface deprecated instead of just the one in
the implementation.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-11 13:27:47 +01:00
Josh
b2bc785986
chore: make php-cs happy
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-09 22:26:16 -05:00
Daniel Calviño Sánchez
fbe2023d39 fix: Unify handling of exclude groups in contacts menu and sharing
If the current user belongs to both one or more groups excluded from
sharing and one or more groups not excluded from sharing the user is
allowed to share. However, in the contacts menu, as soon as the current
user belonged to a group excluded from sharing the user could not search
for local contacts. This has been unified now with the sharing
behaviour, so local contacts can still be searched if the user also
belongs to a group not excluded from sharing (or to no group at all,
which was also allowed before).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Daniel Calviño Sánchez
d59d8db1d6 test: Add unit test for excluded groups in contacts menu
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Daniel Calviño Sánchez
694651de3a test: Adjust unit test name to better reflect its behaviour
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Josh
50a94a35ee test(files/type): leading zero extension preservation
- adds a focused DetectionTest that ensures numeric-looking keys (e.g. "001") are preserved
- refactors filesystem tests to use an isolated temp dir with proper cleanup

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-12-09 09:22:04 -05:00
Andy Scherzinger
71c2e94123
Merge pull request #54436 from nextcloud/s3-signed-url
perf(s3): Provide direct pre-signed download link
2025-12-09 12:38:20 +01:00
Carl Schwan
b6313f68d3
perf(s3): Expose pre-signed urls for S3
This is faster than going back to nextcloud to download the files.

This is an opt-in setting that can be enabled by setting
use_presigned_url in the object store config.

Additionally add support for the proxy config which is needed in a
docker setup. See https://github.com/juliusknorr/nextcloud-docker-dev/pull/431

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-09 11:21:35 +01:00
Andy Scherzinger
2c6d3d6f76
Merge pull request #56628 from nextcloud/carl/snowflake/jobs
feat: Port jobs table to snowflakes ids
2025-12-08 12:23:44 +01:00
Kate
842df498e0
Merge pull request #56816 from nextcloud/jtr/chore-legacy-drop-mac-checker 2025-12-05 17:42:38 +01:00