* remove current user name
* rename /accept to /connect, remove /chat, add /reset, allow 1-letter abbreviations
* update help
* /delete contact, separate response for confirmation
* update invatation instruction
* unset active contact only if it is the same as current
* use System.Terminal for "editor" mode (WIP, does not work in POSIX)
* fix getKey - only return one event on control keys
* fix printing with System.Terminal
* different markdown escape for color, added black color
* fix color escapes
* make black invisible
* markdown fixes
* remove Key type, fix editor bug, refactor
* refactor: use getKey in getTermLine
* default mode is "editor", remove windows warning
* markdown: code snippet
* use ! for color markdown
* edit previous input
* clean up
* use getWindowSize from System.Terminal
* add terminal package
* basic terminal mode with utf8 support in windows
* fix terminal input in basic mode on mac
* test code
* send StyledString to ChatTerminal
* clean up
* support StyledString with System.Terminal
* minor style change
* clean up
* minor style change
* 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
* clrify encryption schemes
* increase SMP ping delay
* include authTag and msg size in encrypted message header, pad messages to fixed size
* use newtype for Key and IV bytestrings
* rename CryptoError constructors
* refactor Word to Int conversion
* refactor padding, replace padding character
* rfc corrections, comment
* rename aesTagSize -> authTagSize
* failing test
* use separate db connections for each TCP client connection
* refactor atomically, increast delay in tests
* increase test delay for SMP server to start
* increase SMP ping frequency
* remove comment
* separate SQLite connection per thread, to support multi-threaded mode
* remove redundant import
* [WIP] add instructions how to build project inside docker container
* docker run -> docker create
* add Dockerfile for building chat executable and instructions
* 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>