Commit graph

7809 commits

Author SHA1 Message Date
Andy Scherzinger
fa9266e584
Merge pull request #59081 from nextcloud/backport/59015/stable32
Some checks are pending
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(taskprocessing): add worker command for synchronous task processing
2026-03-20 13:56:45 +01:00
Côme Chilliet
a5e79add44 fix(tests): Adapt Middleware tests to API change
Removed a few tests rendered obsolete by the refactoring.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-03-20 11:00:58 +01:00
Marcel Klehr
c96583bc75 fix: Apply suggestions from code review
Co-authored-by: Marcel Klehr <mklehr@gmx.net>
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 14:33:31 +00:00
Marcel Klehr
c0db1397cd chore: Address review comments
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2026-03-19 14:33:31 +00:00
copilot-swe-agent[bot]
691f7f431d test(taskprocessing): fix broken multi-type assertions and add starvation-prevention test
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 14:33:31 +00:00
copilot-swe-agent[bot]
e1208cad4c fix: Fix Task mock error: use real Task instances; run autoloaderchecker
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 14:33:30 +00:00
copilot-swe-agent[bot]
fb8ac6863c feat(taskprocessing): Add --taskTypes whitelist option to taskprocessing:worker command
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 14:33:30 +00:00
copilot-swe-agent[bot]
b81b3c7d10 feat(taskprocessing): Add worker command with tests and registration
Co-authored-by: marcelklehr <986878+marcelklehr@users.noreply.github.com>
2026-03-19 14:33:30 +00:00
Maksim Sukharev
96e24b3da0 fix(bg_jobs): store job argument as a text, increase length cap from 4000 to 32000
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2026-03-19 11:38:40 +01:00
Louis
fdd2e624ac
Merge pull request #58659 from nextcloud/backport/58057/stable32
[stable32] perf(sharing): Avoid loading all shares from all users when unsharing
2026-03-18 18:22:47 +01:00
Carl Schwan
7f53bfae6c
Merge pull request #58847 from nextcloud/backport/53733/stable32
Some checks are pending
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: give target file all permissions on copy
2026-03-12 09:45:05 +01:00
Robin Appelman
40c5f0e51e
fix: make objectstore copy consistent with changed local storage behavior
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-10 18:17:20 +01:00
Robin Appelman
e06679c932 test: add test for updating cached mounts with multiple entries for root id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-10 16:33:28 +00:00
Anna Larch
447c77e23e fix: add fallback to raw path info
Follow up to https://github.com/nextcloud/server/pull/56843

The raw path info method has no fallback for an empty array parameter

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-03-10 12:52:15 +00:00
Ferdinand Thiessen
cfa95919ee
test(preview): properly test postscript preview provider
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-03-03 02:19:02 +01:00
Carl Schwan
c3a15af538
perf: Perform share path validation early
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-02 16:08:46 +01:00
Josh
f81c58c479 test(Storage): avoid falsy directory/filename checks (for now)
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:36:34 +00:00
Josh
5f23d5b831 test(Storage): expand file / directory name tests
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:36:34 +00:00
Carl Schwan
3e8f02308a perf(sharing): Avoid loading all shares from all users when unsharing
First check which users have a shares and for which providers and then
only load these shares.

Avoid doing at most 5 SQL queries for each users a share was shared with if
there are no shares.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-02 11:25:52 +00:00
Marcel Müller
008249440a fix: Use configured loglevel even when log.condition matches is set
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2026-02-27 15:02:30 +00:00
Salvatore Martire
122b019f5c fix(L10N): stop stripping _ from language codes
Stripping the underscore breaks support for all languages like de_AT,
de_DE and so on...

Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-25 15:55:06 +00:00
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
Kate
2cbdef033f
Merge pull request #58368 from nextcloud/backport/58134/stable32 2026-02-23 14:11:34 +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
Salvatore Martire
b6e18bf28a fix: add X-User-Id header to logout response before clearing the user session
Signed-off-by: Salvatore Martire <4652631+salmart-dev@users.noreply.github.com>
2026-02-06 17:18:33 +00: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