1# --- kotlinx.serialization ---
2# The plugin generates serializers; keep them and the $$serializer companion members.
3-keepattributes *Annotation*, InnerClasses, Signature, Exceptions
4-dontnote kotlinx.serialization.**
5-keepclassmembers class soy.iko.opencode.** {
8-keepclasseswithmembers class soy.iko.opencode.** {
9 kotlinx.serialization.KSerializer serializer(...);
11# Keep @Serializable classes themselves so their generated serializers can reference them.
12-keep,includedescriptorclasses class soy.iko.opencode.**$$serializer { *; }
13-keepclassmembers class soy.iko.opencode.** {
16# Keep the serializable model classes (reflection-free serializer lookup needs the class).
17-keep @kotlinx.serialization.Serializable class soy.iko.opencode.data.model.** { *; }
19# --- Ktor / OkHttp (HTTP client + SSE) ---
20# Don't warn about missing optional dependencies; keep only the classes that are
21# accessed via reflection (Ktor engine registration, OkHttp internals that R8
22# would otherwise strip). Narrow keeps instead of `-keep class io.ktor.** { *; }`
23# so R8 can still eliminate dead code and shrink the APK.
28-dontwarn org.jetbrains.annotations.**
29# Ktor loads engines and plugins via ServiceLoader — keep the service files.
30-keep class io.ktor.client.engine.** { *; }
31-keep class io.ktor.client.plugins.** { *; }
32-keep class io.ktor.serialization.** { *; }
33-keep class io.ktor.http.** { *; }
34# OkHttp uses reflection for platform detection and internal classes.
35-keep class okhttp3.internal.platform.** { *; }
36-keep class okhttp3.** { *; }
37-keep class okio.** { *; }
39# --- Coil (image loading) ---
40# Coil uses reflection for loadable decoders and the Compose integration.
41-keep class coil.** { *; }
42-keep class coil3.** { *; }
45# --- androidx.security.crypto pulls in Tink, which references compile-only
46# com.google.errorprone annotations. They aren't on the runtime classpath.
47-dontwarn com.google.errorprone.annotations.**
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list