Commit graph

15768 commits

Author SHA1 Message Date
Robin Appelman
2e1c316582 fix: remove double cache write in ObjectStoreStorage::touch
the file_put_contents already puts all of those values into the cache

Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-18 22:22:51 +02:00
Jana Peper
50c9852e24
feat: add ocs route to get apps enabled for current user
Signed-off-by: Jana Peper <jana.peper@nextcloud.com>
2025-06-18 17:31:20 +02:00
Kent Delante
ea98e4b3f5
Merge pull request #53419 from nextcloud/leftybournes/fix/object_storage_large_uploads
fix(s3): retry failed multipart uploads with decreased concurrency
2025-06-18 21:07:06 +08:00
Ferdinand Thiessen
35a27b5fd5
fix(FilenameValidator): use _ as default replacement for invalid chars
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-18 09:44:57 +02:00
Ferdinand Thiessen
e11ecaa53f
Merge pull request #53516 from nextcloud/fix/fix-encryption-manager-injection
fix(encryption): Fix DI for encryption Manager class
2025-06-17 11:45:15 +02:00
Andy Scherzinger
6f2fbef490
Merge pull request #51657 from SBizienFilippiPEReN/cookie-domain
cookie_domain config option for setting cookie on a wider domain
2025-06-17 07:00:40 +02:00
Daniel Calviño Sánchez
d7ae952dc8 fix(ObjectStore): Make S3 "connect_timeout" option configurable
The hardcoded connection timeout of 5 seconds may not be enough in some
cases, so now it is got from the ObjectStore arguments in Nextcloud
configuration, falling back to 5 if not set.

The connection timeout is set in seconds, but decimal precision can be
used for subsecond accuracy (for example, 4.2 for 4200 milliseconds).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-06-16 20:17:50 +02:00
Côme Chilliet
a9acaaa45f
fix(encryption): Fix DI for encryption Manager class
Only IManager was registered but the class name is used as well for DI
 in the encryption application. This was causing a crash of encryption
 command when using PHP 8.4 and lazy ghosts.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-16 16:35:27 +02:00
Samuel Bizien Filippi
a14cade3ac feat(core): add cookie_domain config option
Signed-off-by: Samuel Bizien Filippi <samuel.bizien-filippi@finances.gouv.fr>
2025-06-16 15:33:48 +02:00
Richard Steinmetz
967b634a82
fix: properly deprecate IOCMProvider
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-06-16 12:20:40 +02:00
Micke Nordin
e770859008 Update lib/private/Server.php
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Signed-off-by: Micke Nordin <mickenordin@users.noreply.github.com>
2025-06-16 10:33:21 +02:00
Micke Nordin
7bee91a834 fix(OCMProvider): fix dependency injection for OCMProvider
Signed-off-by: Micke Nordin <kano@sunet.se>
2025-06-16 10:33:21 +02:00
Côme Chilliet
b188fad8e8
fix(router): In debug mode, cache routes only for 3 seconds
This allows testing a newly added or changed route in your application
 without having to wait 1 hour or bump the application version.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-12 16:12:22 +02:00
Andy Scherzinger
fc2aa7f5b5
Merge pull request #51113 from mickenordin/master
feat(OCM-invites): Implementation of invitation flow for OCM 1.1.0
2025-06-12 12:13:50 +02:00
Maxence Lange
f8c64a17b1
Merge pull request #53427 from nextcloud/shard-key-hint-partition
fix: allow hinting the shard keys for joined tables
2025-06-12 09:09:50 -01:00
Micke Nordin
623f2f0240
feat(OCM-invites): Implementation of invitation flow
This patchset:
* implements the /invite-accepted endpoint
* adds capabilities and inviteAceptDialog to the discovery
* adds a FederatedInviteAcceptedEvent

https://cs3org.github.io/OCM-API/docs.html?branch=v1.1.0&repo=OCM-API&user=cs3org#/paths/~1invite-accepted/post

Co-authored-by: Anna <anna@nextcloud.com>
Co-authored-by: Côme Chilliet <come.chilliet@nextcloud.com>
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Co-authored-by: Navid Shokri <navid.pdp11@gmail.com>
Signed-off-by: Micke Nordin <kano@sunet.se>
2025-06-12 11:20:26 +02:00
Daniel
e1fcd6ccfb
Merge pull request #53000 from nextcloud/fix/noid/stuck-ffmpeg
fix: unblock ffmpeg on some broken videos
2025-06-10 22:22:04 +02:00
Robin Appelman
26903926a2
fix: allow hinting the shard keys for joined tables
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-10 16:15:05 +02:00
Kate
1474fa3407
Merge pull request #52743 from nextcloud/bug/noid/expires-date-format 2025-06-10 14:25:05 +02:00
Kate
9faf386303
Merge pull request #52913 from nextcloud/debt/noid/use-logical-operator 2025-06-10 14:17:46 +02:00
Daniel Kesselberg
55bca1e5db fix: use logical operator instead of bitwise
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-06-10 13:55:53 +02:00
Daniel Kesselberg
be587def0e fix: use correct format for expires, last-modified, and if-modified-since headers
Before: Sat, 10 May 2025 18:17:41 +0000
After: Sat, 10 May 2025 18:17:41 GMT

