* add category and local display name to group members, extend member status
* additional chat commands, serialization
* parse all chat messages
* draft group protocol implementation
* group protocol: connect new member to existing members (TODO fix race condition with contact connection)
* send/receive group messages (race condition still there - the 3rd member cannot send either group or direct messages to the 2nd member - CONN SIMPLEX)
* send x.grp.mem.info and x.ok in SMP confirmation
* fix host user adding new member, update simplexmq to fix sqlite concurrency, remove logs, make # optional in chat commands
* more precise view messages about members joining and connecting
* track connection status; only send messages to active members (TODO change to current members); group name autocomplete after joining the group
* track via which group the contact was added; show only one message when a contact fully connected; group tests
* test sending messages to the new direct contacts created via the group
* update simplexmq to include .cabal file
* remove unused import
* update ghc version to 8.10.4 for Docker build (#67)
* make broader check for WSL on notifications (#68)
* update readme: network topology and disclaimer on encryption design (#73)
* update readme with the disclaimer on encryption design and explanation of the network topology
* corrections
* remove old disclaimer
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com>
* create appDir if absent (#79)
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com>
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* create group after invitation
* add group invitation to db, show sent and received group invitations
* test creating group and sending invitation
* establish group connections (WIP)
* connect user to the inviter, notification, member classification
* test adding same contact, add display_names table and functions
* rename display_name -> full_name
* use shared namespace for usernames, contact names and group names
* create group
* add user as member, store methods to get group and to create group member
* add group member and send member invitation
* fix ci: use simplexmq from github
* chat protocol: create SMP agent connection when inviting member
* update protocol, started group invitation receiving
* update readme with the disclaimer on encryption design and explanation of the network topology
* corrections
* remove old disclaimer
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com>
* establish connection using user profiles (TODO: delete contact and send message)
* delete contact and send message with the updated schema
* comment
* refactor, remove old code
* chat types, chat protocol syntax idea
* chat message syntax, raw message type
* chat message format and parsing
* raw chat message parsing test
* add message parsing tests
* interpret RawChatMessage
* use chat message format when sending messages
* save contacts and related connections to DB (WIP)
* use contacts in all chat commands (add, connect, send, delete)
* use contacts when receiving messages and notifications
* handle contact not found error
* automatically accept connection when CONF is received from the agent
* adjust out-of-band message abnf
* define hostname and encoded using prose-val
* elaborate on base64
* corrections up to SMP procedure
* fix CONN -> NEW
* update SMP protocol to align with the implementation
* remove Possible extensions from TOC
* lists
* corrections
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com>