Commit Graph

26287 Commits (40c504ec2d4cd66cce8a7d74e8c65873dcbfa921)

Author SHA1 Message Date
Ferdinand Thiessen 2369ad9601
Merge pull request #55629 from nextcloud/carl/cleanup-propagator
refactor(IPropagator): Cleanup implementation
2025-10-22 21:50:47 +07:00
Joas Schilling 0f183ce8fe
fix(bfp): Trim meta data so it can still be stored
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-22 15:45:21 +07:00
Carl Schwan d6889e9220 fix(preview): Fix deleting dummy preview in object store
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-22 15:40:26 +07:00
Ferdinand Thiessen ab551c4c8a
chore(Template): allow styles from `dist` folder
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-22 14:57:47 +07:00
nfebe 3276aff83c fix: Make federation TrustedServers dependency optional in RemotePlugin
The federation app is not always installed, causing QueryException when
`OCA\Federation\TrustedServers` is injected as a hard dependency.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-22 00:19:31 +07:00
Maxence Lange edfc339bf5 fix(lexicon): switch bool value to non-lazy
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-21 09:27:40 +07:00
Andy Scherzinger 4696524c9c
Merge pull request #55863 from nextcloud/fix/noid/execute-lexicon-repair-step
fix(lexicon): execute repair step
2025-10-21 11:53:32 +07:00
Marcel Klehr 43d28f4e5d
Merge pull request #55741 from nextcloud/feat/taskprocessing-trigger-aware-provider
feat(TaskProcessing): Introduce ITriggerableProvider
2025-10-21 08:33:52 +07:00
Nextcloud bot 2991526058
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-21 00:12:35 +07:00
Maxence Lange 6329bcbcda fix(lexicon): execute repair step
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-20 15:32:18 +07:00
Marcel Klehr 7f15598083 fix: address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-20 15:59:25 +07:00
Marcel Klehr 6a1501a7d6 fix: address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-20 15:59:25 +07:00
Marcel Klehr 044e92bf4e feat(TaskProcessing): Introduce ITriggerableProvider
Signed-off-by: Marcel Klehr <mklehr@gmx.net>

