enigma icon indicating copy to clipboard operation
enigma copied to clipboard

[feature request] `enigma-server` rework

Open ix0rai opened this issue 1 year ago • 4 comments

Overhaul enigma-server, moving a lot of load away from enigma-swing and making it easier to create enigma clients. This rework has a few major goals:

  • [ ] streamline working with mappings over a server. Mappings will be entirely controlled by the host, with the client having two options to get the files:

    • [ ] request an export of the current mappings on the server
    • [ ] request an export of changes made by the client
  • [ ] make joining a server a one-step process: put in the address, put in the password, and you're set up. This means the server has to send some additional data to the client on join. Goals:

    • [ ] entirely remove the need for the client to have a jar when joining. the host will have one master jar that all clients receive information about.
    • [ ] send the client the jar index (+ the mappings index, when that's implemented)
    • [ ] send the source index
    • [ ] send the client a class tree to construct a file chooser from, to avoid the client simply being sent the full jar
  • [ ] move decompilation server-side. the host handles decompilation for all users.

    • [ ] implement a "view-only" mode for enigma-swing, where enigma-swing will still decompile each class and give the user a view-only version of the class until the server sends the true version
    • [ ] move all decompilation-related things out of enigma-swing so that they're available for all clients
    • [ ] implement a configurable "do it yourself mode", where instead of decompiling classes itself the server returns a response telling clients to do it. in this mode, the behaviour will be similar to the current behaviour. this is useful when the host is a slower computer

This plan is very early, and will definitely see changes before it begins being implemented! Please comment with any concerns or improvement ideas <3

ix0rai avatar Jun 01 '23 14:06 ix0rai