Efim Poberezkin
aedba41e16
fix ghc version in build ( #36 )
2021-02-26 18:14:22 +04:00
Evgeny Poberezkin
3de4fa7518
Sign / verify SMP commands ( #37 )
...
* 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
2021-02-26 18:14:22 +04:00
Evgeny Poberezkin
5489e92e31
message management ( #32 )
...
* message management rfc
* update message management rfc
* message management ideas (WIP)
* message management updated
* messages RFC
* update agent MSG constructor to include recipient/broker/sender message IDs and timestamps
* remove agent command ACK - agent automatically acknowledges server messages
* correct messages doc
2021-02-26 18:13:04 +04:00
Evgeny Poberezkin
88e799797c
chat prototype ( #35 )
...
* 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
2021-02-26 18:13:04 +04:00
Evgeny Poberezkin
54e818bd39
Sending messages end to end ( #21 )
...
* duplex connection end-to-end (working, debug logs)
* agent: send, receive, acknowledge messages
* logging proposal
* logging: client/server (dis)connections
* agent scenario testing framework
* add tests, remove logs
* clean up
2021-02-26 18:11:22 +04:00
Efim Poberezkin
8e52d78cf2
ci: cache dependencies ( #11 )
2021-02-26 18:09:26 +04:00
Evgeny Poberezkin
0720d20218
Merge pull request #1 from simplex-chat/client
...
SMP agent implementation
2021-01-12 08:45:38 +00:00
Evgeny Poberezkin
062934ec1e
readme: link to releases
2021-01-11 19:25:37 +00:00
Evgeny Poberezkin
8be832689a
rename workflow, build/version badges
2021-01-11 19:23:36 +00:00
Evgeny Poberezkin
1c2ac43a13
rename workflow, build/version badges
2021-01-11 19:23:36 +00:00
Evgeny Poberezkin
eede6c5da9
readme: released version link
2021-01-11 19:14:54 +00:00
Efim Poberezkin
986e44abbe
GitHub workflow for tests ( #7 )
...
* ci: add github workflow for tests
* ci: break test
* ci: fix folder name
* ci: fix test
* ci: break test
* fix test
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
2021-01-11 22:21:35 +04:00
Evgeny Poberezkin
162af5c60c
Merge pull request #2 from simplex-chat/correlation-id
...
add corellationId to SMP protocol server (WIP)
2020-12-28 16:56:03 +00:00
Evgeny Poberezkin
df181bb0f0
docs: add correlation IDs to examples
2020-12-28 16:28:57 +00:00
Evgeny Poberezkin
b399ee78da
update readme
2020-10-22 14:13:06 +01:00
Evgeny Poberezkin
d6d23bcac9
update protocol to use term "queue" to mean "SMP connection", CONN -> NEW
2020-10-22 11:29:48 +01:00
Evgeny Poberezkin
9b3c63deaa
readme corrections
2020-10-18 21:31:51 +01:00
Evgeny Poberezkin
11580d9938
docs: readme, system design
2020-10-18 21:28:37 +01:00
Evgeny Poberezkin
d0b959168a
LF -> CRLF
2020-10-18 12:50:14 +01:00
Evgeny Poberezkin
6ad32cf7cf
corrections
2020-10-17 21:58:03 +01:00
Evgeny Poberezkin
5e19d9a801
add subscription END notification, corrections
2020-10-17 21:09:49 +01:00
Evgeny Poberezkin
f8b9c5937c
change command names and errors
2020-10-15 15:47:47 +01:00
Evgeny Poberezkin
662717a25b
initial
2020-10-11 11:00:25 +01:00
Evgeny Poberezkin
4d6fce970a
update syntax
2020-10-10 22:16:36 +01:00
Evgeny Poberezkin
59b475a5cd
unify and simplify SMP ( #38 )
...
* unify and simplify SMP
* use cameCase in ABNFs
* update diagrams
* update ABNF RFC
* update protocol syntax
* table of contents
2020-10-10 21:47:17 +01:00
Evgeny Poberezkin
722286e495
Update readme.md
2020-10-08 08:00:44 +01:00
Evgeny Poberezkin
82570826ca
Create FUNDING.yml
2020-09-30 20:11:57 +01:00
Evgeny Poberezkin
53d598cdc2
Connection type ( #36 )
...
* use protocol package
* Connection, Invitation types
* remove idris code
2020-07-16 19:32:36 +01:00
Evgeny Poberezkin
3d7992835f
rename to runProtocol, remove ProtocolCmd constructor export
2020-07-12 19:13:45 +01:00
Evgeny Poberezkin
f97a7885a0
refactor protocol interpreter
2020-07-12 19:02:56 +01:00
Evgeny Poberezkin
9eec22ca43
rename type paarameters
2020-07-12 15:18:32 +01:00
Evgeny Poberezkin
bedcd0fa50
stack error messages
2020-07-12 10:36:00 +01:00
Evgeny Poberezkin
ac79fe45c2
print allow comments
2020-07-12 10:28:13 +01:00
Evgeny Poberezkin
85b10f08ae
unused pragma
2020-07-12 09:48:00 +01:00
Evgeny Poberezkin
2b07f80828
all parties have resource state of the same kind
2020-07-12 09:45:55 +01:00
Evgeny Poberezkin
cf3afbac8a
style: split lines
2020-07-11 20:40:34 +01:00
Evgeny Poberezkin
616e39eda2
Merge branch 'master' of github.com:simplex-chat/protocol
2020-07-11 20:38:05 +01:00
Evgeny Poberezkin
b5a04ad178
Control.Protocol ( #35 )
...
* polysemy effects
* exctract Protocol abstraction
* refactor: use Control.Protocol
* better type errors
2020-07-11 20:27:23 +01:00
Evgeny Poberezkin
36d12a505b
polysemy effects
2020-07-11 12:30:01 +01:00
Evgeny Poberezkin
7b7f4b23ff
refactor: AllowedStates
2020-07-10 16:01:41 +01:00
Evgeny Poberezkin
283eacd9a5
stricter Enabled
2020-07-10 14:50:52 +01:00
Evgeny Poberezkin
b19b5be50e
refactor: group Command parameters, do syntax in scenarios
2020-07-10 12:36:14 +01:00
Evgeny Poberezkin
063b7286e2
refactor: make Protocol a freer parameterized monad
2020-07-10 11:54:09 +01:00
Evgeny Poberezkin
cffb8bd11a
refactor: make Protocol closer to parameterized monad
2020-07-10 11:13:01 +01:00
Evgeny Poberezkin
d74c109328
use ExceptT
2020-05-31 22:37:08 +01:00
Evgeny Poberezkin
cc55bf3e6b
Different approach to commands ( #34 )
...
* different approach to command types (WIP)
* PartyProtocol class and other commands
* pretty-print scenarion
* remove old files
* remove unused prf/predicate templates
* remove NoImplicitePrelude from doctest (although there are no doctests atm)
2020-05-31 21:51:15 +01:00
Evgeny Poberezkin
dc7835992c
remove Drained state
2020-05-25 09:20:22 +01:00
Evgeny Poberezkin
bdec751725
Instance template ( #33 )
...
* protocol instance template [WIP]
* protocol instances template
* add methods to check correctness of participant types in protocol TH
* PushConfirm and and PushMsg implementation types
* check Command type + doctest
2020-05-14 21:30:37 +01:00
Evgeny Poberezkin
aa2ac80cf9
simplify predicate template
2020-05-13 11:47:24 +01:00
Evgeny Poberezkin
a9565a5754
predicate template to add Auto instances
2020-05-12 19:27:08 +01:00