From 35a5cb47d978d0d49ef3b3d9c5482e185fab4e80 Mon Sep 17 00:00:00 2001 From: Butterscotch! Date: Wed, 10 Dec 2025 19:07:54 -0500 Subject: [PATCH 1/2] Disable Android obfuscation --- server/android/proguard-rules.pro | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/android/proguard-rules.pro b/server/android/proguard-rules.pro index d57ca20d4..45898c960 100644 --- a/server/android/proguard-rules.pro +++ b/server/android/proguard-rules.pro @@ -33,3 +33,6 @@ -dontwarn io.netty.** -dontwarn com.typesafe.** -dontwarn org.slf4j.** + +# Obfuscation is fine but it makes crash logs unreadable, we don't really need it for our app +-dontobfuscate From 8acba98bcc3c96e66d98fdd57be3b994afbbf3a1 Mon Sep 17 00:00:00 2001 From: Butterscotch! Date: Wed, 10 Dec 2025 21:23:38 -0500 Subject: [PATCH 2/2] Temporarily disable Proguard optimization --- server/android/proguard-rules.pro | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/server/android/proguard-rules.pro b/server/android/proguard-rules.pro index 45898c960..43d7e51ae 100644 --- a/server/android/proguard-rules.pro +++ b/server/android/proguard-rules.pro @@ -26,7 +26,7 @@ -dontwarn reactor.blockhound.integration.BlockHoundIntegration -keep class io.ktor.** { *; } --keep class io.netty.** {*; } +-keep class io.netty.** { *; } -keep class kotlin.reflect.jvm.internal.** { *; } -keep class kotlinx.coroutines.** { *; } -dontwarn kotlinx.atomicfu.** @@ -34,5 +34,29 @@ -dontwarn com.typesafe.** -dontwarn org.slf4j.** +# Proguard configuration for Jackson 2.x +# https://github.com/FasterXML/jackson-docs/wiki/JacksonOnAndroid +#-keep class java.beans.** { *; } +#-dontwarn java.beans.** +# +#-keep class com.fasterxml.jackson.** { *; } +#-dontwarn com.fasterxml.jackson.databind.** +# +#-keep class com.github.jonpeterson.jackson.** { *; } +# +#-keepclassmembers class * { +# @com.fasterxml.jackson.annotation.* *; +#} + +# Proguard configuration for SnakeYAML 2.X +#-keep class org.yaml.snakeyaml.** { *; } +#-dontwarn org.yaml.snakeyaml.** + +# Don't mess with SlimeVR config, the class structure is essential for serialization +-keep class dev.slimevr.config.** { *; } + # Obfuscation is fine but it makes crash logs unreadable, we don't really need it for our app -dontobfuscate + +# Temporary measure to keep config functional, beware Jackson issues if removing!! +-dontoptimize