openroberta-lab
openroberta-lab copied to clipboard
Rework binary download
Most compilers generate some form of binary which is transferred to the robot via the frontend or the /download endpoint.
For the frontend part the generated binaries are loaded into Strings serverside (base64 encoded for C4EV3 and senseBox) and passed back in the response. Then, the frontend decodes if needed (leads to ugly workarounds in progRun.controller.js) and generates a blob download link.
The /download endpoint is handled in RobotDownloadProgram and also contains a multitude of robot specific workarounds which shouldn't be present in the server project.
This should be reworked to provide a generic way to get the binary files for the frontend, Connector, create-agent and the robots themselves.