Commit graph

640 commits

Author SHA1 Message Date
Carl Schwan
f81475445d
refactor: Move hasAnnotationOrAttribute to MiddlewareUtils
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-28 21:48:16 +01:00
Carl Schwan
6408ed0b51
feat(AppFramework): Add missing NoSameSiteCookieRequired attribute
Allow to replace the old annotation.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-28 21:48:16 +01:00
Carl Schwan
b040fb1c73
feat(AppFramework): Add missing NoTwoFactorRequired attribute
It's in our documentation but was never implemented.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-01-28 21:48:16 +01:00
Maxence Lange
6af64a5495 feat(ocm): event on ocm discovery and ocm request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-07 17:54:26 -01:00
Joas Schilling
f2e2e4ea21
fix(controller): Support native int ranges
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-01-07 17:36:57 +01:00
Christoph Wurst
8a581c230b refactor: improve reflection attribute typing
This allows tools to see the correct usage of
PasswordConfirmationRequired::getStrict

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-12-04 17:37:47 +01:00
Côme Chilliet
cb80ec7ebb
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-04 15:04:59 +01:00
Stephan Orbaugh
2d0c5cf627
Merge pull request #56218 from nextcloud/feat/di/abort-infinite-loop
feat(DI): Abort querying if infinite loop is detected
2025-11-13 16:15:49 +01:00
Kate
e5f50dafcb
Merge pull request #55620 from nextcloud/fix/appframework/check-reponder-existence 2025-11-12 11:46:08 +01:00
provokateurin
f720925b06
fix(AppFramework): Check for responder existence
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-11-12 09:39:53 +01:00
Joas Schilling
2b9083ab29
feat(rate-limit): Allow overwriting the rate limit
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-11-12 08:59:40 +01:00
Louis Chmn
ed4a1708f2 feat(EphemeralSessions): Introduce lax period
Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-05 16:08:13 +01:00
provokateurin
3dbf848ee9
feat(DI): Abort querying if infinite loop is detected
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-11-05 12:21:19 +01:00
Carl Schwan
336cc3fa35 feat(Db): Use SnowflakeId for previews
Allow to get an id for the storing the preview on disk before inserting
the preview on the DB.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-10-28 17:50:03 +01:00
Maxence Lange
9209540db5 feat(route): globalsiteselector as root url generator
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-10-13 09:19:20 -01:00
Côme Chilliet
d51efd9735
fix: Do not try to create lazy ghosts for PHP internal classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-28 14:35:49 +02:00
Thomas Citharel
7bf8e9699c
fix(http): handle getHttpProtocol being unset in $_SERVER['SERVER_PROTOCOL'] if called from occ
Due to the profiler app loading HttpDataCollector when running occ.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2025-09-21 18:06:33 +02:00
provokateurin
9473f47c0d fix(Dispatcher): Catch TypeErrors and turn them into bad request responses
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-05 00:49:23 +02:00
Kate
a1709f576e
Merge pull request #54627 from nextcloud/fix/ocs/accept-header 2025-08-28 14:03:23 +02:00
provokateurin
aab11d35d3
fix(OCS): Add IRequest::getFormat to determine the response Content-Type the same way everywhere
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-26 09:50:03 +02:00
Joas Schilling
11aa997da3
fix(2fa): Fix 2FA session setup when ephemeral session is used
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-25 10:39:17 +02:00
Joas Schilling
57f09b642e
fix(container): Reduce general deprecation spam on all requests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-09 11:53:30 +02:00
Benjamin Gaussorgues
8783679a49
Merge pull request #54303 from nextcloud/jtr-oc-appframework-app-cleanup 2025-08-08 10:41:51 +02:00
Joas Schilling
2f18996347
fix(container): Don't use deprecated things to set up controllers for apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-08 08:42:56 +02:00
Joas Schilling
17c40b9474
fix(container): Log the deprecation to the app when possible
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-08-08 08:42:55 +02:00
Josh
67c14b0f11
refactor(App): \OC\AppFramework\App clean-up
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-06 17:10:45 -04:00
Josh
9195987d14
refactor(AppFramework): drop unused spreed/Talk fallback
No longer needed from what I can tell since #20114 & nextcloud/spreed#3134

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-04 08:59:49 -04:00
John Molakvoæ
4829ac57c1 fix: use OCP\Server
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-01 17:00:09 +02:00
Josh
14b4d0327e fix(AppFramework): Log malformed protocol values and unify fallback behavior
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-01 17:00:09 +02:00
Maxence Lange
132513dbf3 fix(userconfig): duplicate core lexicon
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 10:36:44 -01:00
John Molakvoæ
e89b3a0597
Merge pull request #54051 from nextcloud/fix/session/log-ephemeral-session-close 2025-07-28 08:16:32 +02:00
Maxence Lange
33bff30e1d feat(lexicon): moving out from unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-24 15:56:33 -01:00
Christoph Wurst
084a2e8859
fix(session): log when ephemeral sessions are closed
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-07-23 07:52:06 +02:00
Ferdinand Thiessen
7fe272fd74
fix(Coordinator): ensure the core app is loaded first
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-17 16:59:45 +02:00
Côme Chilliet
2346a528ba
fix: Tidy up middleware registration code and scope them to application container
This make sure that all middlewares get a logger scoped to the
 application id, among other things.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:16 +02:00
Côme Chilliet
3dd4ba854f
fix: Add back ContainerInterface service to DIContainer
Otherwise it gets resolved to \OC::$server.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:15 +02:00
Côme Chilliet
2240acec7f
fix: Put back ScopedPsrLogger service
Cannot use an alias for this one, as it depends upon LoggerInterface so
 that creates an infinite loop.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:15 +02:00
Côme Chilliet
bbe766b07a
fix: Make sure Request class can be dependency injected to fix SameSiteCookieMiddleware injection
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:14 +02:00
Côme Chilliet
ab310ce938
fix: Fix issues and tests in DIContainer and friends
Some tests related to MiddlewareDispatcher are still failing.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:14 +02:00
Côme Chilliet
9913bdda90
chore: Cleanup DIContainer class
Also removed deprecated tag from the class as this class will not be
 removed, only the interface IAppContainer and associated methods should
 be removed.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:32:12 +02:00
Andy Scherzinger
0c087ece4c
Merge pull request #53740 from nextcloud/fix/properly-fail-on-invalid-json
Properly fail on invalid json
2025-07-03 18:00:28 +02:00
Ferdinand Thiessen
5981b7eb51
chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Côme Chilliet
79f4e0de76
fix: Only attempt to decode JSON input if it is not an empty string
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-01 11:24:27 +02:00
Côme Chilliet
e8bc35ec0a
fix(ocs): Return a proper error on JSON decoding failures
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-01 10:45:31 +02:00
Côme Chilliet
87f98c88ab
chore: Rename property and type it to match its current use in Request
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-01 10:25:14 +02:00
Robin Appelman
8b0a3a774d fix: throw a better error if we don't get an authorization header for secutity confirmation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-24 15:57:20 +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
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