xenoscopic / xeno

Synchronous remote file editing using SSH and Git
Other
94 stars 11 forks source link

"Xeno ssh" and initialize tag doesn't always work. #3

Closed Yeraze closed 10 years ago

Yeraze commented 10 years ago

When working with tmux or screen over ssh, the initialize tag is dumped to the screen but not reconized by xeno.

xenoscopic commented 10 years ago

Sorry to take so long getting back to this, I've been away for holidays and moving.

xeno is actually known not to work with tmux/screen, I suppose I should list this under known issues. The main problem is that both programs consistently erase/re-write the entire terminal, so multiple init messages come through and confuse the client. Also, I think that both of these programs also split up lines based on terminal width, so I suspect that the init message is divided with a \n in it or something if the terminal is not wide enough to contain the entire message.

I'm not really sure how to fix this to be honest. xeno-ssh's monitoring is sort of a hack as is, perhaps it needs to be made more elegant before this can be fixed. In the mean time, just doing a client-side launch with xeno-edit should work.

If you have any ideas on how to fix this, I'm very open to suggestions, as I often use tmux and would like this to work. I'll keep thinking on it.

Yeraze commented 10 years ago

The only idea that comes to mind is to piggyback a randomly generated SSH tunnel/forward onto the connection, and use that for synchronization.

Maybe use a smaller initialization message, possibly break it into a series of tiny packets so that you can see the "Begin" packet, then process the rest with some error correction/checking.

xenoscopic commented 10 years ago

This should be fixed in https://github.com/havoc-io/xeno/pull/9.