# Conflicts:
#	lib/private/TaskProcessing/Db/TaskMapper.php
2025-10-20 15:59:25 +07:00
Marcel Klehr 9df303f876 fix: address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-20 15:54:10 +07:00
Joas Schilling f1f67f428a
fix(federation): Allow outgoing federation with oCIS federated cloud ids
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-20 15:38:36 +07:00
Côme Chilliet 1686bb61a0
Merge pull request #55719 from nextcloud/fix-object-store-storage-free-space
fix(objectstore): add named parameter for like query in object storage free space detection
2025-10-20 09:37:33 +07:00
Nextcloud bot 96f50c2c94
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-20 00:12:24 +07:00
Nextcloud bot 6720d7e15c
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-18 00:12:28 +07:00
Louis 77194d5232
Merge pull request #54102 from nextcloud/ensure-cloud-key
fix: Ensure CLOUD key exists before resolving Cloud ID
2025-10-17 18:20:59 +07:00
Maxence Lange b2a6c75b44 fix(ocm): format notifications
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-16 14:30:04 +07:00
Joas Schilling 9e4ac50206
fix(l10n): Don't fallback from 3-letter languages to 2-letter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-16 11:46:01 +07:00
Marcel Klehr 7320322d52
Merge pull request #55735 from nextcloud/feat/taskprocessing-api-next-batch
feat(TaskProcessingApiController): Add new next_batch endpoint
2025-10-16 09:55:49 +07:00
Nextcloud bot 9938bc70b7
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-16 00:12:27 +07:00
Daan Selen 4b4b39e7ec fix(ObjectStoreStorage): Encode original-path in writeStream by @frabe1579
Signed-off-by: Daan Selen <dselen@systemec.nl>
2025-10-15 11:53:39 +07:00
Marcel Klehr 3f527661b1 fix: Create new class instead of extending existing class
to make it easier to use this across nextcloud versions

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-15 11:20:00 +07:00
Stephan Orbaugh 567a988c6c
Merge pull request #55100 from invario/previews-better-logging
feat(previews): improved logging for movie previews
2025-10-15 10:54:09 +07:00
Daniel d39ae92aaf
Merge pull request #54819 from nextcloud/fix/issue-53949-imip-quirks-mode
fix: iMip reply from outlook.com does not contain organizer property
2025-10-14 21:29:11 +07:00
Côme Chilliet ef2e7170a4
Merge pull request #55754 from nextcloud/fix/fix-cachewrapper-shouldencrypt
fix: Fix crash in files_version about uninitialized property
2025-10-14 20:32:28 +07:00
invario 13500be1d1
feat(previews): improved logging for movie previews
Signed-off-by: invario <67800603+invario@users.noreply.github.com>
2025-10-14 13:17:09 +07:00
SebastianKrupinski ea2180d6ad fix: iMip reply from outlook.com does not contain organizer property
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-10-14 12:44:06 +07:00
Carl Schwan 04a21650cc
Merge pull request #55720 from nextcloud/carl/remote-querybuilder-execute
feat(querybuilder): Remove deprecated IQueryBuilder::execute
2025-10-14 17:19:37 +07:00
Marcel Klehr 8cf1504a76 fix: Apply suggestion from @kyteinsky
Co-authored-by: Anupam Kumar <kyteinsky@gmail.com>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 16:58:40 +07:00
Marcel Klehr 86316f7c45 fix(TaskProcessing): Update autoloaders
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 16:58:38 +07:00
Côme Chilliet ad9574970a
fix: Fix crash in files_version about uninitialized property
Fix "Typed property OC\\Files\\Cache\\Cache::$storage must not be accessed before initialization"

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-14 16:56:07 +07:00
Marcel Klehr 7373f11af6 feat(TaskProcessing): user-facing error messages
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 16:53:41 +07:00
Marcel Klehr be8e168f38 fix: Address psalm issues and review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 15:51:31 +07:00
Ferdinand Thiessen 48378aede3
Merge pull request #55731 from nextcloud/jtr/fix-files-stream-quota-actual
fix(files): decrement quota by actual bytes written in stream_write
2025-10-14 13:56:27 +07:00
Marcel Klehr 16da8bbc8a fix(TaskProcessingApiController): Implement getNextScheduledTasks for next_batch endpoint
in order to avoid hitting the DB with multiple 1 row requests

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-14 11:50:29 +07:00
Marcel Klehr ea8ab8e192
Merge pull request #55646 from nextcloud/feat/taskprocessing/is-internal
enh(TaskProcessing): Introduce internal task types
2025-10-14 08:25:00 +07:00
Kate ffbbdb2d04
Merge pull request #54953 from nextcloud/fix/noid/lighter-team-request 2025-10-14 07:56:14 +07:00
Nextcloud bot 736259c4df
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-14 00:12:22 +07:00
Josh bd43cb7d04
fix(files): decrement quota by actual bytes written in stream_write
The quota is now decremented by the actual number of bytes written ($written) rather than the intended size.

This ensures quota tracking stays accurate even if fwrite writes fewer (or more - i.e. from underlying buffering/etc) bytes than requested.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-10-13 18:26:48 +07:00
Daniel 2cb2ffe608
Merge pull request #55658 from nextcloud/bug/noid/disable-mp3-previews-by-default
fix: disable mp3 preview provider
2025-10-13 17:22:29 +07:00
Carl Schwan 1eff9e5c90 feat(querybuilder): Remove deprecated IQueryBuilder::execute
This won't work when we update to doctrine DBAL 4 and all usages in
server were ported away.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 17:02:04 +07:00
Thomas Citharel 5c8bdad828
fix(objectstore): add named parameter for like query
to avoid 'object::%' to be considered as a column
(`la colonne \\u00ab object::% \\u00bb n'existe pas` on PG)

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-13 16:18:18 +07:00
Carl Schwan 65f52c47b8
Merge pull request #55674 from nextcloud/carl/deprecated-dbal
Port away from deprecated Doctrine APIs
2025-10-13 15:10:15 +07:00
Maxence Lange 9ba3ce27cb
fix(team-api): get all teams details in a single request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-13 14:21:15 +07:00
provokateurin 2552950299
fix(core): Fix TeamsApiController typing
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-13 13:59:54 +07:00
Carl Schwan 9095a36b94 refactor(dbal): Port away from getDatabasePlatform() instanceof pattern
Use getDatabaseProvider instead.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-13 13:44:08 +07:00
Maxence Lange 9209540db5 feat(route): globalsiteselector as root url generator
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-13 09:19:20 +07:00
Marcel Klehr 13eb2d1cbd feat(TaskProcessing): Introduce internal task types
which are not shown in the assistant UI

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-13 11:07:40 +07:00
Nextcloud bot 65bd4b2d69
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-11 00:13:13 +07:00
Carl Schwan 7a43bf26ca refactor(dbal): Migrate away from Type::getName
Instead use Type::lookupName

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-10 16:13:09 +07:00
Carl Schwan b0c6ef5821 refactor(dbal): Port away from deprecated hasPrimaryKey
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-10 15:44:43 +07:00
Louis 9dfd6f1533
Merge pull request #55654 from nextcloud/artonge/fix/do_not_happen_streams 2025-10-10 14:43:05 +07:00
Louis Chmn 00ec57efd6 fix(S3): Only append streams if non-seekable
Later, when we rewind the stream in `writeMultiPart` during retry, both streams were rewinded, so the resulting stream was bigger than expected.

