meteor-client icon indicating copy to clipboard operation
meteor-client copied to clipboard

Transition to classgraph lib for reflections

Open Big-Iron-Cheems opened this issue 2 months ago • 1 comments

Type of change

  • [ ] Bug fix
  • [x] New feature

Description

Replace the Reflections lib with Classgraph, as the former is unmaintained. PacketUtilsUtil was rewritten such that the file is written all at once, leveraging Java NIO utils. Order of the packets is still the same as before.

Related issues

None.

How Has This Been Tested?

Loading several 1.21.10 addons and running PacketUtilsUtil.

Checklist:

  • [x] My code follows the style guidelines of this project.
  • [x] I have added comments to my code in more complex areas.
  • [x] I have tested the code in both development and production environments.

Big-Iron-Cheems avatar Nov 11 '25 12:11 Big-Iron-Cheems

Possible PR blocker.

While this worked fine on my Windows machine, it causes a crash on my Linux one. A double free in meteordevelopment.meteorclient.gui.renderer.packer.TexturePacker.Image#free seems to trigger when trying to load Catpuccin-Addon.

Attached are, in the following order:

I believe this was a latent bug that Classgraph made easier to trigger, but verification is needed. Considering this PR doesn't change this code, it could be possible.

Big-Iron-Cheems avatar Nov 12 '25 12:11 Big-Iron-Cheems

This should fix all the previous issues, more testing is appreciated.

Big-Iron-Cheems avatar Dec 17 '25 14:12 Big-Iron-Cheems