Louis Chemineau
4381cc8f84
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>
2026-01-14 14:31:12 +01:00
Christoph Wurst
2dcf6ad7e3
fix(session): handle null logger
...
Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
2026-01-09 16:51:14 +00:00
Christoph Wurst
b0cfb452b7
perf: log slow DNS operations
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2026-01-08 13:07:04 +00:00
Christoph Wurst
a7c6e41e10
refactor: extract slow operation logging into trait
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2026-01-08 13:07:04 +00:00
Benjamin Gaussorgues
b3347f1821
Merge pull request #57346 from nextcloud/backport/57186/stable32
2026-01-08 11:02:41 +01:00
Benjamin Gaussorgues
f5a381acf6
Merge pull request #57299 from nextcloud/backport/52442/stable32
2026-01-08 11:02:29 +01:00
Benjamin Gaussorgues
76c9189bad
Merge pull request #57401 from nextcloud/backport/57371/stable32
2026-01-08 09:04:16 +01:00
Benjamin Gaussorgues
d9c8ea6dd6
Merge pull request #57416 from nextcloud/backport/56938/stable32
2026-01-08 08:55:16 +01:00
Joas Schilling
cb4557ba34
Merge pull request #57420 from nextcloud/backport/57414/stable32
...
[stable32] fix(l10n): Fix language selection
2026-01-07 22:39:05 +01:00
Joas Schilling
d0da446339
Merge pull request #57418 from nextcloud/backport/57413/stable32
...
[stable32] fix(controller): Support native int ranges
2026-01-07 22:38:28 +01:00
Joas Schilling
eff3bb4c78
fix(l10n): Fix language selection
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 18:06:35 +00:00
Joas Schilling
ea0d1d3f2e
fix(controller): Support native int ranges
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 18:06:10 +00:00
Daniel Calviño Sánchez
bb2ae56457
fix: Unify handling of exclude groups in contacts menu and sharing
...
If the current user belongs to both one or more groups excluded from
sharing and one or more groups not excluded from sharing the user is
allowed to share. However, in the contacts menu, as soon as the current
user belonged to a group excluded from sharing the user could not search
for local contacts. This has been unified now with the sharing
behaviour, so local contacts can still be searched if the user also
belongs to a group not excluded from sharing (or to no group at all,
which was also allowed before).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2026-01-07 17:05:52 +00:00
Simon L.
1be03aaa2b
feat(Config.php): change array_merge to array_replace_recursive when merging configs
...
Signed-off-by: Simon L. <szaimen@e.mail.de>
2026-01-07 11:05:27 +00:00
Maxence Lange
367e4e1cc9
fix(team-manager): team is already teamid
...
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-06 15:01:39 +00:00
Enjeck C
584821e0a5
fix: Ensure CLOUD key exists before resolving Cloud ID
...
Signed-off-by: Enjeck C <patrathewhiz@gmail.com>
2026-01-06 09:00:11 +00:00
Robin Appelman
f525ae0ff7
feat: don't gate perBucket object store configuration behind multibucket
...
a setup can have multiple bucket without having `multibucket` enabled trough things like per-groupfolder buckets
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-05 15:50:23 +00:00
Robin Appelman
56cc62d215
fix: use interfaces instead of classes in Cache\Watcher type hints
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 13:15:24 +01:00
Robin Appelman
efe257cc59
feat: add an option to filter what paths get checked for updates
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 13:15:17 +01:00
Kate
9fe7e1cb5c
Merge pull request #57085 from nextcloud/backport/56921/stable32
2025-12-18 16:45:55 +01:00
Thomas Citharel
1b1aea4531
fix(lib): include headers from OC\Template\Template as well in produced HTML
...
Otherwise we only take those added through deprecated method C_Util::addHeader, not those of
OC\Template\Template::addHeader, which does nothing
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-12-18 11:00:50 +00:00
Git'Fellow
2ef67959ab
fix(IpNormalizer): Added inet_pton() check before bitwise operations
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-12-17 15:29:28 +00:00
provokateurin
3d113daa60
fix(UserMountCache): Add back unique index for oc_mounts and use normal insert
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-16 10:47:30 +01:00
Côme Chilliet
03236f5acb
Merge pull request #57107 from nextcloud/backport/55813/stable32
...
[stable32] fix(shares): Fix infinite loop when all shares are invalid
2025-12-16 09:24:55 +01:00
nfebe
d384071352
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-12-16 00:34:16 +01:00
nfebe
da82f6f79f
fix: Include email when searching share suggestions
...
Signed-off-by: nfebe <fenn25.fn@gmail.com>
[skip ci]
2025-12-16 00:32:38 +01:00
nfebe
f94d30cbc6
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-12-16 00:32:38 +01:00
Côme Chilliet
1a50c7ec5a
fix(shares): Fix infinite loop when hide_disabled_user_shares is yes
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 19:18:36 +00:00
Côme Chilliet
ba8514cd6d
Merge pull request #56851 from nextcloud/backport/56843/stable32
...
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
[stable32] feat(log): Add script name and occ command to log details
2025-12-15 20:16:57 +01:00
Côme Chilliet
02f23d566f
fix: Log missing nodes of shares at debug level
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 16:57:22 +01:00
Côme Chilliet
cc5795ba45
fix: Fix orphan shares blocking moving other shares
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 16:57:22 +01:00
Côme Chilliet
dcdb53634e
feat(log): Add script name and occ command to log details
...
This will help when troubleshooting issues. For web request we have
method and url, but for cron and occ currently we have no way to know if
it’s one or the other and which command.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 16:57:16 +01:00
Daniel Calviño Sánchez
709a74a2ac
fix: Fix caching routes by users with an active session
...
When a user has an active session only the apps that are enabled for the
user are initially loaded. In order to cache the routes the routes for
all apps are loaded, but routes defined in routes.php are taken into
account only if the app was already loaded. Therefore, when the routes
were cached in a request by a user with an active session only the
routes for apps enabled for that user were cached, and those routes were
used by any other user, independently of which apps they had access to.
To solve that now all the enabled apps are explicitly loaded before
caching the routes.
Note that this did not affect routes defined using annotations on the
controller files; in that case the loaded routes do not depend on the
previously loaded apps, as it explicitly checks all the enabled apps.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-15 09:53:32 +00:00
Daniel Calviño Sánchez
2a200a708e
Revert "fix(CachingRouter): Disable cache for findMatchingRoute"
...
This reverts commit 90948f5096 .
It temporary disabled cache for routes until an actual fix was added,
which is done in the following commits.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-15 09:53:32 +00:00
Elizabeth Danzberger
00005689e9
fix(templates): deduplicate provider templates
...
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2025-12-11 21:21:56 -05:00
Joas Schilling
1d98ab5cd6
fix(comments): Check comment object
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-12-11 07:57:56 +01:00
provokateurin
c8a638f7e0
fix(CachingRouter): Disable cache for findMatchingRoute
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-09 09:19:21 +00:00
nfebe
0c437fc8b5
fix(sharing): Add isTrustedServer flag to lookup results
...
When `show_federated_shares_to_trusted_servers_as_internal` is enabled,
lookup server results were being filtered out because they lacked the
`isTrustedServer` flag. This adds the flag to lookup results by:
- Injecting TrustedServers service into LookupPlugin
- Adding `server` and `isTrustedServer` fields to each lookup result
- Updating tests to reflect new structure
This ensures lookup results from trusted servers appear in internal
sharing while non-trusted servers are correctly filtered out.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-04 11:50:36 +01:00
Andy Scherzinger
264c982cc0
Merge pull request #56573 from nextcloud/backport/56515/stable32
...
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
[stable32] Encode s3 metadata as base64 if needed
2025-12-04 08:09:41 +01:00
Andy Scherzinger
92e3599a39
Merge pull request #56774 from nextcloud/backport/56410/stable32
...
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable32, 8.1, stable32, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis (push) Waiting to run
Psalm static code analysis / static-code-analysis-security (push) Waiting to run
Psalm static code analysis / static-code-analysis-ocp (push) Waiting to run
Psalm static code analysis / static-code-analysis-ncu (push) Waiting to run
[stable32] fix(Memcache): use different cache key when in maintenance mode
2025-12-03 22:32:31 +01:00
Daniel
b8cf2a2894
Merge pull request #56821 from nextcloud/backport/56672/stable32
...
[stable32] fix(s3): make data integrity protections opt-in
2025-12-03 22:25:52 +01:00
nfebe
58991b1b19
fix(sharing): Allow public share access for everyone
...
When a logged-in user accesses a public share link in the same browser,
the system was incorrectly checking if that user's groups were excluded
from creating link shares. This caused share not found errors for users
in excluded groups, even though public shares should be accessible to anyone
with the link.
The group exclusion setting (`shareapi_allow_links_exclude_groups`) is
intended to restrict share creation, not share access. Public shares
are meant to be anonymous and accessible regardless of the viewer identity
or group membership.
We now check the exclusion for the share creator and not the viewer.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-03 19:53:17 +01:00
Daniel Kesselberg
9af9395d5c
fix(s3): make data integrity protections opt-in
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-12-03 19:52:17 +01:00
Ferdinand Thiessen
2cc0420cce
fix(Memcache): use different cache key when in maintenance mode
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-12-03 19:35:39 +01:00
nfebe
3e2582c4e6
feat(objectstore): add configurable S3 retry attempts
...
Add retriesMaxAttempts parameter to S3 objectstore configuration
to allow customization of AWS SDK retry behavior for handling
unreliable network conditions or proxy issues.
Defaults to 5 retries (AWS SDK default) if not specified.
Signed-off-by: nfebe <fenn25.fn@gmail.com>
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-12-03 12:48:52 +01:00
provokateurin
57734fbd01
feat(ObjectStore): Allow overriding arguments per bucket
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 16:44:55 +00:00
Andy Scherzinger
8c09cdd07d
Merge pull request #56766 from nextcloud/backport/52749/stable32
...
[stable32] feat(CertificateManager): Add option to specify the default certificates bundle path
2025-12-01 14:54:10 +01:00
provokateurin
6b2c19df98
feat(CertificateManager): Add option to specify the default certificates bundle path
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 11:55:11 +01:00
Carl Schwan
11beba6e2c
feat(profiler): Use gzdecode/gzencode to parse profiles
...
See 42a80727f9/src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php (L299)
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-30 19:23:01 +01:00
Anna Larch
96fe23b5e8
fix(logger): add back lost params for logger methods
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-11-27 14:55:27 +00:00