From caa26693b858e8597fdb7ad142a19310e4031c12 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 3 Mar 2026 21:48:16 +0000 Subject: [PATCH 1/2] chore(deps): update wire to v6.0.0-alpha03 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 86446fc332..d8329ad2f1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -55,7 +55,7 @@ markdownRenderer = "0.39.2" okio = "3.16.4" osmdroid-android = "6.1.20" spotless = "8.3.0" -wire = "6.0.0-alpha02" +wire = "6.0.0-alpha03" vico = "3.0.2" dependency-guard = "0.5.0" nordic-ble = "2.0.0-alpha15" From 1f05940da5e0ce1591157f31d38865baa97c0e44 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Tue, 3 Mar 2026 17:58:19 -0600 Subject: [PATCH 2/2] perf: disable Wire immutable copies Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com> --- core/proto/build.gradle.kts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/proto/build.gradle.kts b/core/proto/build.gradle.kts index f68a00a6d9..615074efc0 100644 --- a/core/proto/build.gradle.kts +++ b/core/proto/build.gradle.kts @@ -28,7 +28,7 @@ kotlin { jvm() // Override minSdk for ATAK compatibility (standard is 26) - androidLibrary { minSdk = 21 } + android { minSdk = 21 } sourceSets { commonMain.dependencies { api(libs.wire.runtime) } } } @@ -39,6 +39,10 @@ wire { srcDir("src/main/wire-includes") } kotlin { + // Wire 6 optimization: Avoid unnecessary immutable copies of repeated/map fields. + // Improves performance by reducing allocations when decoding/creating messages. + makeImmutableCopies = false + // Flattens 'oneof' fields into nullable properties on the parent class. // This removes the intermediate sealed classes, simplifying usage and reducing method count/binary size. // Codebase is already written to use the nullable properties (e.g. packet.decoded vs