Inspired by https://github.com/aws/aws-sdk-php/blob/master/src/S3/ObjectUploader.php#L136-L146

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-10 09:54:05 +07:00
Daniel Kesselberg ca717f0b54
fix: disable mp3 preview provider
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-09 18:13:17 +07:00
Carl Schwan cb82a9ef04 refactor(preview): Cleanup a bit the public interface
* Remove old IProvider interface, it's been deprecated since 17.0.0 (8
  years)
* Add type hinting to the IPreview interface and mark it as consumeable
  only
* Remove unused arguments from GeneratorHelper

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-09 17:41:13 +07:00
Côme Chilliet 48c2dd6279
Merge pull request #55517 from nextcloud/carl/cron-service
refactor: Move cron setup to a service
2025-10-09 09:52:34 +07:00
Marcel Klehr 3522a3375e fix(FileAccess): Make getAncestorInStorage pass sharding tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +07:00
Marcel Klehr b158a77365 fix(FileAccess): Try to fix type error
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +07:00
Marcel Klehr 62bff06aeb fix(FileAccess): Chunk parent query
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +07:00
Marcel Klehr 9ccc798655 fix(FileAccess): Make getByAncestorInStorage sharding ready
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 09:27:50 +07:00
nfebe c9bb6eedc6 fix: Include email when searching share suggestions
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-09 06:53:51 +07:00
nfebe c1d9e22c51 fix(sharing): Adapt share suggestions to match trusted servers configs
When `show_federated_shares_to_trusted_servers_as_internal` is enabled
but `show_federated_shares_as_internal` is not, filter federated share
suggestions to only include trusted servers. Previously, searching for
an email address would suggest non-trusted federated servers.

Resolved: #54511
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-10-09 06:53:46 +07:00
Nextcloud bot 0793253d37
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-09 00:25:27 +07:00
Carl Schwan 475c84722f refactor(IPropagator): Cleanup implementation
- Add missing type hinting
- Use only public methods from IStorage instead of relying on internal
  \OC\Storage methods
- Refactor HomePropagator to use ignore argument from Propagator instead
  of reimplementing the same logic.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 17:15:18 +07:00
Benjamin Gaussorgues 3aa0c23e40
Merge pull request #54543 from nextcloud/preview-db-rework 2025-10-08 16:39:23 +07:00
Carl Schwan fed7a33d1f refactor(preview-object-store): Refactor object store backend
Simplify logic

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 14:07:07 +07:00
Carl Schwan bef3996c3e fix(preview): Make version column a string
And move it to a different table so that we don't have to pay the
storage cost when not using it (most of the times).

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-08 14:07:06 +07:00
Daniel db3e845d19
Merge pull request #55557 from nextcloud/refactor/use-iemailaddressvalidator
refactor: use IEmailValidator.isValid instead of IMailer.validateEmailAddress
2025-10-07 19:15:32 +07:00
Côme Chilliet e739898cc7
Merge pull request #55400 from nextcloud/carl/remove-legacy-search-provider
refactor: Remove legacy search provider
2025-10-07 16:51:12 +07:00
Côme Chilliet b984e329fc
Merge pull request #55574 from nextcloud/carl/view-deprecated
chore: Explicitely mark \OC\Files\View as internal
2025-10-07 16:07:36 +07:00
Marcel Klehr a6f899f925 fix(TaskProcessing): Increase MAX_TASK_AGE to 6 months
to comply with the EU AI act

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-06 16:44:53 +07:00
Carl Schwan f450cda3aa chore: Explicitely mark \OC\Files\View as internal
It's in OC and should not be used at all. Marking it as internal will
at least prevent new code to use it.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 15:49:55 +07:00
Carl Schwan 9d7fbb1b86 refactor: Move cron setup to a service
This will allow in the future the following things:

