Commit Graph

16149 Commits (16c26101d0392268ceeade2a144306c43bf1b658)

Author SHA1 Message Date
Maxence Lange 66cc7b731a
Merge pull request #54408 from nextcloud/feat/noid/preset-on-share-link-expire-date
feat(preset): share link expiration date
2025-08-19 10:24:43 +07:00
Kate 74d9649e6e
Merge pull request #54058 from nextcloud/feat/preset/load-apps-on-preset 2025-08-19 11:43:54 +07:00
Daniel 09607f40eb
Merge pull request #53834 from nextcloud/feat/imailaddressvalidator
feat(ocp): add email address validator
2025-08-19 09:38:51 +07:00
Daniel b9da14be0c
Merge pull request #54494 from nextcloud/fix/typos
fix: typos in cache and app config
2025-08-19 09:34:24 +07:00
Andy Scherzinger c026c7c933
Merge pull request #54419 from nextcloud/share-event-catch
fix: catch and log exception from share events
2025-08-19 07:21:52 +07:00
Ferdinand Thiessen 6c003eda5c
Merge pull request #54483 from nextcloud/feat/fetch-user-timezone
feat(IDateTimeZone): allow to fetch timezone of specified user
2025-08-18 20:36:46 +07:00
Ferdinand Thiessen 112178d3a0
fix: typos in cache and app config
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 18:35:54 +07:00
Côme Chilliet a25797330b
fix: Log that using an appinfo/install.php file is deprecated
appinfo/install.php is not part of the official documentation for
 application development but some apps are still using such a file.
 Log a message to deprecate this behavior, to be able to remove support
 for this later.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:25:07 +07:00
