* windows-compatible getChar without buffering, option to use terminal without editing
* option to choose terminal mode, conditional compilation for Windows
* conditional extension
* add basic terminal mode (no contact insertion)
* option help
* [WIP] add instructions how to build project inside docker container
* docker run -> docker create
* add Dockerfile for building chat executable and instructions
* add instructions on how to run chat client to README
* wording
* wording
* corrections to the manual
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* separate terminal IO to separate thread via queues
* terminal input arithmetics (WIP)
* editable multiline terminal input
* print messages above input area
* support Up/Down arrows
* terminal chat: move by word, move to the beginning/end of input
* insert active contact when typing starts
* refactor inserting active contact
* highlight "to contact"
* add username to prompt
* change beginning/end of line keys to shoft-arrow
* remove unused code
* add ctrl arrow key bindings
* add comment for debugging keys in terminal
Co-authored-by: Efim Poberezkin <efim.poberezkin@gmail.com>
* add instructions on how to run chat client to README
* wording
* wording
* corrections to the manual
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* generate key pair
* crypto: sign/verify functions
* remove extension
* parse/serialize keys
* use RSA recipient/sender keys (TODO sign/verify)
* make PublicKey newtype, assign 0s to private_p & private_q
* replace SMP command parsing with Attoparsec
* rename types: Signed->Transmission, Transmission->SignedTransmission
* sign and verify commands (server tests skipped, agent tests pass)
* SMP client: avoid seralizing transmission twice when sending commands
* update SMP server tests to use command signatures
* remove support for "SEND :msg" syntax from SMP server protocol
* rename RSA module name to R to avoid confusion with C used for S.M.Crypto
* update key sizes to use bits `div` 8
* tidy up
* chat prototype
* chat prototype now compiles
* chat prototype works
* agent: respond SENT mId to SEND (instead of OK), ne repsonse to chat message in terminal
* chat prototype help, update commands
* chat CLI options
* add active contact to ChatClient (not used yet)
* refactor agentTransmission
* InviteContact -> AddContact
* automatically insert active contact
* highlight contact in chat
* name for invitations
* do not ask name on start
* change default server to smp.simplex.im