suyash
10/10/2025, 1:28 PMreactormonk
10/10/2025, 4:11 PMFedor Erofeev
10/11/2025, 9:06 AM@tag users if someone having troubles, seems KLIP has some wrong sampleRobert Jaros
10/13/2025, 5:27 PMBernhard
10/14/2025, 1:33 PMBernhard
10/16/2025, 11:28 AMCherrio LLC
10/16/2025, 12:15 PMBernhard
10/16/2025, 12:47 PMAbthul Razeeth
10/19/2025, 6:53 AMAbthul Razeeth
10/19/2025, 6:57 AMsuresh
10/20/2025, 6:56 AMwebMain shared target (https://kotlinlang.org/docs/whatsnew2220.html#shared-source-set-for-js-and-wasmjs-targets)? The Ktor JS client engine is not getting resolved on the webMain sourceset.Ryuhei Furuta
10/20/2025, 11:33 AMktor-server-config-yaml on the classpath, we observed that YamlConfigLoader gets selected and application.conf is not loaded. (It took several hours to solve this problem...)
This looks related to how META-INF/services files are merged for a fat JAR and how JVM ServiceLoader resolves providers, rather than a Ktor-specific bug.
I saw some issues referencing this behavior like
• https://youtrack.jetbrains.com/issue/KTOR-6610/Log-which-ConfigLoader-has-been-used-for-loading-the-server-configuration
• https://kotlinlang.slack.com/archives/C0A974TJ9/p1736451975122839
As Patrik Csikós says in YouTrack issue comment, I thought it would be beneficial to take these actions below.
(A) Improve logging: when multiple ConfigLoaders are discovered, log the list of candidates and the reason one was selected.
(B) Document the behavior when including multiple ConfigLoader on the classpath.
If this direction makes sense, I'd be happy to open a PR for (A) logging and/or (B) docs. Would appreciate guidance on the preferred approach. Thank you!ryanbreaker
10/21/2025, 4:24 PMwithMdc function was removed from Kairo in v6, or was it just moved somewhere else?
https://github.com/hudson155/kairo/blob/v5.15.1/kairo-mdc/src/main/kotlin/kairo/mdc/withMdc.ktSangeeta
10/26/2025, 10:28 AM./gradlew buildOpenApi. I noticed a couple of things:
1. The @description annotation in KDoc (as documented here) does not appear in the generated OpenAPI output. It seems the description is ignored, while the first line of the KDoc becomes the summary.
2. The OpenAPI spec currently includes internal endpoints (e.g., /json/kotlinx-serialization). Is there a way/annotation to exclude such endpoints from the generated spec?
3. Is there any support or recommended approach for nested tags? Currently, only flat tag grouping is supported.
Thanks in advance for the guidance!Anders
10/28/2025, 9:36 AMFlorian
10/30/2025, 7:09 PMGET /users/{id}, PUT /users/{id}, GET /users/ ?Hong Phuc
11/02/2025, 7:26 AMNov 02 06:53:48 backend-server java[675013]: Routing resolve result:
Nov 02 06:53:48 backend-server java[675013]: SUCCESS @ /api/posts/(method:POST)
Nov 02 06:53:48 backend-server java[675013]: This is session null
Nov 02 06:53:48 backend-server java[675013]: 2025-11-02 06:53:48.248 [eventLoopGroupProxy-4-2] TRACE i.k.server.engine.DefaultTransform - Transformed class io.ktor.utils.io.ByteChannel to class io.ktor.http.cio.CIOMultipartDataBase for /api/pos>
Nov 02 06:53:48 backend-server java[675013]: 2025-11-02 06:53:48.249 [eventLoopGroupProxy-4-2] ERROR Application - Unhandled: POST - /api/posts
Nov 02 06:53:48 backend-server java[675013]: java.lang.NullPointerException: null
Nov 02 06:53:48 backend-server java[675013]: at com.yourart.RoutingKt$configureRouting$1$5.invokeSuspend(Routing.kt:155)
Nov 02 06:53:48 backend-server java[675013]: at com.yourart.RoutingKt$configureRouting$1$5.invoke(Routing.kt)
Nov 02 06:53:48 backend-server java[675013]: at com.yourart.RoutingKt$configureRouting$1$5.invoke(Routing.kt)
Nov 02 06:53:48 backend-server java[675013]: at io.ktor.server.routing.RoutingNode$buildPipeline$1$1.invokeSuspend(RoutingNode.kt:126)
Nov 02 06:53:48 backend-server java[675013]: at io.ktor.server.routing.RoutingNode$buildPipeline$1$1.invoke(RoutingNode.kt)
This is when I'm running the code locally via Intellij:
Routing resolve result:
SUCCESS @ /api/posts/(method:POST)
This is session null
2025-11-02 18:29:27.989 [ktor-jetty-8000-1] TRACE i.k.server.engine.DefaultTransform - Transformed class io.ktor.utils.io.ByteChannel to class io.ktor.http.cio.CIOMultipartDataBase for /api/posts
2025-11-02 18:29:28.026 [ktor-jetty-8000-3] TRACE a.s.k.r.h.operation.OperationHandler - operation started
2025-11-02 18:29:28.053 [ktor-jetty-8000-4] DEBUG a.s.k.r.a.c.ProfileCredentialsProvider - Loading credentials from profile `default`
2025-11-02 18:29:28.062 [ktor-jetty-8000-4] DEBUG a.s.k.r.a.c.ProfileCredentialsProvider - Resolving credentials from static credentials
Does anyone know why this is the case? Thanks in advanceHong Phuc
11/02/2025, 7:42 AMConcurrent read attempts mean? I'm trying to read a file in this function where this error happened.
2025-11-02 07:39:59.407 [eventLoopGroupProxy-4-3] ERROR Application - Unhandled exception caught for CoroutineName(call-handler)
Nov 02 07:39:59 backend-server java[675297]: io.ktor.utils.io.ConcurrentIOException: Concurrent read attempts
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.utils.io.ByteChannel.awaitContent(ByteChannel.kt:272)
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.utils.io.ByteReadChannel$DefaultImpls.awaitContent$default(ByteReadChannel.kt:30)
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.utils.io.ByteReadChannelOperationsKt.discard(ByteReadChannelOperations.kt:349)
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.utils.io.ByteReadChannelOperationsKt.discard$default(ByteReadChannelOperations.kt:344)
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.server.engine.DefaultEnginePipelineKt$defaultEnginePipeline$1.invokeSuspend(DefaultEnginePipeline.kt:42)
Nov 02 07:39:59 backend-server java[675297]: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
Nov 02 07:39:59 backend-server java[675297]: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:99)
Nov 02 07:39:59 backend-server java[675297]: at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:65)
Nov 02 07:39:59 backend-server java[675297]: at kotlinx.coroutines.internal.DispatchedContinuation.resumeWith(DispatchedContinuation.kt:327)
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:149)
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:134)
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.util.pipeline.SuspendFunctionGun.proceed(SuspendFunctionGun.kt:89)
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.util.pipeline.SuspendFunctionGun.execute$ktor_utils(SuspendFunctionGun.kt:109)
Nov 02 07:39:59 backend-server java[675297]: at io.ktor.util.pipeline.Pipeline.execute(Pipeline.kt:86)
Nov 02 07:39:59 backend-server java[675297]: atZyle Moore
11/02/2025, 10:41 PMval serializerModule = SerializersModule {
polymorphic(Person::class) {
subclass(SerializablePerson::class)
}
}suresh
11/04/2025, 12:37 AMJetty engine. Calling call.request.servletRequestAttributes from the call interceptor throws the following error. Any idea why it’s not set for the Jetty engine?Horatio Thomas
11/05/2025, 6:49 AMHoratio Thomas
11/05/2025, 9:11 AMsuresh
11/06/2025, 2:40 AMAlina Dolgikh [JB]
Ryan Woodcock
11/06/2025, 7:15 PMsuresh
11/07/2025, 12:14 AMArjan van Wieringen
11/07/2025, 6:56 AMfun Application.module(myService: MyService) {
subscribe(topic = "my-topic", autoOffsetReset = Latest) {
on<UserRegistered> { event ->
myService.userHasRegistered(event.user)
}
}
}
No need for HTTP (although I use it for liveness and readyness probe) but I use al the Ktor app featureschrisjenx
11/07/2025, 9:04 PMVivek Modi
11/08/2025, 7:47 AMHristijan
11/09/2025, 12:48 PM