Xpra-org / xpra-html5

HTML5 client for Xpra
Mozilla Public License 2.0
218 stars 57 forks source link

modernize the html5 client #16

Open totaam opened 5 years ago

totaam commented 5 years ago

The code is old and ugly. We should take advantage of modern browser technologies to cleanup the code.

totaam commented 5 years ago

Some useful pointers:

Other html5 tickets worth looking into:

totaam commented 5 years ago

I'm not getting any help on this, and I still firmly believe that JavaScript is an awful language. So don't expect miracles.

totaam commented 5 years ago

2019-08-20 12:45:15: Praecantatio commented


All is not yet lost: there are two forks with potential:

https://github.com/andersevenrud/xpra-html5-client

https://github.com/sagemathinc/cocalc/blob/master/src/smc-webapp/frame-editors/x11-editor/xpra/README.md

For even greater performance and speed, might want to consider WASM and WebRTC

totaam commented 4 years ago

For even greater performance and speed, might want to consider WASM and WebRTC

FWIW:

totaam commented 4 years ago

2020-02-19 18:28:07: Praecantatio commented


Why not WebRTC?

totaam commented 3 years ago

Why not WebRTC?

Maybe one day: Xpra-org/xpra#1338 WebTransport is a much better fit: #143

totaam commented 3 years ago

Not sure this qualifies as modernizing, but switching to https://github.com/Benzinga/lz4js for lz4 greatly simplifies the codebase. From 7000 lines of unreadable JS to just 750. I merged the 3 separate files by hand to avoid the requirejs mess: we don't want asynchronous loading and the whole define function incompatibility problems that spring up everywhere because of it. And I added a utility decode function to simplify calling into lz4 since we only use it for decompressing packets with the size header.