Côme Chilliet 12edd2b23a
fix: Deduplicate code by using DependencyAnalyzer in the AppManager
Was a bit more complicated than expected because of a dependency loop,
the L10N factory uses the app manager, thus the AppManager cannot depend
on I10N directly or indirectly in its constructor.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +07:00
Côme Chilliet b7c15949ce
chore: Get rid of AppLocator helper
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:40 +07:00
Côme Chilliet 0e01bc09a9
chore: Inline OC_App::setupBackgroundJobs
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +07:00
Côme Chilliet e5606d7fe3
chore: Move getAppPath and getAppWebPath implementations into AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +07:00
Côme Chilliet 3e01a429e7
chore: Replace last calls to OC_App::enable by IAppManager
Also added a few missing deprecations

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +07:00
Côme Chilliet 61a87bc384
chore: Deduplicate common code between installApp and installShippedApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 17:09:39 +07:00
Côme Chilliet 4abfd4871f
chore: Move isAppCompatible and shouldUpgrade to the app manager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:18:38 +07:00
Côme Chilliet 25c2279966
chore: Set installShippedApps as non-static in Installer
Make code closer to the one of installApp, to be able to compare them
 and later merge them (in the shadows).

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:18:27 +07:00
Côme Chilliet cb8d960766
chore: Remove check for appinfo/database.xml
It has been unsupported since Nextcloud 22.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:27 +07:00
Côme Chilliet 410389867c
chore: Inline private method OC_App::setupLiveMigrations
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:27 +07:00
Côme Chilliet f5fac6476f
chore: Remove references to obsolete field ocsid in apps info.xml
It’s not even allowed by our xsd schema.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:15:25 +07:00
Côme Chilliet 42c980e093
chore: Add IAppManager property in Installer
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:14:48 +07:00
Côme Chilliet fd17555333
chore: Move OC_App::updateApp to IAppManager::upgradeApp
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:14:45 +07:00
Côme Chilliet 6aa675c6bb
fix: Cleanup OC_App uses in Updater class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-18 16:13:14 +07:00
Richard Steinmetz f95ce30994
feat: indicate reason for preloading notifications
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-18 15:28:46 +07:00
Ferdinand Thiessen 6d5dd4b389
Merge pull request #54383 from nextcloud/feat/cache-app-config
feat(AppConfig): cache the config if local cache is available
2025-08-18 15:12:09 +07:00
Ferdinand Thiessen cd550d57ef
Merge pull request #54402 from nextcloud/fix/streamer-mtime-zip
fix(Streamer): use localtime for ZIP files
2025-08-18 14:39:37 +07:00
Ferdinand Thiessen f7e0f3f241
feat(IDateTimeZone): allow to fetch timezone of specified user
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 14:26:52 +07:00
Ferdinand Thiessen 0ef58c96ab
refactor(Memcache\Factory): move prefix generation to the factory class
This removes a circular dependency between AppConfig and cache factory.
When a cache in the app config is used.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +07:00
Ferdinand Thiessen d5e2432bcd
fix: resolve invalid usage of `AppConfig::getValue`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +07:00
Ferdinand Thiessen 1c85548f86
feat(AppConfig): cache app config in local cache if available
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 13:24:18 +07:00
Ferdinand Thiessen ac545cc478
fix(SetUserTimezoneCommand): only write user login timezone if not yet set
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-18 12:40:42 +07:00
Daniel 64c52006dd
Merge pull request #54272 from nextcloud/enh/noid/taskprocessing-task-add-cleanup-flag
feat(taskprocessing): add cleanup flag to tasks
2025-08-15 09:48:47 +07:00
Daniel 92e282af0b
Merge pull request #53996 from nextcloud/feat/unified_search/online_providers
feat(UnifiedSearch): Online search providers support, toggle option
2025-08-14 21:08:21 +07:00
Maxence Lange 6076b67696 feat(preset): share link expiration date
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-14 16:07:32 +07:00
Maxence Lange 61fe4c1aba
Merge pull request #54336 from nextcloud/feat/noid/preset-on-share-password
feat(preset): share password protection
2025-08-14 16:07:13 +07:00
Daniel Kesselberg 336c6d2957
feat(ocp): add email address validator
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-08-14 18:34:36 +07:00
Robin Appelman e0a21e5927
Merge pull request #54384 from nextcloud/getpath-node
perf: use more optimized node-by-id logic in View::getPath
2025-08-14 18:21:23 +07:00
Ferdinand Thiessen ba00416040 refactor(Streamer): inject `IDateTimeZone` as constructor arg
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-14 17:19:28 +07:00
Ferdinand Thiessen bb72eed4a2 fix(Streamer): use localtime for ZIP files
ZIP does not use a proper timestamp but uses something called "DOS time".
This is a weird old format with some limitations like accuracy of only
2 seconds, but also no timezone information.
Also unline UNIX time it is not relative to some specific point in time
with timezone information, but is always considered to be the local
time. Meaning we need to convert it first to the users local time.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-14 17:19:28 +07:00
Maxence Lange 9c7ed07571 feat(preset): load apps on new preset
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-14 13:27:33 +07:00
Anna 1a2d0d5c1d
Merge pull request #54117 from nextcloud/feat/noid/add-bulk-activity
feat(activity): add bulk activity option
2025-08-14 15:53:33 +07:00
Robin Appelman b69109395b
Merge pull request #52786 from nextcloud/multi-object-store
allow configuring multiple object store backends
2025-08-14 15:49:00 +07:00
Andrey Borysenko 5c4e84f128
feat(UnifiedSearch): External search providers support
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
2025-08-14 16:37:39 +07:00
Stephan Orbaugh 7fe5c8fdda
Merge pull request #54120 from IONOS-Productivity/fix/unified_search.providers_allowed
fix(search): Fix SearchComposer.php filtering logic
2025-08-14 15:02:42 +07:00
Robin Appelman b3c53c7436 feat: allow object store configuration aliases for easier migrations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +07:00
Robin Appelman 2d4bba7b0c feat: add command to get user objectstore config mappings
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +07:00
Robin Appelman 385dd36ff8 feat: allow configuring multiple objectstore configurations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +07:00
Robin Appelman dcc6c1956a fix: catch and log exception from share events
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 11:37:11 +07:00
Anna Larch 6a3a244807 feat(activity): add bulk activity option
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-08-14 11:31:47 +07:00
Robin Appelman 5987584b90 perf: use more optimized node-by-id logic in View::getPath
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-13 19:42:42 +07:00
Ferdinand Thiessen 32703d0500
fix(ZipFolderPlugin): set mtime of directories in archive
Directories should also have the correct mtime set and not the current
time. For this the `Streamer` class needs to support passing a time
attribute for creating folders, the underlying library already supports
this.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-13 10:23:47 +07:00
Maxence Lange cb84ccc57d feat(preset): share password protection
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-12 14:37:32 +07:00
Robin Appelman 8350fea770 fix: increase how long we cache display names
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-11 11:20:05 +07:00
Misha M.-Kupriyanov 69c51bb163 fix(search): Fix SearchComposer.php filtering logic
keep the $this->providers types

