See if we can use a terminal emulator library in tlog, which would present a single terminal type to the user, while translating its protocol to the protocol of the terminal we run under. Then we'll be able to record the I/O in that single protocol the library uses and thus normalize the recorded data.
That in turn will greatly simplify playback, as we won't need to implement support for playback of all the terminal protocols users can use (although there aren't that many of them nowadays), or will use. That will also help us normalize searching and make it more predictable, plus allow for easier analysis of the recorded data.
On tlog-play side, we will also need to use that library to translate the recording to the protocol of the actually used terminal.
One possibility can be using libvterm which is present in Debian and Fedora, but not yet in RHEL. It was already used to implement at least a couple terminal emulators.
See if we can use a terminal emulator library in tlog, which would present a single terminal type to the user, while translating its protocol to the protocol of the terminal we run under. Then we'll be able to record the I/O in that single protocol the library uses and thus normalize the recorded data.
That in turn will greatly simplify playback, as we won't need to implement support for playback of all the terminal protocols users can use (although there aren't that many of them nowadays), or will use. That will also help us normalize searching and make it more predictable, plus allow for easier analysis of the recorded data.
On tlog-play side, we will also need to use that library to translate the recording to the protocol of the actually used terminal.