Commit graph

6360 commits

Author SHA1 Message Date
John Molakvoæ
cbebc8214f
Revert "[stable33] perf(preview): bulk process preview regeneration" 2026-03-26 15:41:10 +01:00
Anna
90f621bdec
Merge pull request #58796 from nextcloud/backport/58229/stable33
[stable33] perf(preview): bulk process preview regeneration
2026-03-26 15:12:18 +01:00
Tobias Kaminsky
1d176c03c3 Revert "[stable33] Stable33 authoritative share" 2026-03-24 16:41:26 +01:00
Benjamin Gaussorgues
e3a4a01993
Merge pull request #59057 from nextcloud/backport/58863/stable33 2026-03-20 10:51:21 +01:00
Robin Appelman
15cef14219 test: adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
7b3702baf7 test: add reusable mock implementation for IUserConfig
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
ca87da8cd9 test: add reusable mock implementation for IAppConfig
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:36 +01:00
Robin Appelman
ffa6784bba feat: perform share mount validation on share instead of on mount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-19 18:39:35 +01:00
Côme Chilliet
c75c698906
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-19 17:17:26 +01:00
Maksim Sukharev
1c5334f890 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:09:49 +01:00
Andy Scherzinger
b7a6bd9fa4
Merge pull request #58831 from nextcloud/backport/58817/stable33
[stable33] fix: add fallback to raw path info
2026-03-19 09:41:54 +01:00
Anna Larch
9e2acf835b perf(preview): bulk process preview regeneration
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-03-18 18:14:31 +01:00
Joas Schilling
e305bab73f fix(comments): Correctly treat end of message as end of code block/inline
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-18 12:08:17 +01:00
Joas Schilling
e700027378
fix(comments): Don't return mentions in markdown code (by default)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 16:35:21 +01:00
Joas Schilling
7e832305c9
chore: Fix SPDX header
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 09:10:37 +01:00
David Dreschner
2c601fee60
fix: Remove deprecated RFC7231 constant to avoid warnings on PHP 8.5
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
2026-03-13 11:37:55 +01:00
Carl Schwan
3220e34bcc
Merge pull request #58878 from nextcloud/backport/58855/stable33
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 (stable33, 8.4, stable33, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, 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
[stable33] tests - Fix `Implicit conversion from float 500.5 to int loses precision` in ViewTest
2026-03-12 15:38:31 +01:00
Josh
db6bb7594d test(ViewTest): disable Nextcloud not PHP - drop testTouchFloat()
Our interface contract (and implementations) in IStorage are:
`public function touch(string $path, ?int $mtime = null): bool {`

This wasn't always the case but it is today, so testTouchFloat() no longer makes sense; it's not testing our code, just PHP.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-11 19:08:10 +00:00
Robin Appelman
65db0acd46
fix: make objectstore copy consistent with changed local storage behavior
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-10 18:12:28 +01:00
Anna Larch
349120b43b 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:50:51 +00:00
Robin Appelman
618c57619e
test: add test for updating cached mounts with multiple entries for root id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-03-05 14:26:23 +01:00
Andy Scherzinger
e3d0ead392
Merge pull request #58658 from nextcloud/backport/58057/stable33
[stable33] perf(sharing): Avoid loading all shares from all users when unsharing
2026-03-03 07:47:11 +01:00
Carl Schwan
94c4235151
perf: Perform share path validation early
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-02 16:07:24 +01:00
Josh
16ffc27537 test(Storage): avoid falsy directory/filename checks (for now)
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:36:55 +00:00
Josh
c4b94641c3 test(Storage): expand file / directory name tests
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:36:55 +00:00
Carl Schwan
c90bf858ec 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:49 +00:00
Marcel Müller
b51a4f452b 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:01:30 +00:00
Salvatore Martire
9f004aa657 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:21 +00:00
Andy Scherzinger
4a7eb39791
Merge pull request #58536 from nextcloud/backport/58128/stable33
[stable33] fix(share): Set expiration time to end of day (23:59:59)
2026-02-24 20:57:46 +01:00
Robin Appelman
276ca39a37
test: add test for calling filesize on non-existing files
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-24 18:04:30 +01:00
nfebe
6df78fad3d test(share): Update expiration date tests for end-of-day time
Update expected values in ManagerTest to reflect the new behavior
where share expiration dates are set to 23:59:59 instead of 00:00:00.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-02-24 10:23:09 +00:00
Carl Schwan
cae742d182
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>
2026-02-11 16:25:12 +01:00
Andy Scherzinger
cdbcfea1ff
Merge pull request #58055 from nextcloud/backport/57921/stable33
[stable33] fix(snowflakes): create file lock files into lock directory
2026-02-04 17:35:36 +01:00
Benjamin Gaussorgues
5dbb40dc4b chore(snowflakes): don't remove file lock directory during tests
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-02-04 10:12:47 +00:00
Joas Schilling
d47a152b77 test(Updater): Harden flaky test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-04 10:04:50 +00:00
Andy Scherzinger
baff429c1c
Merge pull request #58000 from nextcloud/setup-root-path-children-less-setup-33
[stable33] getById: don't setup for all users with access by default
2026-02-03 20:43:56 +01:00
Andy Scherzinger
103ede3ce4
Merge pull request #57999 from nextcloud/backport/57737/stable33
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 (stable33, 8.4, stable33, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (stable33, 8.4, stable33, 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
[stable33] feat: Add twofactor applications to most of the presets
2026-02-03 15:56:58 +01:00
Joas Schilling
6fa4625c08 test(dispatcher): Add some tests with input 0
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-02-03 08:18:44 +00:00
Robin Appelman
0496d1332c
test: adjust tests to updated getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-02-02 19:01:28 +01:00
Côme Chilliet
72ccd53567 chore: Remove broken PresetManager tests
Those are not Unit tests but integration tests with bad side effects on
 other tests. I failed to clean them up so removing them.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-02-02 14:12:53 +00:00
Robin Appelman
918db6f5ba
test: adjust tests to new getById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-29 18:50:59 +01:00
Carl Schwan
b72f879a21 perf(MountManager): use binary search to find mount in path
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-29 12:54:14 +00:00
Andy Scherzinger
7b3c071951
Merge pull request #57889 from nextcloud/backport/stable33/55649
[stable33] On demand preview migration
2026-01-29 08:18:29 +01:00
Carl Schwan
62ed106260
feat(preview): On demand preview migration
When requesting previews, which we don't find in oc_previews, search in
IAppData first before creating them.

Move the logic from MovepreviewJob to PreviewMigrationService and reuse
that in the Preview Generator.

At the same time rename MovePreviewJob to PreviewMigrationJob as it is a
better name.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
(cherry picked from commit 6149168129)
2026-01-28 22:36:05 +01:00
Misha M.-Kupriyanov
5d42c9c5de 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-01-28 20:27:36 +01:00
Misha M.-Kupriyanov
218b9a4dcd 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-01-28 20:27:36 +01:00
Ferdinand Thiessen
4fba8736cf test(preview): properly test postscript preview provider
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-01-28 10:25:08 +00:00
Benjamin Gaussorgues
66cf18950f fix(openmetrics): ensure unit is a suffix of metric name
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-27 13:37:16 +00:00
Benjamin Gaussorgues
ee8d0b1545 fix(openmetrics): fix label names and add test for them
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2026-01-26 09:04:56 +00:00
Joas Schilling
37616c48b7 fix(openmetrics): Make openmetrics always an array like all other infoxml fields
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-26 06:11:18 +00:00