mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-06 11:48:24 +00:00
The move to commons changed every subclass's kotlinx default serial name (the FQN), which is the polymorphic type discriminator JsonMapper writes into the per-account DEFAULT_*_FOLLOW_LIST preferences. Decode failures are swallowed by parseTopFilterOrDefault, so without this every user's ~30 saved tab selections silently reset on upgrade. @SerialName pins the old names; TopFilterSerialNameTest pins them (and legacy-JSON decoding) on JVM and iOS. Also annotate the nativeMain Address actual @Serializable to match the jvm/android actuals: @Contextual properties only get the plugin's compile-time fallback on targets whose actual is serializable, so encoding an address-carrying TopFilter threw on iOS. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011S1vbFWVVAMFDT8PTgdibV