Commit Graph

2158 Commits

Author SHA1 Message Date
Evgeny Poberezkin
cc4cb78209
subscribe all user contacts and group members (#85) 2021-07-25 20:23:52 +01:00
Evgeny Poberezkin
488df1aa3c
refactor groups (#84)
* refactor groups

* disable chat test

* remove comments
2021-07-24 18:11:04 +01:00
Evgeny Poberezkin
189cd7e09d
core chat groups protocol for adding members (#78)
* 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
2021-07-24 10:26:28 +01:00
Nikita Poberezkin
94f89ed8f7
merge master to v4 (#83)
* 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>
2021-07-24 09:57:10 +01:00
Nikita Poberezkin
3c942f6f3e
create appDir if absent (#79) 2021-07-23 07:41:10 +01:00
Evgeny Poberezkin
f1a44383fa
chat groups: establish connection between host and invitee members (#77)
* 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
2021-07-16 07:40:55 +01:00
Evgeny Poberezkin
e9d931059b
use shared namespace for usernames, contact names and group names (#76)
* 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
2021-07-14 20:11:41 +01:00
Evgeny Poberezkin
e99c4bda1e
started chat groups protocol (#75)
* 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
2021-07-12 19:00:03 +01:00
Evgeny Poberezkin
24c62584fc
simplify chat protocol (#74)
* groups protocol and some group commands

* simplify chat message format, refactor types to include parsed message body

* disable chat test
2021-07-11 12:22:22 +01:00
Evgeny Poberezkin
44496bc003
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>
2021-07-07 22:58:53 +01:00
Evgeny Poberezkin
d21abbdec1
chat test with VirtualTerminal (#72)
* chat test with VirtualTerminal

* disable chat test

* fix intermittently failing test

* simplify test
2021-07-07 22:46:38 +01:00
Evgeny Poberezkin
25ac250d37
use chat message format to pass profile information, refactor (#71) 2021-07-06 19:07:03 +01:00
Evgeny Poberezkin
85727bfbf1
move files to src folder (to allow testing) (#70) 2021-07-05 20:05:07 +01:00
Evgeny Poberezkin
58889be83d
establish connection using user profiles (#69)
* 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
2021-07-05 19:54:44 +01:00
Evgeny Poberezkin
2f604d91ba
use chat protocol and contacts in chat commands/messages (#66)
* 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
2021-07-04 18:42:24 +01:00
Efim Poberezkin
c6f1858ca0
make broader check for WSL on notifications (#68) 2021-07-02 00:37:19 +10:00
Efim Poberezkin
321f4bbe9d
update ghc version to 8.10.4 for Docker build (#67) 2021-07-01 00:37:47 +10:00
Evgeny Poberezkin
c3d5797a0b Merge branch 'master' into v4 2021-06-26 20:20:33 +01:00
Nikita Poberezkin
32d90580e7
desktop notifications (#64)
* send notifications

* support for linux notifications (draft)

* add support for linux, win (draft) and wsl (draft) notifications

* add support for windows/wsl notifications

* add unix to extra-deps

* add alternative linux notification method

* remove unused cpp conditions

* fix notification commands for win/lin

* remove dbus package and code

* remove fdo-notify from extra-deps

* move script running logic to common method + add lacking quotes

* remove unrelated workspace file

* corrections

Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
2021-06-26 19:48:08 +01:00
Evgeny Poberezkin
5a2ded775d
rename app folder (#63)
* rename app folder

* clean up package.yaml
2021-06-25 18:34:29 +01:00
Evgeny Poberezkin
eb2404c9ce
simplex-chat schema, refactor chat to use SMP agent functions (#62)
* chat messages namespace and types

* initial schema (WIP)

* schema for messages (WIP)

* fix schema, add migrations, remove broadcast

* simplex-chat spike (WIP)

* chat client design

* update chat schema

* more chat schema updates

* simplex-chat app structure

* chat app layout demo

* update schema

* refactor dog-food (WIP)

* refactor / simplify

* refactor output of sent message to avoid separate parsing

* refactor inputSubscriber

* remove unused simplex-chat code

* update simplexmq commit

* update schema

* remove ncurses
2021-06-25 18:18:24 +01:00
Evgeny Poberezkin
4232f73ed2
support ad-hoc groups (broadcasts) (#61)
* support ad-hoc groups (broadcasts)

* fake group chat

* use simplexmq latest
2021-06-10 20:34:52 +01:00
Efim Poberezkin
e4f3414b0b
add missing dot (#58) 2021-05-16 18:58:19 +04:00
Evgeny Poberezkin
d4ecd27067
add gif to readme (#59) 2021-05-12 19:33:50 +01:00
Evgeny Poberezkin
723c787edc
0.3.1 (#57) 2021-05-10 19:49:21 +01:00
Evgeny Poberezkin
8f69d176c7
move Markdown from simplexmq (#56)
* move Markdown from simplexmq

* update simplexmq
2021-05-09 10:53:18 +01:00
Evgeny Poberezkin
36a34eed4a
update for SMP agent protocol 0.3.1 - SMP servers are in agent config… (#53)
* update for SMP agent protocol 0.3.1 - SMP servers are in agent config, not in commands

* remove explicit server port

* update simplexmq
2021-05-09 07:56:44 +01:00
Efim Poberezkin
7c0cd342cc
show message timestamps (#55) 2021-05-08 14:49:17 +04:00
Evgeny Poberezkin
73a3b2f351
add link to motivation (#54)
* motivation

* readme correction

* corrections

* correction

* corrections

Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com>
2021-05-07 08:03:47 +01:00
Mark Aleksander Hil
701e120e9a
edit readme, add images and table of contents (#52)
* Edited text, added images and table of contents

* readme corrections

* change win command to forward slashes

* readme corrections

Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com>
2021-05-06 18:37:47 +01:00
Efim Poberezkin
822c9bbd3a
clean up docs (#51)
* clean up docs

* restore simplex.md
2021-05-04 21:36:25 +01:00
Efim Poberezkin
eb44fb24e8
print chat version on start (#50) 2021-05-04 21:20:17 +04:00
Evgeny Poberezkin
bf86904e97 0.3.0 2021-05-04 08:47:02 +01:00
Evgeny Poberezkin
2b4399b57f
optionally show message integrity violations (#49)
* optionally show message integrity violations

* remove message integrity option
2021-05-04 06:37:30 +01:00
Evgeny Poberezkin
7ae6b64a99
change contact color (#48) 2021-05-03 21:44:50 +01:00
Evgeny Poberezkin
d9aee80b42
update simplexmq (#47) 2021-05-03 16:13:22 +01:00
Evgeny Poberezkin
103595a8e8
simplex-chat readme (#46)
* simplex-chat readme

* add convenience folders

* readme corrections

Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com>
2021-05-03 14:15:12 +01:00
Evgeny Poberezkin
9b3efbabbe Merge branch 'master' of simplexmq (README.md, Dockerfile) 2021-05-03 07:47:43 +01:00
Evgeny Poberezkin
734ca2977a rename readme.md to simplex.md 2021-05-02 22:17:45 +01:00
Evgeny Poberezkin
a1f86bf4a7 Merge branch 'master' (.github folder) of simplexmq 2021-05-02 21:37:18 +01:00
Evgeny Poberezkin
8938a71ac6 move workflows 2021-05-02 21:33:45 +01:00
Evgeny Poberezkin
577d593f67
package.yaml, chat dependencies (#45) 2021-05-02 21:26:25 +01:00
Evgeny Poberezkin
2362fd5d29 Merge branch 'master' of simplexmq 2021-05-02 20:42:28 +01:00
Evgeny Poberezkin
f7d561e9ea move chat files to src 2021-05-02 20:40:13 +01:00
Efim Poberezkin
539e09f8cd
docs, smp: align with implementation (#43)
* 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>
2021-05-02 19:15:40 +01:00
Evgeny Poberezkin
1c85c4a379
SMP agent protocol commands semantics (#44) 2021-05-02 18:47:16 +01:00
Evgeny Poberezkin
b992b00223 Merge branch 'master' into v2 2021-05-02 11:23:41 +01:00
Efim Poberezkin
6a589688c6 agent: verify msg integrity based on previous msg hash and id (#110)
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
2021-05-02 00:38:32 +04:00
Evgeny Poberezkin
28b7d01117 reduce help size (#113) 2021-04-30 09:06:59 +01:00
Mark Aleksander Hil
8aaf0df8e7 Updated ChatHelpInfo (#112) 2021-04-29 10:27:07 +01:00