- Create unit tests for it
- Make cron.php a occ command
- Make webcron a proper controller

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 15:28:43 +07:00
Carl Schwan 66f50bd585 refactor(preview): Use same mimetype ids as filecache
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan bd001c9524 refactor: Use Override annotation in new preview code
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 58023782b6 feat(preview): Store original file mimetype in preview table
Allow to quickly query all the files from a specific mimetype like in
the ResetRenderedTexts command.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan bfc7d5dd9f feat(preview): Implement scanning for previews
This work similarly to the move preview job to migrate the previews to
the new DB table and also reuse some code.

So when we are finding files in appdata/preview, try adding them to the
oc_previews table and delete them from the oc_filecache table.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 324b54b863 refactor(preview): Cleanup the implementation of the new preview backend
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 6f56dcf73e fix(preview): Fix some tests
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan b0357663b9 perf(preview): Optimize migration and simplify DB layout
* Simplify migration by not moving the actual files and just updating
  the DB
* Don't store the storageid in the preview table as it is not needed
* Start adding tests

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan bba9667882 perf(preview): Adapt BackgroundCleanupJob to new previews table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 6008852232 feat(preview): Support multibucket storage
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 13c35c0f17 perf(preview): Migrate previews to the new optimized table
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 656e33e8da perf(preview): Add support for multibucket storage
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-10-06 13:37:15 +07:00
Carl Schwan 18fbacdd8d perf(preview): Split preview data to new table
The new oc_previews table is optimized for storing previews and should
decrease significantly the space taken by previews in the filecache
table.

