mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
fix: redact MeshLog proto secrets and centralize Compose keep-rules (#5166)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: jamesarich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
7f1ea28d47
commit
5eba7e4dce
4 changed files with 52 additions and 17 deletions
|
|
@ -177,3 +177,24 @@
|
|||
|
||||
# Core model classes (used in serialization, Room, and Koin injection)
|
||||
-keep class org.meshtastic.core.model.** { *; }
|
||||
|
||||
# ---- Compose Runtime & Animation --------------------------------------------
|
||||
|
||||
# Defence-in-depth: prevent tree-shaking of Compose infrastructure classes that
|
||||
# are referenced indirectly through compiler-generated state machines. Applies
|
||||
# to BOTH R8 (Android app) and ProGuard (desktop distribution).
|
||||
#
|
||||
# Why shared: CMP 1.11 ships consumer rules with -assumenosideeffects on
|
||||
# Composer.<clinit>() / ComposerImpl.<clinit>() and -assumevalues on
|
||||
# ComposeRuntimeFlags / ComposeStackTraceMode. If the optimizer runs (R8 full
|
||||
# mode on Android, ProGuard with optimize.set(true) on desktop) these call
|
||||
# sites can be rewritten even when the target classes are kept, causing the
|
||||
# recomposer / frame-clock / animation state machines to silently freeze on
|
||||
# the first frame. -dontoptimize (set per-host) is the primary defence; these
|
||||
# keep rules are a safety net against future toolchain changes. See #5146.
|
||||
-keep class androidx.compose.runtime.** { *; }
|
||||
-keep class androidx.compose.ui.** { *; }
|
||||
-keep class androidx.compose.animation.core.** { *; }
|
||||
-keep class androidx.compose.animation.** { *; }
|
||||
-keep class androidx.compose.foundation.** { *; }
|
||||
-keep class androidx.compose.material3.** { *; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue