6174 Commits

Author SHA1 Message Date
Robin Appelman
87504e27d0 test: add test for calling filesize on non-existing files
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-24 18:08:38 +01:00
Carl Schwan
cbe4a26156 fix(propagator): Improve lock behavior of propagator
Fix possible dead locks when running the propagator caused by two
requests updating the same amount rows in transactions.

- Lock rows always in the same deterministic order by sorting the
  path_hash first

- On all database outside of sqlite, also do first a SELECT FOR UPDATE
  to lock all the rows used in batch UPDATE calls, afterward to decrease
  the risk of two requests trying to lock the same rows

Signed-off-by: Carl Schwan <carlschwan@kde.org>
(cherry picked from commit cae742d182)
2026-02-17 10:39:11 +01:00
Louis
abb135e64d Merge pull request #57925 from nextcloud/backport/57522/stable32
[stable32] Add InstallationCompletedEvent for post-installation actions
2026-02-04 16:55:30 +01:00
Joas Schilling
a89b1b1a4b test(Updater): Harden flaky test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 10:04:34 +00:00
Misha M.-Kupriyanov
47d41c0bab feat(install): dispatch InstallationCompletedEvent in Setup
Integrate event dispatching into Setup class:
- Inject IEventDispatcher dependency
- Dispatch InstallationCompletedEvent after successful installation
- Add Setup tests for event integration
- Update composer autoload for new class

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2026-02-03 09:47:51 +01:00
Misha M.-Kupriyanov
08df93ec9a feat(install): add InstallationCompletedEvent for post-installation hooks
Add InstallationCompletedEvent class in public API (OCP namespace) that
provides installation details: data directory, admin username, and admin
email. Event will be dispatched after successful installation.

Include comprehensive unit tests covering all event scenarios.

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
2026-02-03 09:47:51 +01:00
Joas Schilling
6b95ad0aab test(dispatcher): Add some tests with input 0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-03 08:18:27 +00:00
provokateurin
663e6f7828 test(UserPlugin): Rewrite unit tests as integration tests
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 15:58:34 +01:00
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
b0cfb452b7 perf: log slow DNS operations
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2026-01-08 13:07:04 +00:00
Benjamin Gaussorgues
f5a381acf6 Merge pull request #57299 from nextcloud/backport/52442/stable32 2026-01-08 11:02:29 +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
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
Daniel Calviño Sánchez
855d0f06c1 test: Add unit test for excluded groups in contacts menu
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2026-01-07 17:05:52 +00:00
Daniel Calviño Sánchez
3157405b66 test: Adjust unit test name to better reflect its behaviour
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2026-01-07 17:05:52 +00:00
Robin Appelman
eedeae492d test: add tests for watcher check filter
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 13:15:29 +01: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
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
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
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
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
Richard Steinmetz
bd760856bb fix(l10n): do not consider user language when getting the generic one
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-11-25 15:43:32 +00:00
Marcel Müller
8b76146ac1 feat: Add option to update the public key of a user
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-11-19 12:43:12 +00:00
Côme Chilliet
b51c1d7f8d feat(login): Add rememberme checkbox
Only present if allowed by configuration.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-11-17 13:03:56 +01:00
Robin Appelman
a784bdadcf Merge pull request #56407 from nextcloud/backport/56255/stable32
[stable32] make failed availability check apply in the same request
2025-11-12 22:49:23 +01:00
Daniel Calviño Sánchez
14aef68eaf Merge pull request #56393 from nextcloud/backport/52012/stable32-fix-user-collaborators-returned-when-searching-for-mail-collaborators
[stable32] Fix user collaborators returned when searching for mail collaborators
2025-11-12 18:46:20 +01:00
Robin Appelman
8b3f4da52f fix: make failed availability check apply in the same request
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-12 17:45:55 +00:00
Daniel Calviño Sánchez
16c26101d0 fix: Fix user collaborators returned when searching for mail collaborators
The MailPlugin collaborator returned results for both user and mail
collaborators, but it was registered only for mail collaborators. While
it might make sense to move the user results to the UserPlugin instead
that change would be more complex and riskier, so for now the MailPlugin
is now registered for both user and mail collaborators and the results
are limited only to the registered type.

As the plugins are registered only with their class and then resolved
when needed using dependency injection it is not possible (as far as I
know) to provide an explicit parameter in the constructor to
differentiate whether the MailPlugin should return user or mail
collaborators. To overcome this two subclasses are introduced,
MailByMailPlugin and UserByMailPlugin, which just hardcode in their
constructor the collaborator type that their parent MailPlugin must use,
and those subclasses are the ones registered instead of the MailPlugin
(which still contains all the logic).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 13:22:25 +01:00
Daniel Calviño Sánchez
acfbd9ceac test: Rename data providers to match the name of their tests
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:17 +01:00
Daniel Calviño Sánchez
e2ee09a19a test: Replace magic value with named constant of share type
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Daniel Calviño Sánchez
cdbd236697 test: Rename parameters to show that they are expected values
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Daniel Calviño Sánchez
abb3889240 test: Fix parameter documentation
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-12 11:16:16 +01:00
Joas Schilling
826fe1a918 feat(rate-limit): Allow overwriting the rate limit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-12 10:55:06 +01:00
Joas Schilling
344f84c1d9 fix(jobs): Limit command jobs to known cases
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-05 11:05:36 +01:00
Andy Scherzinger
6d47668fda Merge pull request #55961 from nextcloud/backport/55955/stable32
[stable32] fix(dav): allow multiple link shares token in session
2025-10-28 22:09:12 +01:00
Daniel Kesselberg
ac1fd94839 fix: validate filename when creating file from template
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-24 10:53:37 +00:00
skjnldsv
4a7f5000ef fix(dav): allow multiple link shares token in session
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-10-23 14:11:06 +00:00
Joas Schilling
27838d141d fix(l10n): Don't fallback from 3-letter languages to 2-letter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-10-16 11:43:35 +00:00
SebastianKrupinski
34f92a05c5 fix: iMip reply from outlook.com does not contain organizer property
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-10-14 19:29:19 +00:00
Marcel Klehr
0a1754beaf fix(FileAccess): Set filecache size column in tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +00:00
Thomas Citharel
4759e46516 feat(test-case): allow to use PHPUnit Group attributes to mark tests requiring database
Before that, only the annotation @group('DB') is possible to mark test classes as requiring the database. Now the \PHPUnit\Framework\Attributes\Group attribute can be used as long as PHPUnit 10+ is used.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-10-06 13:03:15 +00:00
Marcel Müller
d92b1f3ad0 fix(appstore): Make appstore timeout configurable
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-09-30 15:18:59 +00:00
Benjamin Gaussorgues
e6e89d0ea1 feat(db): add SSL/TLS support for PostgreSQL
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-09-22 14:55:29 +02:00
Marcel Klehr
04a33be489 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-18 07:23:55 +00:00
Maxence Lange
ce5964cd58 fix(userconfig): using api bit functions
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-09-17 18:07:01 +00:00