diff --git a/docs/pages/kotlinx-rpc/topics/platforms.topic b/docs/pages/kotlinx-rpc/topics/platforms.topic index 9b6cd14c8..6926037bd 100644 --- a/docs/pages/kotlinx-rpc/topics/platforms.topic +++ b/docs/pages/kotlinx-rpc/topics/platforms.topic @@ -89,7 +89,7 @@ krpc-client jvm
  • browser
  • node
  • -
  • wasmJs
  • browser
  • node
  • +
  • wasmJs
  • browser
  • node
  • wasmWasi
  • node
  • apple
  • ios
  • iosArm64
  • iosSimulatorArm64
  • iosX64
  • macos
  • macosArm64
  • macosX64
  • watchos
  • watchosArm64
  • watchosSimulatorArm64
  • watchosX64
  • tvos
  • tvosArm64
  • tvosSimulatorArm64
  • tvosX64
  • linux
  • linuxArm64
  • linuxX64
  • windows
  • mingwX64
  • @@ -97,7 +97,7 @@ krpc-core jvm
  • browser
  • node
  • -
  • wasmJs
  • browser
  • node
  • +
  • wasmJs
  • browser
  • node
  • wasmWasi
  • node
  • apple
  • ios
  • iosArm64
  • iosSimulatorArm64
  • iosX64
  • macos
  • macosArm64
  • macosX64
  • watchos
  • watchosArm64
  • watchosSimulatorArm64
  • watchosX64
  • tvos
  • tvosArm64
  • tvosSimulatorArm64
  • tvosX64
  • linux
  • linuxArm64
  • linuxX64
  • windows
  • mingwX64
  • @@ -105,7 +105,7 @@ krpc-logging jvm
  • browser
  • node
  • -
  • wasmJs
  • browser
  • node
  • +
  • wasmJs
  • browser
  • node
  • wasmWasi
  • node
  • apple
  • ios
  • iosArm64
  • iosSimulatorArm64
  • iosX64
  • macos
  • macosArm64
  • macosX64
  • watchos
  • watchosArm64
  • watchosSimulatorArm64
  • watchosX64
  • tvos
  • tvosArm64
  • tvosSimulatorArm64
  • tvosX64
  • linux
  • linuxArm64
  • linuxX64
  • windows
  • mingwX64
  • @@ -113,7 +113,7 @@ krpc-server jvm
  • browser
  • node
  • -
  • wasmJs
  • browser
  • node
  • +
  • wasmJs
  • browser
  • node
  • wasmWasi
  • node
  • apple
  • ios
  • iosArm64
  • iosSimulatorArm64
  • iosX64
  • macos
  • macosArm64
  • macosX64
  • watchos
  • watchosArm64
  • watchosSimulatorArm64
  • watchosX64
  • tvos
  • tvosArm64
  • tvosSimulatorArm64
  • tvosX64
  • linux
  • linuxArm64
  • linuxX64
  • windows
  • mingwX64
  • @@ -121,7 +121,7 @@ krpc-test jvm
  • browser
  • node
  • -
  • wasmJs
  • browser
  • node
  • +
  • wasmJs
  • browser
  • node
  • wasmWasi
  • node
  • apple
  • ios
  • iosArm64
  • iosSimulatorArm64
  • iosX64
  • macos
  • macosArm64
  • macosX64
  • watchos
  • watchosArm64
  • watchosSimulatorArm64
  • watchosX64
  • tvos
  • tvosArm64
  • tvosSimulatorArm64
  • tvosX64
  • linux
  • linuxArm64
  • linuxX64
  • windows
  • mingwX64
  • @@ -153,7 +153,7 @@ krpc-serialization-cbor jvm
  • browser
  • node
  • -
  • wasmJs
  • browser
  • node
  • +
  • wasmJs
  • browser
  • node
  • wasmWasi
  • node
  • apple
  • ios
  • iosArm64
  • iosSimulatorArm64
  • iosX64
  • macos
  • macosArm64
  • macosX64
  • watchos
  • watchosArm64
  • watchosSimulatorArm64
  • watchosX64
  • tvos
  • tvosArm64
  • tvosSimulatorArm64
  • tvosX64
  • linux
  • linuxArm64
  • linuxX64
  • windows
  • mingwX64
  • @@ -161,7 +161,7 @@ krpc-serialization-core jvm
  • browser
  • node
  • -
  • wasmJs
  • browser
  • node
  • +
  • wasmJs
  • browser
  • node
  • wasmWasi
  • node
  • apple
  • ios
  • iosArm64
  • iosSimulatorArm64
  • iosX64
  • macos
  • macosArm64
  • macosX64
  • watchos
  • watchosArm64
  • watchosSimulatorArm64
  • watchosX64
  • tvos
  • tvosArm64
  • tvosSimulatorArm64
  • tvosX64
  • linux
  • linuxArm64
  • linuxX64
  • windows
  • mingwX64
  • @@ -169,7 +169,7 @@ krpc-serialization-json jvm
  • browser
  • node
  • -
  • wasmJs
  • browser
  • node
  • +
  • wasmJs
  • browser
  • node
  • wasmWasi
  • node
  • apple
  • ios
  • iosArm64
  • iosSimulatorArm64
  • iosX64
  • macos
  • macosArm64
  • macosX64
  • watchos
  • watchosArm64
  • watchosSimulatorArm64
  • watchosX64
  • tvos
  • tvosArm64
  • tvosSimulatorArm64
  • tvosX64
  • linux
  • linuxArm64
  • linuxX64
  • windows
  • mingwX64
  • @@ -177,7 +177,7 @@ krpc-serialization-protobuf jvm
  • browser
  • node
  • -
  • wasmJs
  • browser
  • node
  • +
  • wasmJs
  • browser
  • node
  • wasmWasi
  • node
  • apple
  • ios
  • iosArm64
  • iosSimulatorArm64
  • iosX64
  • macos
  • macosArm64
  • macosX64
  • watchos
  • watchosArm64
  • watchosSimulatorArm64
  • watchosX64
  • tvos
  • tvosArm64
  • tvosSimulatorArm64
  • tvosX64
  • linux
  • linuxArm64
  • linuxX64
  • windows
  • mingwX64
  • diff --git a/krpc/gradle.properties b/krpc/gradle.properties index babad0fbe..2aec64044 100644 --- a/krpc/gradle.properties +++ b/krpc/gradle.properties @@ -3,6 +3,5 @@ # # https://github.com/oshai/kotlin-logging/issues/433 -kotlinx.rpc.exclude.wasmWasi=true kotlinx.rpc.exclude.watchosArm32=true kotlinx.rpc.exclude.watchosDeviceArm64=true diff --git a/krpc/krpc-core/src/wasmJsMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.wasm.kt b/krpc/krpc-core/src/wasmJsMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.wasm.kt index 8acc01ea0..030017bfa 100644 --- a/krpc/krpc-core/src/wasmJsMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.wasm.kt +++ b/krpc/krpc-core/src/wasmJsMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.wasm.kt @@ -6,8 +6,6 @@ package kotlinx.rpc.krpc.internal -import kotlinx.rpc.internal.utils.InternalRpcApi - internal actual class DeserializedException actual constructor( private val toStringMessage: String, actual override val message: String, diff --git a/krpc/krpc-core/src/wasmWasiMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.wasmWasi.kt b/krpc/krpc-core/src/wasmWasiMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.wasmWasi.kt new file mode 100644 index 000000000..f8d294438 --- /dev/null +++ b/krpc/krpc-core/src/wasmWasiMain/kotlin/kotlinx/rpc/krpc/internal/ExceptionUtils.wasmWasi.kt @@ -0,0 +1,25 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +package kotlinx.rpc.krpc.internal + +internal actual class DeserializedException actual constructor( + private val toStringMessage: String, + actual override val message: String, + stacktrace: List, + cause: SerializedException?, + className: String +) : Throwable() { + + override val cause: Throwable? = cause?.deserialize() + + override fun toString(): String = toStringMessage +} + +internal actual fun Throwable.stackElements(): List = emptyList() + +internal actual fun SerializedException.deserializeUnsafe(): Throwable { + return nonJvmManualCancellationExceptionDeserialize() + ?: DeserializedException(toStringMessage, message, stacktrace, cause, className) +} diff --git a/krpc/krpc-core/src/wasmWasiTest/kotlin/kotlinx/rpc/krpc/KrpcReceiveHandlerTest.wasmWasi.kt b/krpc/krpc-core/src/wasmWasiTest/kotlin/kotlinx/rpc/krpc/KrpcReceiveHandlerTest.wasmWasi.kt new file mode 100644 index 000000000..8b39cd68f --- /dev/null +++ b/krpc/krpc-core/src/wasmWasiTest/kotlin/kotlinx/rpc/krpc/KrpcReceiveHandlerTest.wasmWasi.kt @@ -0,0 +1,8 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +package kotlinx.rpc.krpc + +internal actual val stressIterations: Int = 3000 +internal actual val stressBufferSize: Int = 1500 diff --git a/krpc/krpc-ktor/gradle.properties b/krpc/krpc-ktor/gradle.properties new file mode 100644 index 000000000..b68c20f8d --- /dev/null +++ b/krpc/krpc-ktor/gradle.properties @@ -0,0 +1,5 @@ +# +# Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. +# + +kotlinx.rpc.exclude.wasmWasi=true diff --git a/krpc/krpc-test/src/wasmWasiMain/kotlin/kotlinx/rpc/krpc/test/KrpcTransportTestBase.wasmWasi.kt b/krpc/krpc-test/src/wasmWasiMain/kotlin/kotlinx/rpc/krpc/test/KrpcTransportTestBase.wasmWasi.kt new file mode 100644 index 000000000..debf06d0e --- /dev/null +++ b/krpc/krpc-test/src/wasmWasiMain/kotlin/kotlinx/rpc/krpc/test/KrpcTransportTestBase.wasmWasi.kt @@ -0,0 +1,7 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +package kotlinx.rpc.krpc.test + +internal actual val isJs: Boolean = true diff --git a/krpc/krpc-test/src/wasmWasiTest/kotlin/kotlinx/rpc/krpc/test/TransportTest.wasmWasi.kt b/krpc/krpc-test/src/wasmWasiTest/kotlin/kotlinx/rpc/krpc/test/TransportTest.wasmWasi.kt new file mode 100644 index 000000000..483c79d1e --- /dev/null +++ b/krpc/krpc-test/src/wasmWasiTest/kotlin/kotlinx/rpc/krpc/test/TransportTest.wasmWasi.kt @@ -0,0 +1,7 @@ +/* + * Copyright 2023-2025 JetBrains s.r.o and contributors. Use of this source code is governed by the Apache 2.0 license. + */ + +package kotlinx.rpc.krpc.test + +internal actual val testIterations: Int = 100 diff --git a/versions-root/libs.versions.toml b/versions-root/libs.versions.toml index 28244f478..0f12a7ab3 100644 --- a/versions-root/libs.versions.toml +++ b/versions-root/libs.versions.toml @@ -10,7 +10,7 @@ kotlin-compiler = "0.0.0" # default to kotlin-lang or env.KOTLIN_COMPILER_VERSIO detekt-analyzer = "1.23.6" coroutines = "1.10.2" ktor = "3.3.0" -kotlin-logging = "7.0.7" +kotlin-logging = "7.0.13" slf4j = "2.0.17" logback = "1.3.14" gradle-plugin-publish = "1.3.1"