This attend to reuse the IObjectStore abstraction over S3/Swift/Azure
but currently only support one single bucket configuration.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-10-06 13:37:15 +07:00
Kate 057c0dcc98
Merge pull request #55564 from nextcloud/fix/files/return-valid-mimetype 2025-10-06 13:23:54 +07:00
Kate dc768157b3
Merge pull request #55566 from nextcloud/fix/igroupmanager/get-user-group-ids-return-type 2025-10-06 12:55:58 +07:00
Andy Scherzinger 40286b2fe2
Merge pull request #55481 from nextcloud/carl/fix-psalm-easy
refactor: Fix some easy psalm issues in Files
2025-10-06 12:11:02 +07:00
provokateurin 3c27522873
fix(IGroupManager): Use correct return type in getUserGroupIds method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 10:54:08 +07:00
provokateurin 8d8f94b8ce
fix(files): Always return a valid mimetype
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 09:06:17 +07:00
Joas Schilling 376b7e8bbd
Merge pull request #55507 from nextcloud/techdebt/noid/bye-bye-8.1
fix(PHP): Drop PHP 8.1 for Nextcloud 33
2025-10-06 08:22:50 +07:00
Nextcloud bot a913c9bfaf
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-05 00:13:12 +07:00
Daniel Kesselberg 83a691709c
refactor: use IEmailValidator.isValid instead of IMailer.validateEmailAddress
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-04 21:54:22 +07:00
Nextcloud bot 451d6d2eee
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-04 00:13:12 +07:00
Carl Schwan 34cd91cc86 refactor: Fix some easy psalm issues in Files
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-02 13:34:47 +07:00
Joas Schilling 122cd68d56
fix(PHP): Drop PHP 8.1 for Nextcloud 33
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-02 11:04:07 +07:00
Nextcloud bot f8d229a0af
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-02 00:13:34 +07:00
Kate 9a7aa70050
Merge pull request #55176 from nextcloud/user-id-header 2025-10-01 20:13:32 +07:00
Kate 7e8926011d
Merge pull request #55463 from nextcloud/fix/user-group-manager-return-type 2025-10-01 16:30:23 +07:00
Carl Schwan aa1f5312a5 refactor: Remove legacy search provider
Last usage was in the comment app

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-01 13:36:25 +07:00
provokateurin 51a493cbe7
fix(IGroupManager): Use correct return type for search method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-01 13:14:05 +07:00
provokateurin dce2672b98
fix(IUserManager): Use correct return type for searchDisplayName method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-01 12:48:43 +07:00
provokateurin fb4348e3bc
fix(IUserManager): Fix deprecation of search method
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-01 12:08:58 +07:00
Louis f8bed8f186
Merge pull request #51145 from nextcloud/home-folder-readonly 2025-10-01 10:09:19 +07:00
Nextcloud bot 8d70e93a41
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-10-01 00:13:34 +07:00
Kate 86ef7781c0
Merge pull request #55420 from nextcloud/fix/40082/appstore-timeout 2025-09-30 17:18:37 +07:00
Kate 29832a3608
Merge pull request #55422 from nextcloud/fix/noid/catch-appstore-exceptions 2025-09-30 16:02:48 +07:00
Stephan Orbaugh 1da29cf8b2
Merge pull request #55404 from nextcloud/fix/cleanup-resource-locators
Fix type and other psalm issues in lib/private/Template
2025-09-30 14:09:20 +07:00
Marcel Müller 31481701f3 fix(appstore): Make appstore timeout configurable
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 13:00:06 +07:00
Côme Chilliet bdff12361c
fix: Cleanup and fix tests, and fix related issues in code
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-30 11:53:59 +07:00
Marcel Müller 31b8d36802 fix(appstore): Also catch ClientException and ServerException
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 11:27:47 +07:00
Nextcloud bot ed8744ede3
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-30 00:13:38 +07:00
Kate 464d12e149
Merge pull request #55374 from nextcloud/fix/files/overwrite-scan-permissions 2025-09-29 18:12:03 +07:00
yemkareems 111f42ca8a
Merge branch 'master' into fix/85262/fix-typo 2025-09-29 17:15:57 +07:00
Côme Chilliet 2bc77a3c5a
chore: Remove now unused OC_App deprecated methods
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:36:33 +07:00
Côme Chilliet c6d148344a
chore: Fix the last psalm issues in lib/private/Template
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:32:26 +07:00
Côme Chilliet fc85555d0c
fix: Fix phpdoc typing for IL10N::l $data parameter
The implementation supports passing null and our code is using that,
 reflect it in the public API.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:31:30 +07:00
Côme Chilliet 73447618e7
chore: Run rector on lib/private/Template folder and cleanup more typing
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:23:37 +07:00
Côme Chilliet b58b3750a7
chore: Cleanup typing and deprecated method calls in resource locators
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 12:10:56 +07:00
Côme Chilliet f4e8116a72
Merge pull request #55387 from nextcloud/fix/remove-legacy-oc-response
fix: Delete legacy OC_Response
2025-09-29 10:40:28 +07:00
Côme Chilliet 10e3192c2f
Merge pull request #55371 from nextcloud/carl/remove-oc-helper-streamCopy
refactor: Remove OC_Helper::streamCopy
2025-09-29 10:21:59 +07:00
Côme Chilliet 09d7ddadf1
Merge pull request #55388 from nextcloud/fix/remove-unused-methods-of-oc-user
chore: Remove unused deprecated methods from OC_User and Filesystem
2025-09-29 09:54:10 +07:00
Côme Chilliet eb54143c2d
fix: Delete legacy OC_Response
Moved the last used method in base.php where it’s called. Ideally we
 would remove it but it’s not clear whether that would be possible any
 time soon or even at all.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-29 09:35:32 +07:00
