asciinema / asciinema-server

Platform for hosting and sharing terminal session recordings
https://docs.asciinema.org/manual/server/
Apache License 2.0
2.31k stars 266 forks source link

Use vt-rs for generating snapshots (thumbnails) #356

Closed ku1ik closed 4 years ago

ku1ik commented 4 years ago

This replaces old VT (virtual terminal) used for generating asciicast snapshots (thumbnails) with a new, Rust one.

Previous one was based on vt which was compiled to JS (with ClojureScript compiler) and ran with Node.js.

The new one is based on vt-rs (re-implementation of prev one in Rust), which is roughly 50x faster, and is implemented as Erlang NIF extension (FFI / native interface). A nice side effect is that we don't need Node.js in the production build anymore, which shaves off ~50 MB from the Docker image :)