* 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
* 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
* 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
* kill TCP server client threads when the main server thread is killed; test END notification when server connection dies
* revert to using forkIO in the tests
* make subscriptions state change atomic
* remove commented out code
* Revert "revert to using forkIO in the tests"
This reverts commit c0bacd92e4.
* handle TCP disconnections (WIP)
* agent: handle SMP server disconnections
* agent: notify client about lost subscriptions when SMP server disconnects
* comments for testing functions
* remove test apps
* chore: reorder functions in Transport
* add comment
Co-authored-by: Efim Poberezkin <efim.poberezkin@gmail.com>
* framework to parse and process agent messages
* update SMPClient functions to accept private key
* process messages (WIP)
* agent: create reply queue and send REPLY message with qInfo
* refactor agent commands
* refactor processSMPTransmission
* agent: logic to process REPLY message
* tests: check file doesn't exist in store tests after
* Revert "tests: check file doesn't exist in store tests after"
This reverts commit de624433a9.
* [WIP] tests: randomize db file
* [WIP] tests: try runIO to get filename into after
* random db file name for agent tests
* tests: randomize DB file name
* tests: increase SMP agent start delay
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* parse JOIN command
* parse JOIN command
* serialize NEW command
* parse and serialize CON response
* process JOIN command: SEND confirmation (WIP)
* process response to the confirmation from JOIN command
* remove comment