yemkareems 200f9dc39f
fix: small typo fix
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-29 09:12:38 +07:00
Ferdinand Thiessen 61cf047d1b
Merge pull request #55375 from nextcloud/fix/do-not-use-lazy-with-internal
fix: Do not try to create lazy ghosts for PHP internal classes
2025-09-28 23:30:42 +07:00
Côme Chilliet d39d1d8d24
chore: Remove unused deprecated methods from OC_User and Filesystem
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 22:44:30 +07:00
Côme Chilliet 2a9f6389f4
Merge pull request #55372 from nextcloud/carl/remove-template-manager
refactor: Remove old TemplateManager
2025-09-28 22:10:37 +07:00
Ferdinand Thiessen 496d497f8f
Merge pull request #55383 from nextcloud/fix/noid/unique-cache-prefix-per-instanceid
fix(cache): Ensure unique global prefix per instanceid
2025-09-28 19:07:19 +07:00
Marcel Müller 34a085d3bf fix(cache): Ensure unique global prefix per instanceid
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-28 17:59:12 +07:00
Côme Chilliet 20e536839a
feat: Add admin-delegation-section as well for completeness
Also renamed delegation into admin-delegation in xml schema.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:15 +07:00
Côme Chilliet 09acd7e308
feat(settings): Add support for delegated settings not appearing in menu
Adds a new type of settings, delegation, which is only used for admin
 delegation but does not appear in admin menu.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:14 +07:00
Côme Chilliet 50684fa3b0
chore: Cleanup settings manager constructor and properties
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:50:14 +07:00
Côme Chilliet d51efd9735
fix: Do not try to create lazy ghosts for PHP internal classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:35:49 +07:00
provokateurin ef279f6049
fix(files): Stop overwriting scan_permissions
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-28 14:11:47 +07:00
Carl Schwan 8e5eef24d2 refactor: Remove OC_Helper::streamCopy
Replace by Files::streamCopy, also deprecated but since less long

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-28 12:52:14 +07:00
Carl Schwan 4ae4b0a0e7 refactor: Remove old TemplateManager
Not used anymore

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-28 12:48:41 +07:00
Kate 16708b1f97
Merge pull request #55363 from nextcloud/refactor/weak-operators 2025-09-28 11:42:05 +07:00
Nextcloud bot 4c6c518385
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-28 00:13:18 +07:00
Ferdinand Thiessen 660f3f6fd1
refactor: use logical `&&` `||` instead of weak `and` `or` operators
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-27 23:02:18 +07:00
Kate c5c3b6555f
Merge pull request #54797 from nextcloud/object-store-total-size-limit 2025-09-27 15:02:28 +07:00
Nextcloud bot 9fc64423a5
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-27 00:13:34 +07:00
Ferdinand Thiessen 3d97549a74
Merge pull request #55311 from nextcloud/fix/sharing-results-collaboration
fix: add missing sharing options to ui and add full-match results
2025-09-26 19:25:22 +07:00
Maxence Lange b08117a9e7
Merge pull request #55289 from nextcloud/fix/noid/ignore-cache-if-not-setup
fix(ocm): ignore cache if not setup
2025-09-26 15:58:35 +07:00
Stephan Orbaugh 39e2997963
Merge pull request #42039 from Murena-SAS/dev/user-preference-event 2025-09-26 18:57:12 +07:00
Ferdinand Thiessen 5c7ca58a3c fix(Collaboration\UserPlugin): ensure full match is included in results
When searching we need to:
1. check if sharing is limited to groups
  - if yes only include those
  - otherwise continue
2. check if there are restrictions to groups or phonebook
3. check if full match is included

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-26 18:26:37 +07:00
Ferdinand Thiessen 774aad3ab1 feat(Share\IManager): add `matchUserId` method and update docs
Add missing `matchUserId` method for full-match-autocomplete options
and update docs to make it clearer what each options exactly means.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-26 18:26:37 +07:00
Louis Chemineau bd8a0ec3cf
feat(files): Add appconfig value to disable fixed userfolder permissions optimization
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-26 17:43:22 +07:00
Côme Chilliet 9277a17a3c
fix: Flag folder objects that got deleted to recreate them if needed
AppData caches folder objects, and several places get them to delete
 them, so afterwards if the folder gets reused in the same session an
 error happens. This is the case in unit tests with user avatars.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-26 15:11:36 +07:00
