Nikolai Kondrashov
Nikolai Kondrashov
The playback logic in tlog-play is getting hairy. Refactor it for simplicity. Look at playback logic in Cockpit (https://github.com/Scribery/cockpit/blob/scribery/pkg/session_recording/player.jsx at the moment).
Throughout the code several error-handling patterns are repeated many times. Implement macros to handle the most typical cases and save on line count.
Apparently some recorded sessions can include control characters prompting the playback terminal to emulate input, which can then be interpreted by tlog-play as playback controls pausing or quitting the playback...
At the moment no SSL backend for cURL is initialized. It means that access to Elasticsearch via SSL for playback could be problematic. Figure out the proper way to initialize...
Add assert invocations validating various types of the transaction API upon function entrances, exits and otherwise.
Add assertions validating manipulated/created objects to all function exit paths as an additional consistency tracking measure.
We can possibly take screenshots for keyframes (see #87), along with cursor position, which would allow us to playback from those to get to the exact location. However, we can't...
Intel implemented [Linux support for Software Guard Extensions](https://01.org/intel-software-guard-extensions) which we might be able to use to prevent tampering with and escaping recording, by protecting both tlog and log server processes....
Research for the availability of a well-written and modular terminal emulator to embed in tlog, and have a translation for the actual terminal. Similarly to screen and tmux. If we...
In order to possibly support a location bar and playback progress display in Cockpit, when running tlog-play under the JavaScript terminal, consider injecting some terminal control sequences in tlog-play output...