Commit graph

26048 commits

Author SHA1 Message Date
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 +02:00
Kate
16708b1f97
Merge pull request #55363 from nextcloud/refactor/weak-operators 2025-09-28 11:42:05 +02:00
Nextcloud bot
4c6c518385
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-28 00:13:18 +00: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 +02:00
Kate
c5c3b6555f
Merge pull request #54797 from nextcloud/object-store-total-size-limit 2025-09-27 15:02:28 +02:00
Nextcloud bot
9fc64423a5
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-27 00:13:34 +00: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 +02: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 -01:00
Stephan Orbaugh
39e2997963
Merge pull request #42039 from Murena-SAS/dev/user-preference-event 2025-09-26 18:57:12 +02: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 +02: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 +02: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 +02: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 +02: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 +05:30
Louis
ab4592b02b
Merge pull request #55259 from nextcloud/artonge/feat/unified_search_add_min_length_setting 2025-09-25 10:43:55 +02:00
Nextcloud bot
3481470d93
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-25 00:13:20 +00: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 +02: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 -01: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 +02:00
Richard Steinmetz
01ef94a08a
fix: create room/resource calendar synchronously
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-09-24 16:59:32 +02:00
Nextcloud bot
e6d9974b2d
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-24 00:13:31 +00:00
Nextcloud bot
70a109287d
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-23 12:50:35 +00:00
Nextcloud bot
00ff3be43c
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-23 00:13:31 +00:00
Benjamin Gaussorgues
52acc5ef15
Merge pull request #55170 from nextcloud/feat/pgsql-ssl 2025-09-22 14:29:13 +02: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 +02: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 +02: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 +02: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 +02:00
Nextcloud bot
61418e7251
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-20 00:13:25 +00: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 -01:00
Nextcloud bot
0c6e396394
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-19 00:13:42 +00: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 +02: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 +02: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 -01: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 +02: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 -01: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 +02: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 +02: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 -01: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 -01: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 +02:00
Nextcloud bot
d854252e70
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-17 00:13:30 +00: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 +02: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 +02: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 +02:00
Kate
ddc272402d
Merge pull request #55135 from nextcloud/chore/remove-oc-cappedmemorycache 2025-09-16 14:38:48 +02:00
provokateurin
b1a398afb0
chore: Remove unused \OC\Cache\CappedMemoryCache
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-16 10:08:19 +02:00
SebastianKrupinski
4182b1775d fix: handleIMip undefined array key
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-09-15 18:00:38 -04: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 +02:00
Nextcloud bot
9eb883c0d4
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-15 00:13:16 +00:00
Nextcloud bot
aeb8e7cf3b
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-14 00:13:16 +00:00
Ferdinand Thiessen
05191ce129 fix: use mb_substr
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-12 11:17:05 +02: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 +02:00
Nextcloud bot
a464c332ac
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-10 19:34:37 +00: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 +02: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 +02:00
Nextcloud bot
655602c9fa
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-10 00:13:54 +00: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 +02: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 +02: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 +02: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 +02: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 +02:00
Nextcloud bot
266a349d0c
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-09 00:15:27 +00:00
Louis
c8eeade151
Merge pull request #52825 from nextcloud/artonge/feat/files_trashbin_parallel_expire_job 2025-09-08 15:53:49 +02:00
Kate
af172b3ec3
Merge pull request #54920 from nextcloud/object-store-unique-buckets-names 2025-09-08 15:23:39 +02:00
Louis
bfb5db8f21
Merge pull request #54918 from invario/fix-preview-sparse-file 2025-09-08 11:21:56 +02:00
Côme Chilliet
f2ee9ec294
Merge pull request #54941 from nextcloud/fix/redis-unix-socket-port-zero
fix(cache): Set default Redis port to `0` for UNIX sockets
2025-09-08 11:11:42 +02:00
Nextcloud bot
eda72da5ae
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-08 00:13:34 +00:00
Josh
3a8b2b843e
fix(cache): Set default Redis port to 0 for UNIX sockets
When using phpredis with a UNIX socket, the port should either not be specified at all or be `<1`. 

https://github.com/phpredis/phpredis?tab=readme-ov-file#connect-open

d0b0c5cfdd/library.c (L3332-L3334)

Fixes #54813

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-07 14:30:34 -04:00
Nextcloud bot
e7aec5820e
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-07 00:14:40 +00:00
Nextcloud bot
2d63296046
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-06 00:13:33 +00:00
Robin Appelman
0c1d5e8c54
fix: ensure all object store configuration have distict bucket names
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-05 18:45:32 +02:00
invario
ba51caf5f4
Fix(previews): prevent infinite loop in case of bad video file
Signed-off-by: invario <67800603+invario@users.noreply.github.com>
2025-09-05 09:32:37 -04:00
Louis Chemineau
1d91e40fe8
feat: Support limit argument in getSeenUsers
Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-05 12:45:38 +02:00
Julien Veyssier
8c447eaba6
feat(taskprocessing): add manager method to get the list of available task type IDs
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-09-05 11:37:34 +02:00
invario
97a0dde160 feat(previews): previews and tests for large remote videos w/o full download
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: invario <67800603+invario@users.noreply.github.com>
2025-09-05 10:08:19 +02:00
Nextcloud bot
39dc1dfd41
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-05 00:13:47 +00:00
provokateurin
9473f47c0d fix(Dispatcher): Catch TypeErrors and turn them into bad request responses
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-05 00:49:23 +02:00
Ferdinand Thiessen
89896b1d89
chore: Remove deprecated IJob::execute method
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-04 17:48:26 +02:00
Ferdinand Thiessen
3b8c50e2c7
fix: remove executable flag from source files
(exceptions for real scripts, but source files never should be executable)

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-04 11:57:44 +02:00
Marcel Klehr
7bd0b5704d
Merge pull request #54810 from nextcloud/feat/typed-tag-events
feat(SystemTag): Add typed events for tag mapper events
2025-09-04 11:19:28 +02:00
Maxence Lange
4050698f1e
Merge pull request #54842 from nextcloud/fix/noid/data-cleansing-attributes
feat(migration-attributes): add DataCleansing
2025-09-04 08:01:49 -01:00
Nextcloud bot
ee82266210
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-04 00:12:58 +00:00
Maxence Lange
d47189831c feat(migration-attributes): set as Consumable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-03 19:56:27 -01:00
Andy Scherzinger
18abc8c09b
Merge pull request #54839 from nextcloud/carl/perf-seen-users
perf(users): Create lazy users in IUserManager::getSeenUsers
2025-09-03 18:49:44 +02:00
Maxence Lange
c86f2e948a feat(migration-attributes): add DataCleansing
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-03 13:32:40 -01:00
Ferdinand Thiessen
bc2321db94
Merge pull request #54821 from nextcloud/fix/use-filename-validator-for-filesyste
fix(Filesystem): use FilenameValidator for `Filesystem::isFileBlacklisted`
2025-09-03 16:24:27 +02:00
Carl Schwan
5215954ee4 perf(users): Create lazy users in IUserManager::getSeenUsers
Particularly relevant in occ commands/background jobs like the trashbin
expiration which only needs the user ids and not the full information.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-09-03 15:24:02 +02:00
Marcel Klehr
2bb2fa50ee feat(SystemTag): Add typed events for tag mapper events
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-09-03 09:36:50 +02:00
Nextcloud bot
74ff2c03cd
fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-09-03 00:12:39 +00:00
Daniel
478b0123b8
Merge pull request #50391 from nextcloud/fix/dav/remove-object-properties-expensive
fix(dav): Mark removal of dav object properties as expensive
2025-09-02 21:36:04 +02:00
Kate
a3183f7a12
Merge pull request #54739 from nextcloud/fix/noid/limit-spam-on-strictness 2025-09-02 20:12:35 +02:00
Ferdinand Thiessen
a31e520019
fix(Filesystem): use FilenameValidator for Filesystem::isFileBlacklisted
This fixes the issue that some methods will not allow uploading files
because they still require the deprecated config option to be used.
So instead we need to use the validator introduced in v30.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-02 19:02:25 +02:00
Carl Schwan
d73537dd60
Merge pull request #54664 from nextcloud/carl/port-away-execute-lib
Port away from IQueryBuilder::execute in lib/ and tests/ and fix invalid usage of UniqueConstraintViolationException
2025-09-02 14:38:11 +02:00
max-nextcloud
4927a283bd
Merge pull request #54798 from nextcloud/enh/different-color-for-guest-with-same-name
enh(avatars): use different colors for guests for the same name
2025-09-02 14:04:21 +02:00
Maxence Lange
46ced9df22 fix(lexicon): send single notice/warning when using unknown config key
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-02 10:51:44 -01:00
Christoph Wurst
9a0892ca30
Merge pull request #53831 from nextcloud/feat/meeting-proposals
feat: Meeting Proposals
2025-09-02 13:16:33 +02:00
Andy Scherzinger
88ba65bcd4
Merge pull request #54800 from nextcloud/artonge/fix/remove_intro_from_presets
fix: Remove intro from presets
2025-09-02 12:36:04 +02:00
Carl Schwan
996be0f441 fix(comments): Don's catch invalid DriverException
These are nowadays also OCP\DB\Exception and if the id is not a numeric
deleting by id is also non working.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +02:00
Carl Schwan
c4e6fbdae7 fix(query-builder): Don't catch UniqueConstraintViolationException
UniqueConstraintViolationException is no longer throw directly but
instead is now wrapped inside a \OCP\DB\Exception. So check the
exception reason.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +02:00