Akhil fe30ca872b feat(config): Add UserConfigChangedEvent whenever user config is updated
Signed-off-by: Akhil <akhil@e.email>
2025-09-26 14:29:58 +07:00
Louis ab4592b02b
Merge pull request #55259 from nextcloud/artonge/feat/unified_search_add_min_length_setting 2025-09-25 10:43:55 +07:00
Nextcloud bot 3481470d93
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-25 00:13:20 +07:00
Richard Steinmetz d04b02715a
Merge pull request #55282 from nextcloud/fix/create-room-resource-calendar-sync
fix: create room/resource calendar synchronously
2025-09-24 22:41:00 +07:00
Maxence Lange 4b55a7ee50 fix(ocm): ignore cache if not setup
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-24 17:18:08 +07:00
Louis Chemineau fccb13e8ac
feat(unified-search): Use existing min search length config
This setting existed already for the legacy unified search.
This commit expose that setting to the new front-end, and
also ignore non valid requests in the backend.

We also take the opportunity to register the config in the lexicon.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-24 17:29:09 +07:00
Richard Steinmetz 01ef94a08a
fix: create room/resource calendar synchronously
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-24 16:59:32 +07:00
Nextcloud bot e6d9974b2d
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-24 00:13:31 +07:00
Nextcloud bot 70a109287d
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-23 12:50:35 +07:00
Nextcloud bot 00ff3be43c
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-23 00:13:31 +07:00
Benjamin Gaussorgues 52acc5ef15
Merge pull request #55170 from nextcloud/feat/pgsql-ssl 2025-09-22 14:29:13 +07:00
Joas Schilling 00f589e765
Merge pull request #55140 from nextcloud/carl/cleanup-workflowengine-app
refactor(psalm): Fix most issues with the workflowengine
2025-09-22 11:51:13 +07:00
Benjamin Gaussorgues 5883914422
feat(db): add SSL/TLS support for PostgreSQL
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-09-22 11:51:04 +07:00
Thomas Citharel 7bf8e9699c
fix(http): handle getHttpProtocol being unset in $_SERVER['SERVER_PROTOCOL'] if called from occ
Due to the profiler app loading HttpDataCollector when running occ.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-09-21 18:06:33 +07:00
Andy Scherzinger edd8112dda
Merge pull request #55196 from nextcloud/fix/55182/ocm-invite-accept-dialog
fix(ocm-invites): add route to invite accept dialog
2025-09-21 14:04:24 +07:00
Nextcloud bot 61418e7251
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-20 00:13:25 +07:00
Maxence Lange 5e66cfe514 fix(ocm-invites): add route to invite accept dialog
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-19 15:44:28 +07:00
Nextcloud bot 0c6e396394
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-19 00:13:42 +07:00
Robin Appelman 26ae51c4b3
feat: add header with user id in response
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-18 18:30:04 +07:00
Marcel Klehr 613bb766d7
Merge pull request #55153 from nextcloud/fix/taskprocessing-task-types-cache-by-language
fix(TaskProcessing): Cache task types by user language
2025-09-18 09:23:27 +07:00
Maxence Lange 22c0e76e23
Merge pull request #55139 from nextcloud/fix/noid/index-settings-mail-on-upgrade
fix(userconfig): set 'mail' as indexed
2025-09-17 16:38:11 +07:00
Joas Schilling 4c64e09ecd
Merge pull request #55156 from nextcloud/carl/oracle-nullable-boolean
feat(db): Restaure support for non-nullable boolean column
2025-09-17 16:13:50 +07:00
Maxence Lange db23ad5188 fix(userconfig): crop configvalue at 64 before index
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 12:33:04 +07:00
Carl Schwan 837fe3586d feat(db): Restaure support for non-nullable boolean column
We disabled them because they are not supported on Oracle DB and it is
still the case for OCI < 23. But instead of disabling the support
completely for every database types, mark non-nullable boolean column as
actually nullable when using Oracle.

This allow to use some slighly lighter schema on normal databases who
support natively booleans wheen we don't need to store 3 states
true|false|null.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-17 14:45:48 +07:00
Marcel Klehr fe54914ef9 fix(TaskProcessing): Cache task types by
user language