RFC: https://httpwg.org/specs/rfc9110.html#http.date

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-06-10 13:15:31 +02:00
Kent Delante
06b5ce5859 fix(s3): retry failed multipart uploads with decreased concurrency
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-06-10 17:39:59 +08:00
provokateurin
d11d5b765f feat(core): Add option to disable creating an admin user when installing
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-06-10 11:16:28 +02:00
provokateurin
9a121269f3 refactor(Setup): When creating a DB user don't use the admin username
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-06-10 11:16:28 +02:00
Côme Chilliet
231916d403
Merge pull request #52538 from nextcloud/feat/use-php84-lazy-objects
Use PHP 8.4 lazy ghosts for Dependency injection
2025-06-10 10:45:12 +02:00
Joas Schilling
f230abeef8
fix: Run cleanByMoundId query on all shards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-06-06 14:36:34 +02:00
Côme Chilliet
2eed6d3a89
feat: Add a configuration toggle for lazy objects in DI
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 20:51:24 +02:00
Côme Chilliet
98b2cfc416
fix: Fix several side effects of lazy ghosts
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 20:50:42 +02:00
Côme Chilliet
86ff5810d7
fix: Only use Lazy objects if PHP is 8.4 or higher
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 20:49:58 +02:00
Côme Chilliet
1bf41550d0
chore: Suppress psalm error
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 20:49:58 +02:00
Côme Chilliet
06c062bebd
feat: Use Lazy ghosts for Dependency injection
This will only work with PHP 8.4, so we’ll need to put it behind a version check later.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 20:49:38 +02:00
Côme Chilliet
bb485fb733
fix: Load all partially enabled apps routes
This avoids cache issues if some apps are only enabled for some groups,
 by loading the routes from all apps enabled for anyone, not only the
 current user.
If the queried application is disabled for the current user based on
 groups, the middleware will cancel the query.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 18:06:08 +02:00
Côme Chilliet
12e7f46b30
fix: Use application ids as well as versions in the cache prefix
Avoids a corner case issue if one application was disabled and another
 one enabled with the same version, just to be safe.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 18:03:56 +02:00
Côme Chilliet
a2fdeccc31
chore(tests): Adapt AppManager test to the use of searchValues
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:54 +02:00
Côme Chilliet
e8370bf73a
fix: Use only enabled applications versions in the cache prefix
This makes sure the cached routes are updated after enabling a
 previously disabled application

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:54 +02:00
Côme Chilliet
0d78c60759
fix: Fix psalm issue by adding missing parameter for profiler
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:54 +02:00
Côme Chilliet
446b22ac3c
feat(router): Add fallback for legacy action and file routes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:54 +02:00
Côme Chilliet
216da3a81c
fix: Deprecate action and actionInclude from routes and fix actionInclude
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:53 +02:00
Côme Chilliet
5c9092bc5b
fix: Use a more fitting cache key
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:53 +02:00
Côme Chilliet
01575b7d95
feat(router): Use Symfony CompiledUrlMatcherDumper to cache routes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:53 +02:00
Côme Chilliet
ee3abdd81b
feat(router): Cache routes in local cache if possible
This is not ideal because serializing the routecollection is not easy.
It seems Symfony has its own way of doing things by dumping routes to a
 PHP file, maybe that would be better, but it would mean pulling a new
 symfony dependency and maybe refactor our Router.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:58:46 +02:00
Côme Chilliet
c85f7eacb8
fix: Throw AppNotFoundException from installer when application is not found
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 17:03:16 +02:00
Côme Chilliet
bf340a576f
fix: Do not enable applications which are not installed yet
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-06-05 15:39:25 +02:00
skjnldsv
e41e8de0e2 fix(dav): file drop nickname
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-05 09:09:17 +02:00
Joas Schilling
656dc478e5
fix(notifications): Fix check for hasNotifiers when all apps use RegistrationContext
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-06-04 06:32:26 +02:00
Julien Veyssier
c4e936c6e8
Merge pull request #53205 from nextcloud/fix/noid/get-preview-force-mimetype
fix(PreviewManager): use the forced mimetype in throwIfPreviewsDisabled
2025-06-02 20:27:19 +02:00
Ferdinand Thiessen
c21e189850
fix: make core application bootstrapable by coordinator
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-06-02 15:58:54 +02:00
Julien Veyssier
c7e9f2c03d
fix(PreviewManager): use the forced mimetype in throwIfPreviewsDisabled
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2025-06-02 15:50:53 +02:00
Louis
f4cb78b905
Merge pull request #52242 from nextcloud/artonge/fix/copy_subfolders_s3 2025-06-02 11:55:54 +02:00