Commit graph

26985 commits

Author SHA1 Message Date
Ferdinand Thiessen
9a5ff61820
Merge pull request #60016 from nextcloud/fix/app-types
refactor(Fetcher): properly type AppStore fetcher
2026-04-30 15:52:01 +02:00
Ferdinand Thiessen
e7a2f660c7
refactor(Fetcher): properly type AppStore fetcher
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-30 14:01:56 +02:00
Ferdinand Thiessen
ca4a81e047
Merge pull request #59952 from nextcloud/fix/public-view-inital-state
fix(core): provide valid initial state also on public templates
2026-04-30 12:42:31 +02:00
Ferdinand Thiessen
a6f4ed2cf8
Merge pull request #57902 from nextcloud/useStrictOperator
refactor: use strict operator
2026-04-30 01:28:05 +02:00
Ferdinand Thiessen
c4e2159284
Merge pull request #58576 from nextcloud/carl/updater-controller
refactor(updater): Move updater to a Controller
2026-04-30 01:19:45 +02:00
Git'Fellow
3bbe0ee570
refactor: use strict operator
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2026-04-30 00:51:29 +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
Carl Schwan
b53d9a7259
refactor(updater): Move updater to a Controller
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-29 22:58:15 +02:00
Josh
d32cae3e68
Merge pull request #58840 from nextcloud/jtr/fix-ObjectStore-S3-doesObjectExistV2
fix(ObjectStore/S3): switch to more reliable doesObjectExistV2
2026-04-29 08:48:53 -04:00
Ferdinand Thiessen
12e80195d7
Merge pull request #59713 from nextcloud/jtr/refactor-HintException-typing
refactor: Add strict property/parameter typing to OCP\HintException
2026-04-29 14:06:03 +02:00
Joas Schilling
a0fedf1c7f
Merge pull request #59985 from nextcloud/chore/psalm-v6
chore: update psalm to v6
2026-04-29 07:20:29 +02:00
Nextcloud bot
82c0bc670b
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-29 00:20:17 +00:00
Ferdinand Thiessen
27c7164e86
chore: add psalm-api to for classes we need to mock in unit tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 23:52:43 +02:00
Ferdinand Thiessen
30a88a2240
chore: adjust NCU to have proper final keyword and Override attribute where needed
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:28 +02:00
Ferdinand Thiessen
3a9733a878
chore(ocp): adjust code to match function signature
json_encode should throw if `string` return is expected

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:28 +02:00
Ferdinand Thiessen
e0ba4d71b6
chore: add missing Override attribute to OC
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:27 +02:00
Ferdinand Thiessen
81752fc9ed
chore(ocp): add Override attribute to all OCP classes
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:27 +02:00
Stephan Orbaugh
04aa209bd0
Merge pull request #59953 from nextcloud/feat/expensive-repair
feat: provide interface to define expensive repair steps
2026-04-28 14:47:42 +02:00
Joas Schilling
08647c5458
Merge pull request #59955 from nextcloud/docs/noid/fix-deprecation
fix(mailer): Fix IMailer deprecation message
2026-04-28 07:53:02 +02:00
Nextcloud bot
4c163336b2
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-28 00:18:39 +00:00
Joas Schilling
d42cec56a3
fix(mailer): Fix IMailer deprecation message (replacement was added in 32 only)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-27 23:23:05 +02:00
Ferdinand Thiessen
3e8b8784fd
refactor: migrate app repair steps to new interface
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-27 20:03:44 +02:00
Ferdinand Thiessen
86588e3600
fix: typo in repair step name
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-27 20:03:44 +02:00
Ferdinand Thiessen
a974d00571
feat: add new IRepairStepExpensive interface
Expensive repair steps are non-critical repair steps that might take a long time to execute.
Non-critical means that they are not required to directly be executed during migration to have a working instance,
but they might be required to have a fully working instance later on.