fixes https://github.com/nextcloud/assistant/issues/357

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-17 14:16:01 +07:00
Maxence Lange 70dd0de0ff fix(userconfig): using api bit functions
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 10:17:53 +07:00
Maxence Lange 0249e3a2f5 fix(userconfig): set 'mail' as indexed
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 10:17:52 +07:00
Carl Schwan 6154bfa823 chore(psalm): Fix most issues with the workflowengine
This found a real bug where we were catching an Doctrine exception
instead of a OCP\DB\Exception. This will be backported separately.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-17 09:57:10 +07:00
Nextcloud bot d854252e70
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-17 00:13:30 +07:00
Côme Chilliet 7e0cda995a
Merge pull request #55142 from nextcloud/fix/allow-hyphen-in-appid
fix: Allow hyphen in appid
2025-09-16 23:46:38 +07:00
Côme Chilliet ae4d38eb63
fix: Allow hyphen in appid
It’s rare but exists for some apps not in the appstore.
Also added unit tests for cleanAppId and fixed small issues with it.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-16 17:59:30 +07:00
Louis Chemineau 8c04dbe599
fix(Updater): Lower deadlock log level from warning to info
If this is safe to ignore, then it does not make sense to keep warning the admins.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-16 14:49:54 +07:00
Kate ddc272402d
Merge pull request #55135 from nextcloud/chore/remove-oc-cappedmemorycache 2025-09-16 14:38:48 +07:00
provokateurin b1a398afb0
chore: Remove unused \OC\Cache\CappedMemoryCache
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-16 10:08:19 +07:00
SebastianKrupinski 4182b1775d fix: handleIMip undefined array key
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-09-15 18:00:38 +07:00
Louis Chemineau 634e8d2587
fix: Dispatch favorite event with an actual path
The `$path` argument was added in https://github.com/nextcloud/server/pull/48612, but was never actually used by the callers. The path was therefore missing in the favorite/unfavorite events, which lead to a broken activity information.

I also added a fallback to handle `addToFavorites` and `removeFromFavorites`, which are part of a public API, and are calling `tagAs` and `untag` without `$path`.

Fix https://github.com/nextcloud/activity/issues/2134

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-15 15:04:00 +07:00
Nextcloud bot 9eb883c0d4
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-15 00:13:16 +07:00
Nextcloud bot aeb8e7cf3b
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-14 00:13:16 +07:00
Ferdinand Thiessen 05191ce129 fix: use `mb_substr`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 11:17:05 +07:00
Ferdinand Thiessen 414f77865c fix(ownCloud): ensure that `accounts.display_name` fits into `users.displayname`
`user.displayname` only allows 64 characters but old `accounts.display_name` allowed 255 characters.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 11:17:05 +07:00
Nextcloud bot a464c332ac
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-10 19:34:37 +07:00
Ferdinand Thiessen 6cdf098378
Merge pull request #54316 from nextcloud/feat/add-encryption-integration-tests
feat(encryption): Add integration tests for occ commands and fix them
2025-09-10 18:08:37 +07:00
provokateurin 98081dfd42
feat(ObjectStore): Add option to limit the total size
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-10 08:15:28 +07:00
Nextcloud bot 655602c9fa
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-10 00:13:54 +07:00
Ferdinand Thiessen 016f2ffe6c
Merge pull request #48197 from nextcloud/chore/remove-ijob-execute
chore: Remove deprecated `IJob::execute` method
2025-09-09 16:37:35 +07:00
Côme Chilliet 14d6945054
fix(encryption): Take encryption enabled status into account
shouldEncrypt now returns false for all paths if encryption is disabled.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-09 11:46:18 +07:00
Côme Chilliet 12532bb535
fix(encryption): Correctly set encrypted to 0 when copying
If encryption got disabled, copying should set encrypted to 0 for the
 new unencrypted copy. For instance when using encryption:decrypt-all

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-09 11:46:18 +07:00
Côme Chilliet 94254db001
chore(encryption): Cleanup typing in EncryptAll/DecryptAll
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-09 11:46:18 +07:00
Côme Chilliet b74c7538ac
fix(encryption): Do not depend upon user in session unless really necessary
Should fix a bunch of stuff when encryption listener is triggered by events from occ commands or background jobs

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-09 11:46:17 +07:00