Test via ./occ config:app:set --value '["files","settings"]' --type array core unified_search.providers_allowed

should be part of 8e570041

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2025-08-11 09:42:56 +07:00
Joas Schilling 57f09b642e
fix(container): Reduce general deprecation spam on all requests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-09 11:53:30 +07:00
Maxence Lange bbc9ed138c fix(config): fix tests+psalm
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 11:00:49 +07:00
Maxence Lange a4b9edc8eb feat(preset): Profile Visibility
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 10:58:59 +07:00
Maxence Lange f32d865716 fix(lexicon): only filter out null default
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 10:58:58 +07:00
Maxence Lange 33c4fe504d feat(preset): new PresetManager
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-08 10:58:58 +07:00
Benjamin Gaussorgues 8783679a49
Merge pull request #54303 from nextcloud/jtr-oc-appframework-app-cleanup 2025-08-08 10:41:51 +07:00
yemkareems aa227f1c55 feat: add bluesky to accounts, show the same in profile edit and visibility option, in view profile and also in sharing tab
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-08-08 08:06:45 +07:00
John Molakvoæ 3dac5b33ee
Merge pull request #54282 from nextcloud/techdebt/noid/reduce-deprecation-spam 2025-08-08 10:04:22 +07:00
Joas Schilling 2f18996347
fix(container): Don't use deprecated things to set up controllers for apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-08 08:42:56 +07:00
Joas Schilling 17c40b9474
fix(container): Log the deprecation to the app when possible
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-08 08:42:55 +07:00
Varun Patil 5ecd3c4b49
feat(database): Add option to test for mariadb
There are some behavioral differences that apps may need to check for.
See discussion on #51175 for more info.

This preserves the existing behavior of getDatabaseProvider()

Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2025-08-08 07:50:51 +07:00
Julien Veyssier aa2ca86fb3
feat(taskprocessing): avoid generator cascade
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +07:00
Julien Veyssier e2c65b2493
feat(taskprocessing): fix mistake
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +07:00
Julien Veyssier 222b19b805
feat(taskprocessing): rename cleanup column to allow_cleanup
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:22 +07:00
Julien Veyssier cc295f2452
feat(taskprocessing): use Generator::getReturn to get the list of deleted tasks in the cleanup command
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +07:00
Julien Veyssier 19801f7ec4
feat(taskprocessing): move cleanup method to private taskprocessing manager, use it in the cleanup bg job and implement a cleanup command
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +07:00
Julien Veyssier 8c52b6c0fe
feat(taskprocessing): add cleanup flag to tasks to decide if they should be cleaned up automatically
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-07 15:12:21 +07:00
Robin Appelman 5660a73a3d
Merge pull request #54238 from nextcloud/extra_sensitive_values
feat: allow admins to configure additional sensitive config values
2025-08-07 15:08:56 +07:00
Josh 67c14b0f11
refactor(App): \OC\AppFramework\App clean-up
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-06 17:10:45 +07:00
Daniel Calviño Sánchez 8b7aad82c7 fix: Fix button alignment for email templates in Outlook
The button group generated in email templates is expected to show the
two buttons side by side in a single row, but in Outlook both buttons
took the full width of the wrapper row and each button was shown in
its own row. To solve that the buttons are wrapped in an additional
table that shows each button in its own cell, limiting their width and
showing them in a single row; this is done conditionally and only
applied in Outlook, so it should not affect other clients.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-08-06 15:18:01 +07:00
Ferdinand Thiessen 7e76c91677
fix: resolve psalm errors
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-06 12:52:50 +07:00
Phreeman33 655ef1031b
fix: display chinese character avatar
Signed-off-by: Phreeman33 <12772373+Phreeman33@users.noreply.github.com>
2025-08-06 12:24:09 +07:00
Ferdinand Thiessen 1fdda4b202
Merge pull request #54043 from nextcloud/fix/mysql-removed-auth
fix(db): use `caching_sha2_password` for MySQL
2025-08-06 11:26:30 +07:00
Richard Steinmetz ee6596782f
Merge pull request #54232 from nextcloud/feat/notifications/preload-many
feat(notifications): provide method to preload many notifications at once
2025-08-06 09:57:53 +07:00
Richard Steinmetz ad39dab6ca
feat(notifications): provide method to preload many notifications at once
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-06 09:22:56 +07:00
skjnldsv 9aac182109 fix(core): ensure unique vcategory
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-05 22:11:21 +07:00
Ferdinand Thiessen b814f3bba6
fix(db): use `caching_sha2_password` for MySQL
`caching_sha2_password` was added in 8.0.4 as the default
authentication plugin. `mysql_native_password` is deprecated since then.
In MySQL 8.4 it was disabled by default so a user need to manually
reenable it to make it work.
In MySQL 9.0 it is removed and causes the following error:

> SQLSTATE[HY000] [1524] Plugin 'mysql_native_password' is not loaded

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-05 20:40:38 +07:00
Robin Appelman 97efc95efc fix: better object store write error propagation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-05 19:17:58 +07:00
Robin Appelman 83b8a390cd fix: always do stream counting for object store upload
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-05 19:17:58 +07:00
Robin Appelman 398b106f0c fix: validate written size for s3 multipart uploads
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-05 19:17:58 +07:00
Robin Appelman 064e1133f5 feat: allow admins to configure additional sensitive config values
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-05 19:16:14 +07:00
Joas Schilling db8dd9f7f6
Merge pull request #54207 from nextcloud/feat/noid/cache-user-keys
Cache IdentityProof keys
2025-08-05 18:43:56 +07:00
Ferdinand Thiessen ad85d65064
Merge pull request #54077 from nextcloud/jtr-files-detection-refactor-finfo
refactor(IMimeTypeDetector): streamline + minor tidying
2025-08-05 18:10:46 +07:00
Marcel Müller 520d8beaf5 feat: Cache user keys
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-08-05 16:42:14 +07:00
Josh 2aa6894c38
Merge pull request #54239 from nextcloud/cleanup-appframework-spreed
refactor(AppFramework): drop unused spreed/Talk fallback
2025-08-05 08:42:31 +07:00
Joas Schilling c9fa1db925
Merge pull request #54230 from nextcloud/bugfix/spreed-15625/log-query-with-immutable-dates
fix(logging): Fix query logging with DateTimeImmutable parameters
2025-08-05 12:29:04 +07:00
Joas Schilling ff3043346a
Merge pull request #54196 from nextcloud/enh/noid/taskprocessing-lazy-config
[TaskProcessing] Load and store some config keys lazily
2025-08-05 12:28:34 +07:00
Joas Schilling a3f1b079bb
Merge pull request #54203 from nextcloud/oci-string-length-empty
fix: fix oci string length with empty strings
2025-08-05 12:18:41 +07:00
Josh 3535149418 refactor(IMimeTypeDetector): streamline finfo usage + misc tidying
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-04 11:24:58 +07:00
Josh 9195987d14
refactor(AppFramework): drop unused spreed/Talk fallback
No longer needed from what I can tell since #20114 & nextcloud/spreed#3134

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-04 08:59:49 +07:00
Julien Veyssier be7ef439cf
fix(taskprocessing): move LAZY_CONFIG_KEYS constant to the private namespace
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-04 10:11:24 +07:00
Julien Veyssier 2e3fa51132
feat(taskprocessing): load and store some config keys lazily
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-08-04 10:11:24 +07:00
Joas Schilling c722f8c88b
fix(logging): Fix query logging with DateTimeImmutable parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-04 08:47:55 +07:00
Robin Appelman 222cbd0af6
fix: fix oci string length with empty strings
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-01 17:45:35 +07:00
John Molakvoæ 4829ac57c1 fix: use `OCP\Server`
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-01 17:00:09 +07:00
Josh 14b4d0327e fix(AppFramework): Log malformed protocol values and unify fallback behavior
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-01 17:00:09 +07:00
John Molakvoæ 5108b8fa13
Merge pull request #49104 from nextcloud/fix/install-dbport-unused 2025-08-01 11:35:22 +07:00
Richard Steinmetz 976e42314f
Merge pull request #54182 from nextcloud/mount-cache-without-fs-access
fix: don't update cached mountpoints if the request doesn't have filesystem access
2025-08-01 10:32:15 +07:00
Maksim Sukharev 809d638c05 fix: make early check if users filesystem have a mountpoint at /<user>/files/
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-08-01 09:31:50 +07:00
John Molakvoæ 4eee160c15
Merge pull request #53729 from nextcloud/dav-external-url-encoded-root 2025-08-01 09:31:14 +07:00
Robin Appelman 01147cf872 fix: add missing color select to tags usage query
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-01 02:47:04 +07:00
Robin Appelman 73d0418425
fix: don't update cached mountpoints if the request doesn't have filesystem access
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-31 18:28:26 +07:00
Daniel Calviño Sánchez b9ab00a59e
Merge pull request #54005 from nextcloud/do-not-show-password-dialog-when-user-can-not-validate-password
fix: Do not show password dialog when user can not validate password
2025-07-29 17:54:46 +07:00
Maxence Lange 132513dbf3 fix(userconfig): duplicate core lexicon
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 10:36:44 +07:00
Daniel b8ad6d091a
Merge pull request #53945 from nextcloud/chore/share-constants
chore(OC\Share\Constants): Remove unused SHARE_TYPE_* constants
2025-07-29 13:31:42 +07:00
Kate 49618b30a7
Merge pull request #53946 from nextcloud/chore/remove-hierarchical-shares 2025-07-29 13:26:03 +07:00
Maxence Lange 51dc9f89b7
Merge pull request #54064 from nextcloud/feat/preset/custom-share-token
feat(preset): add lexicon entry for custom share tokens
2025-07-29 10:11:05 +07:00
provokateurin 746e5917c7
fix(IShare): Add missing getParent and setParent methods
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 11:27:04 +07:00
Maxence Lange 3ceffe9f5b feat(preset): add lexicon entry for custom share token
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 08:15:08 +07:00
Maxence Lange 9380375cc6 feat(lexicon): add note and key-details
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 08:15:08 +07:00
Kate 89d659ca17
Merge pull request #51602 from nextcloud/fix/fix-default-share-folder-for-group-shares 2025-07-29 11:12:58 +07:00
provokateurin 3c7fce39aa
chore(OC\Share\Constants): Remove unused SHARE_TYPE_* constants
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 10:39:33 +07:00
provokateurin 665a38573c
fix(IShareProvider): Add missing getChildren method to the interface
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 10:26:33 +07:00
Stephan Orbaugh 4eda352397
Merge pull request #54026 from nextcloud/enh/add-cloud-id-chars
feat: add ICloudIdResolver
2025-07-28 15:49:12 +07:00
Kate aca5361e86
Merge pull request #53944 from nextcloud/chore/too-many-arguments 2025-07-28 10:49:52 +07:00
Joas Schilling d0865ed924
Merge pull request #54068 from nextcloud/bugfix/noid/fix-infinite-loop-on-parallelaware-block
fix(cron): Fix infinite loop on ParallelAware blocked jobs
2025-07-28 08:22:52 +07:00
John Molakvoæ e89b3a0597
Merge pull request #54051 from nextcloud/fix/session/log-ephemeral-session-close 2025-07-28 08:16:32 +07:00
Joas Schilling 93d07e814b
Merge pull request #54027 from nextcloud/fix/oracle-db-connection
fix(ConnectionFactory): Apply Oracle connection fix to primary and replica params as well
2025-07-28 08:13:33 +07:00
Joas Schilling 031d739d33
fix(cron): Fix infinite loop on ParallelAware blocked jobs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-07-25 15:28:24 +07:00
Maxence Lange 33bff30e1d feat(lexicon): moving out from unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-24 15:56:33 +07:00
Ferdinand Thiessen 66eb021ece
refactor: remove duplicated types and add return types
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-23 15:59:26 +07:00
Sandro Mesterheide bffac23322
feat: Add cloud id resolver interface
Co-authored-by: Dirk Olbertz <dirk.olbertz@publicplan.de>
Signed-off-by: Sandro Mesterheide <mesterheide@publicplan.de>
2025-07-23 15:59:26 +07:00
Christoph Wurst 084a2e8859
fix(session): log when ephemeral sessions are closed
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-07-23 07:52:06 +07:00
Daniel Kesselberg 9bbbd11191
fix(imip): group messages by logging principal and uri as context
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-07-22 15:33:24 +07:00
provokateurin 5bd626bd40
chore: Fix all method calls with too many arguments
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-22 12:34:49 +07:00
Marcel Klehr 8589debf6d fix(ConnectionFactory): Apply Oracle connection fix to primary and replica params as well
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-21 15:49:40 +07:00
Maxence Lange 30fb9e3c5a
Merge pull request #54007 from nextcloud/fix/noid/no-lazy-loading-on-isBypassListed
fix(bruteforce): limit appconfig lazy loading
2025-07-21 12:03:15 +07:00
Joas Schilling d9e0216b2b
Merge pull request #53986 from nextcloud/bugfix/53985/trigger-update-for-autodisabled-local-apps
fix(update): Correctly trigger update for auto-disabled local apps
2025-07-21 14:09:22 +07:00
Maxence Lange 484491e7cc fix(bruteforce): limit appconfig lazy loading
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-20 00:49:11 +07:00
Maxence Lange 20b908cf3f feat(appconfig): add searchKeys()
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-18 23:54:55 +07:00
Daniel Calviño Sánchez 03c76d86a6 fix: Do not show password dialog when user can not validate password
The password confirmation dialog is always shown unless the user backend
does not allow password confirmation. A user backend may explicitly
provide that information, but even if it does not that could have been
defined in the authentication token with
"IToken::SCOPE_SKIP_PASSWORD_VALIDATION" (for example, when "user_oidc"
is only used for authentication and user provision is done by another
user backend).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-07-18 20:55:02 +07:00
Ferdinand Thiessen 7fe272fd74
fix(Coordinator): ensure the core app is loaded first
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-17 16:59:45 +07:00
Joas Schilling 0ace395981
fix(update): Correctly trigger update for auto-disabled local apps
When updating a local app we still need to run updateApp
so that repair steps and migrations are correctly executed

Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-07-17 12:18:17 +07:00
Maxence Lange e22914b5ff
Merge pull request #53449 from nextcloud/feat/noid/preset-config
feat(lexicon): configurable presets
2025-07-16 08:02:54 +07:00
Edward Ly 9516d00a3c
fix: add strict typing to ContextChat classes
Signed-off-by: Edward Ly <contact@edward.ly>
2025-07-15 08:16:25 +07:00
Edward Ly 48406c31f9
feat(ContextChat): add isContextChatAvailable method to OCP API
Signed-off-by: Edward Ly <contact@edward.ly>
2025-07-15 08:16:25 +07:00
Edward Ly 12b7129214
feat: add Context Chat OCP API
Signed-off-by: Edward Ly <contact@edward.ly>
2025-07-15 08:16:24 +07:00
Maxence Lange e64be71e52 feat(lexicon): preset()
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-15 11:29:33 +07:00
Marcel Klehr 43be97de08 fix(FileAccess): Use one param for rewriting home dirs and excluding non-user files mounts
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Julien Veyssier cb221c8211 fix(FileAccess*): Change the way home dir root is found, remove the excludeTrashbinMounts param of getDistinctMounts
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +07:00
Julien Veyssier a2aeec0f4b fix(FileAccess*): Adress review comments
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +07:00
Julien Veyssier 28dc4a299e fix(FileAccess): exclude trashbin nodes on the oc_filecache query, there is no trashbin mount
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +07:00
Julien Veyssier 7e986988fe fix(FileAccess*): Adress review comments
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 131125bbb7 fix(FileAccessTest): Adress review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 895160a1d3 fix(FileAccessTest): Do not use LIMIT in subquery
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 34b3f7553b fix(FileAccess#getDistinctMounts): Order results deterministically
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 10cc43041b fix(FileAccess#getByAncestorInStorage): Use a subquery to fix tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr d67c877ac5 fix(FileAccess): Add tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 5689af5a94 fix(FileAccess): Run cs:fix
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr d8c6f8d18e fix(FileAccess): Address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 611d83aa6a fix: Fix psalm issues
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 3eef614769 feat(IFileAccess#getMounts): Add new method to retrieve all distinct mounts
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
Marcel Klehr 845b78086b feat(IFileAccess#getByAncestorInStorage): Add new method to retrieve all files in a mount
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-15 09:15:16 +07:00
John Molakvoæ 2b50d9b2c5
Revert "perf(base): Stop setting up the FS for every basic auth request" 2025-07-11 17:07:44 +07:00
John Molakvoæ 6f0255d82a
Merge pull request #53141 from nextcloud/perf/files/setup-fs-basic-auth-request 2025-07-11 15:25:10 +07:00
John Molakvoæ 1bc1902476
Merge pull request #53887 from nextcloud/fix/lower-email-case 2025-07-11 09:03:05 +07:00
Joas Schilling 7ac4eb2a4a
Merge pull request #53896 from nextcloud/feat/talk-9679/threads
feat(comments): Allow to filter by topmost parent id
2025-07-10 21:22:10 +07:00
Daniel Calviño Sánchez d4e9a8ac33
Merge pull request #53501 from nextcloud/fix-theming-for-disabled-accounts
fix: Fix theming for disabled accounts
2025-07-10 20:47:48 +07:00
Daniel Calviño Sánchez 4fcadd630b fix: Throw specific LoginException when the user is disabled
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-07-10 15:09:25 +07:00
Kate 034246a1a9
Merge pull request #53893 from nextcloud/fix/cleanup-loadapp-calls 2025-07-10 15:06:05 +07:00
Côme Chilliet c0b31d1e2d
Merge pull request #53892 from nextcloud/fix/cleanup-getinstallpath
fix: Move getInstallPath to Installer class
2025-07-10 13:10:19 +07:00
Joas Schilling 6600c1ad86
feat(comments): Allow to filter by topmost parent id
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-07-10 12:58:46 +07:00
Côme Chilliet 7127ac4b43
fix: Replace OC_App::loadApp calls by IAppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-10 11:40:27 +07:00
Côme Chilliet edf096a09f
chore: Check if apps directory is really writable in Installer
...rather than checkServer.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-10 11:31:59 +07:00
Côme Chilliet 12c0cfc977
fix: Move getInstallPath to Installer class
This method does not need a public API for now, it’s only used
 internally.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-10 09:39:58 +07:00
skjnldsv 027471b146 fix: force lowercase emails
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-10 09:10:01 +07:00
skjnldsv 51a2125020 fix(systemtags): case-insensitive search & prevent duplicates
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-09 19:28:20 +07:00
Ferdinand Thiessen 5b96cca038 chore(Http\Client): fix linting issues
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-09 14:42:58 +07:00
Kate 3da74810b5
Merge pull request #53537 from nextcloud/fix/cleanup-dependencyanalyser 2025-07-09 13:16:55 +07:00
Lukas Schaefer 8fc9a5d322
Merge pull request #53763 from nextcloud/feat/task/analyze-image
feat(TaskProcessing): Add AnalyzeImage TaskType
2025-07-08 11:10:45 +07:00
Côme Chilliet 1f5e232314
chore: Move info parsing related method from OC_App to InfoParser
Also fix the tests

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 15:57:05 +07:00
Côme Chilliet fb4e580109
chore: Cleanup DependencyAnalyzer and InfoParser
Also fix support for database dependency with attributes in the info.xml

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 15:51:59 +07:00
Lukas Schaefer 4731ecf4d4
Merge branch 'master' into feat/task/analyze-image 2025-07-08 08:35:04 +07:00
Côme Chilliet 2346a528ba
fix: Tidy up middleware registration code and scope them to application container
This make sure that all middlewares get a logger scoped to the
 application id, among other things.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:16 +07:00
Côme Chilliet 580328507f
fix: Do not use deprecated IServerContainer in EventDispatcher
This caused a call to logger too soon in init phase

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:15 +07:00
Côme Chilliet 3dd4ba854f
fix: Add back ContainerInterface service to DIContainer
Otherwise it gets resolved to \OC::$server.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:15 +07:00
Côme Chilliet 2240acec7f
fix: Put back ScopedPsrLogger service
Cannot use an alias for this one, as it depends upon LoggerInterface so
 that creates an infinite loop.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:15 +07:00
Côme Chilliet bbe766b07a
fix: Make sure Request class can be dependency injected to fix SameSiteCookieMiddleware injection
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:14 +07:00
Côme Chilliet ab310ce938
fix: Fix issues and tests in DIContainer and friends
Some tests related to MiddlewareDispatcher are still failing.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:14 +07:00
Côme Chilliet 9913bdda90
chore: Cleanup DIContainer class
Also removed deprecated tag from the class as this class will not be
 removed, only the interface IAppContainer and associated methods should
 be removed.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:12 +07:00
Côme Chilliet 12ceeacb0e
fix: Use default share folder of the user on share accept
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:24:37 +07:00
provokateurin 90705520c7
chore: Remove unused \OC\Cache\CappedMemoryCache
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-08 11:39:33 +07:00
provokateurin 0d8f983c71
chore: Remove unused \OC\Cache\File
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-08 11:39:17 +07:00
provokateurin 57191d451f
refactor(Server): Deprecate \OCP\ICache service and replace it with a distributed cache
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-08 11:38:59 +07:00
Julien Veyssier 2da3f450fa
feat(TaskProcessing): add agency audio-to-audio task type
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-07 15:29:55 +07:00
Marcel Klehr 58a37108da
Merge pull request #53759 from nextcloud/enh/noid/taskpro-audio-chat
[TaskProcessing] Add audio-to-audio chat task type
2025-07-07 14:31:04 +07:00
Ferdinand Thiessen 47e77f27c3
chore(AccountManager): adjust code style for cs-fixer
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-07 12:18:57 +07:00
Stephan Orbaugh 4dcb282a47
Merge pull request #53109 from TechnicalSuwako/master
fix(settings): change Mastodon only URI to webfinger
2025-07-07 12:02:11 +07:00
Julien Veyssier af059cbf61
feat(TaskProcessing): add audio-to-audio chat task type
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-07-07 11:39:47 +07:00
Andy Scherzinger 0c087ece4c
Merge pull request #53740 from nextcloud/fix/properly-fail-on-invalid-json
Properly fail on invalid json
2025-07-03 18:00:28 +07:00
Lukas Schaefer 20a779e4aa
feat: support multiple images
Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz>
2025-07-03 11:01:10 +07:00
Côme Chilliet 4427050f84 fix(encryption): Correctly handle file opening and copying failures
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-03 15:19:34 +07:00
Ferdinand Thiessen ffdc2c73e4
fix(l10n): our default language is American English so adjust the spelling
For British English we have the `en-GB` translations, so the default
should be American English which spells it `organization` not `organisation`.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-03 13:05:43 +07:00
Jana Peper 603522a59c test: fix tests
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-07-03 10:25:19 +07:00
Jana Peper f8886fe27a feat: add toggle for AI guest restriction
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-07-03 10:25:19 +07:00
Lukas Schaefer 3e24c40939
feat(TaskProcessing): Add AnalyzeImage TaskType
Signed-off-by: Lukas Schaefer <lukas@lschaefer.xyz>
2025-07-02 09:18:53 +07:00
Kent Delante eb58d2bb5a fix(syslog): open syslog channel on write
This fixes a bug where only one tag gets used when multiple tags have
been configured (e.g. different tags for 'syslog_tag' and 'syslog_tag_audit')

Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-07-02 09:14:33 +07:00