Expensive repair steps are only executed when explicitly requested by the administrator.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-27 20:03:44 +02:00
Ferdinand Thiessen
767b6c25c7
fix(core): provide valid initial state also on public templates
The `core apps` initial state should be an array of apps currently
available. But for public templates when there is no navigation entry
the array would contain `[null]` instead of `[]` which breaks some use
cases (e.g. apps that rely on some nextcloud-vue versions).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-27 19:07: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
Cristian Scheid
f7777c30b3
Merge pull request #59903 from nextcloud/fix/noid/teams-api-resource-filter
fix(teams-api): adjust resource filtering
2026-04-27 08:22:04 -03: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
Joas Schilling
f5da0de67e
fix(navigation): Fix default app icon
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-27 10:51:43 +02:00
Nextcloud bot
5c0fe4c3cc
fix(l10n): Update translations from Transifex
Some checks failed
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
Integration sqlite / changes (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Has been cancelled
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Has been cancelled
Integration sqlite / integration-sqlite-summary (push) Has been cancelled
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-26 00:18:37 +00:00
Josh
1989ae9865
chore(s3): fully resolve conflict in S3ObjectTrait
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-25 11:16:56 -04:00
copilot-swe-agent[bot]
617803fc10
Merge remote-tracking branch 'origin/master' into jtr/fix-ObjectStore-S3-doesObjectExistV2
# Conflicts:
#	lib/private/Files/ObjectStore/S3ObjectTrait.php

Co-authored-by: joshtrichards <1731941+joshtrichards@users.noreply.github.com>
2026-04-25 11:48:06 +00:00
Cristian Scheid
8fe36b7c19 fix(teams-api): adjust resource filtering
Signed-off-by: Cristian Scheid <cristianscheid@gmail.com>
2026-04-24 13:59:29 -03: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
ac9da6eaa0
perf: only load possible results in UserMountCache::getMountForPath
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:43 +02:00
Robin Appelman
41e6124dcc
perf: only load a single mount at a time when checking for share conflicts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:43 +02:00
Robin Appelman
aedc57afe7
fix: add optional user param to IUserMountCache::removeMount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:41 +02:00
Robin Appelman
e5f77f004e
fix: fix moving mountpoints
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:39 +02:00
Robin Appelman
e7fcb6c7f5
fix: handle share moves
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:38 +02:00
Robin Appelman
0da86facc5
fix: clear in-memory cached mounts for user when adding/removing mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:52 +02:00
Robin Appelman
68448a4a42
feat: export getData for public FileInfo interface
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:51 +02:00
Robin Appelman
4e6975cc11
feat: add event for user home mount having being setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:48 +02:00
Robin Appelman
491fb8d483
fix: only validate mounts for new share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 14:39:46 +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
Nextcloud bot
dfa407ca55
fix(l10n): Update translations from Transifex
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, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2026-04-24 07:07:23 +00:00
Josh
8b4bd70327
Merge pull request #59617 from nextcloud/fix/store-readonly-appfolder
Some checks are pending
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
fix(installer): throw an exception only if app store is also enabled
2026-04-23 20:01:17 -04:00
Josh
874f192472
Merge pull request #59650 from nextcloud/usermountcache-delete-hash
fix: use proper index when deleting mounts
2026-04-23 19:57:48 -04:00
Josh
66f0d0a8de
Merge pull request #59679 from nextcloud/jtr/fix-loadApps-autoloader-type-inconsistency
fix(apps): filter autoloading registration by app type in loadApps
2026-04-23 19:56:37 -04:00
Robin Appelman
14a067e739
Merge pull request #59652 from nextcloud/mounts-index-swap-path_root
Some checks are pending
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, main, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, guests_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, main, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
perf: swap around root_id and mount_path_hash in index
2026-04-23 20:43:12 +02:00
Robin Appelman
a545c93d36
perf: swap around root_id and mount_path_hash in index
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-23 14:13:58 +02:00