Skip to content

fix(desktop): keep Vico package to prevent bytecode verification errors#5424

Merged
jamesarich merged 1 commit into
mainfrom
fix/windows-chart-crash
May 12, 2026
Merged

fix(desktop): keep Vico package to prevent bytecode verification errors#5424
jamesarich merged 1 commit into
mainfrom
fix/windows-chart-crash

Conversation

@jamesarich

Copy link
Copy Markdown
Collaborator

Vico does not ship consumer ProGuard rules. Without explicit keeps, ProGuard's shrinker may remove "redundant" direct super-interfaces from class implementation lists. This causes Kotlin-generated invokespecial calls to interface default methods to target an indirect super-interface, which the JVM bytecode verifier rejects as a "Bad invokespecial instruction."

  • Add -keep rules for all classes and interfaces in com.patrykandpatrick.vico.** to prevent hierarchy restructuring.

Vico does not ship consumer ProGuard rules. Without explicit keeps, ProGuard's shrinker may remove "redundant" direct super-interfaces from class implementation lists. This causes Kotlin-generated `invokespecial` calls to interface default methods to target an indirect super-interface, which the JVM bytecode verifier rejects as a "Bad invokespecial instruction."

- Add `-keep` rules for all classes and interfaces in `com.patrykandpatrick.vico.**` to prevent hierarchy restructuring.
@jamesarich jamesarich added bugfix PR tag desktop Desktop target labels May 12, 2026
@jamesarich jamesarich merged commit ab4589c into main May 12, 2026
15 of 16 checks passed
@jamesarich jamesarich deleted the fix/windows-chart-crash branch May 12, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix PR tag desktop Desktop target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant