Skip to content

Restore Android record deserialization fallback in TrackableSerializer#10595

Merged
tool4ever merged 1 commit intoCard-Forge:masterfrom
MostCromulent:fix-trackableserializer-record-uid
May 4, 2026
Merged

Restore Android record deserialization fallback in TrackableSerializer#10595
tool4ever merged 1 commit intoCard-Forge:masterfrom
MostCromulent:fix-trackableserializer-record-uid

Conversation

@MostCromulent
Copy link
Copy Markdown
Contributor

@MostCromulent MostCromulent commented May 4, 2026

Fixes #10590

Restores the readClassDescriptor() fallback that #10304 added for Android's record-vs-JVM serialVersionUID mismatch. The fallback was accidentally dropped when #10343 replaced GameEventProxy with TrackableSerializerresolveObject got carried over, the descriptor override did not.


🤖 Generated with Claude Code

<!-- -->Card-Forge#10343 replaced GameEventProxy with TrackableSerializer but did not
carry forward the readClassDescriptor() override added in <!-- -->Card-Forge#10304.
Android's D8 desugars records to regular classes with computed
serialVersionUIDs, while the JVM hardcodes 0L for records — so every
GameEvent now fails to deserialize on Android clients in cross-platform
network play (visible as "TrackableSerializer: Failed to unwrap event:
... local class incompatible: stream classdesc serialVersionUID = 0,
local class serialVersionUID = ..." warnings).

Re-applies the same pattern used in CObjectInputStream and the deleted
GameEventProxy: when the stream's UID disagrees with the local class
UID, fall through to the local descriptor.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@MostCromulent MostCromulent force-pushed the fix-trackableserializer-record-uid branch from b1a26f3 to 2a36c9c Compare May 4, 2026 04:03
@MostCromulent MostCromulent requested a review from tool4ever May 4, 2026 04:04
@tool4ever tool4ever merged commit 830957a into Card-Forge:master May 4, 2026
2 checks passed
@MostCromulent MostCromulent deleted the fix-trackableserializer-record-uid branch May 4, 2026 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nothing is displaying on mobile network play

2 participants