notcurses
notcurses copied to clipboard
Enable detecting SyncTERM DA1 response.
SyncTERM sends CSI = Pn c not CSI ? Pn c like VT terminals. This results in notcurses hanging in init.
This required WezTerm da3 support to be removed, because the SyncTERM and WezTerm responses could not both exist in the automaton. As it turns out, a dig through the WezTerm git history shows that it never actually sent CSI = ... ST in response to DA3, and notcurses took no actions in response to it, so it should be safe to remove this feature.
is SyncTERM used? the webpage looks pretty ... unmaintainted.
good work either way, nice investigation.
Yeah, it's used (and designed) as a client for BBSs. The web page was recently (within the last month) updated to incorporate all the important feedback from the users. Even I don't use it as a general-purpose terminal emulator since it's explicitly not VT-compatible, and it doesn't support Unicode (though I may do that soon).
I whipped it up to scratch my own itch, and am constantly surprised that other people use it too. A new version will be released "Really Soon Now". Only reason I became aware of the issue is because a user accused SyncTERM of hanging. :smile:
Some more background, this is affecting this game: https://dev.sqt.wtf/cgit/cyan/fernandotel/.git/tree/ Which was written as a BBS door for notcurses direct mode, but it can't run on Syncterm, which is arguably the most popular BBS terminal today.
sorry, forgot all about this. i'll try hard to look into this asap!
I'll let Deuce chime in more with that one, but my understanding is they overlapped in the automaton (that is to say, they both couldn't be detected independently), and after reviewing the wezterm code along with its history, it looks like it never responded to DA3 with CSI = ... ST