Interrupt Chat
"Realtime" interruptible chatting in the terminal
Idea
kind of like speech rather than im/zulip/email in that...
- what you say is observed by others as its produced
- people can interrupt one another
- what you say doesn't stay observable for long
- (so you have to listen and pay attention)
want
- Immediacy: see what you type right away
- Consistency: everyone should see the same thing
- Integrity: reports of what you typed don't alter
(some sort of "ici thoerem": can't have all of these)
How it works
- client terminal: raw mode without echo
- UDP sockets
- client sends each keypress with timestamp to server
- server checks timestamp, ignores old from client
- server updates state: recent chat, names, speaker
- server updates all clients with new state
- client checks timestamp, ignores old from server
- client updates terminal with new state
Live Demo...
Thanks!
project github: https://github.com/bebebebebe/Interrupt