sh
57fc190a91
readme: fix install steps ( #570 )
...
* readme: fix install steps
* correction
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-11-26 14:29:59 +00:00
Evgeny Poberezkin
43fb513ef7
initialize SMP server interactively, CLI options ( #566 )
...
* initialize SMP server interactively, CLI options
* correction
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
* corrections
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-11-18 19:07:41 +00:00
Evgeny Poberezkin
fbccca9947
refactor server CLIs ( #565 )
...
* refactor server CLIs
* refactor
2022-11-18 08:37:03 +00:00
Evgeny Poberezkin
40000047af
server: refactor CLIs, tests ( #564 )
...
* server: refactor CLIs, tests
* add files, test
* rename Executable -> Main
2022-11-17 19:43:01 +00:00
Evgeny Poberezkin
c2342cba05
FromJSON instance for ProtoServerWithAuth
2022-11-15 22:42:01 +00:00
Evgeny Poberezkin
f3b6ed4db0
agent API for SMP server test ( #563 )
...
* agent API for SMP server test
* add JSON encoding
2022-11-15 07:50:46 +00:00
Evgeny Poberezkin
95db734b2d
export BasicAuth constructor
2022-11-13 08:29:54 +00:00
Evgeny Poberezkin
e281efdcb8
server: SMP basic auth ( #561 )
...
* server: SMP basic auth
* update ini default
* rfc, types
* tests
* update INI file
* typo
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
* refactor
* update INI options, log new queue creation mode on start (on/off/requires auth)
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-11-12 22:29:36 +00:00
Evgeny Poberezkin
d2b88a1baa
3.4.0 ( #560 )
v3.4.0
2022-11-09 06:33:53 +00:00
Evgeny Poberezkin
8f9e6c2112
update slow commands log ( #559 )
2022-11-08 21:54:27 +00:00
JRoberts
f917c15b5e
pin ini version to 0.4.1 (fixes server ini comment parsing) ( #558 )
v3.3.1-beta.3
2022-11-03 18:22:52 +04:00
Evgeny Poberezkin
374526a11b
server: specialize monad ( #557 )
2022-11-03 11:47:28 +00:00
Evgeny Poberezkin
29b99d6716
server: additional logs for slow operations ( #556 )
...
* server: additional logs for slow operations
* more time logs
2022-11-03 13:11:53 +04:00
Evgeny Poberezkin
d33cf644f5
server: split atomically in SEND ( #555 )
2022-11-03 08:22:20 +00:00
Evgeny Poberezkin
6fc3b26970
server: time/detect blocked message delivery actions ( #546 )
...
* server: log slow operations
* v3.3.1
* base-64 encode IDs
* fixing test
* log
* log
* revert
* log
* fix
* reduce timeout
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-11-02 20:13:09 +00:00
Evgeny Poberezkin
029fc6e781
add option tagSingleConstructors to sumTypeJSON
2022-11-02 09:06:47 +00:00
JRoberts
d9a0e78b04
add optional client data field to ConnectionRequestUri ( #551 )
...
* add optional auxiliary data field to ConnectionRequestUri
* remove import
* fix, test
* fix StrEncoding Char
* data only in sync command, type
* fixing
* queryParamStr
* safeDecodeUtf8
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-11-01 13:42:44 +04:00
Evgeny Poberezkin
4beaafa35a
add queue directions to SWITCH events ( #553 )
2022-11-01 08:44:32 +00:00
Evgeny Poberezkin
561649a498
add JSON instances for SwitchPhase ( #552 )
2022-10-31 17:09:01 +00:00
Evgeny Poberezkin
8d9816809f
simplify queue rotation protocol ( #550 )
...
* simplify queue rotation protocol
* use simplified rotation protocol, update tests
* simplify schema
* delete all connection queues
* refactor
* switch notifications to the new queue, tests
* remove TODO
* refactor
* rfc correction
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
* remove duplicate set active
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-10-31 13:33:28 +04:00
Evgeny Poberezkin
eb5c1c78cb
connection queue redundancy and rotation ( #521 )
...
* rfc: queue rotation
* update rfc
* messages for queue rotation
* allow multiple subscribed queues per connection in Agent/Client.hs
* refactor
* fix module name
* allow multiple queues in duplex connection type
* update commands
* add indices
* addConnectionRcvQueue
* switch connection to another queue (WIP)
* update schema/protocol
* switching queue works, but sending messages after the switch fails
* messages are delivered after rotation
* use connection-scoped queue ID
* rename queue records fields
* refactor using SMPQueue class/instances
* simplify queries
* QKEY: check queue is not secured, refactor
* update rfc
* mark queue as primary in QUSE
* queue rotation errors
* fix async ack
* fix async ACK to send OK
* correction
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
* use SWCH command
* rename
* take into account only active queue subscription when determining connection result if at least one queue is active
* remove comment
* only enable notifications for connections with enableNtfs = True
* async test (WIP)
* async queue rotation test
* simplify combining results
* test with 2 servers
* fix unused subscribeConnection
* switch to cabal build
* increase build timeout
* increase delay in async test
* skip queue rotation tests
* build matrix
* step name
* use ubuntu-18.04 in build matrix
* enable rotation tests
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-10-29 18:57:01 +01:00
Evgeny Poberezkin
19aef52135
debug agent locks
2022-10-22 16:43:14 +01:00
Evgeny Poberezkin
d06bb2b9c5
use KDF in X3DH ( #548 )
...
* use KDF in X3DH
* configure ratchet version via agent config, test matrix
* add comment
2022-10-20 11:03:19 +01:00
Evgeny Poberezkin
f43e5d6833
refactor test matrix ( #549 )
2022-10-20 10:13:33 +01:00
Evgeny Poberezkin
7f81396b09
prevent pad/unpad failures on large/small messages ( #547 )
...
* prevent pad/unpad failures on large/small messages
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-10-19 20:53:29 +01:00
JRoberts
f97c1a7712
agent: acceptContactAsync functional api ( #545 )
2022-10-13 19:46:32 +04:00
Evgeny Poberezkin
10e0e58ec3
improve concurrency by not holding connection lock while async command retries ( #544 )
...
* improve concurrency by not holding connection lock while async command retries
* fix
* debug test
2022-10-09 18:00:42 +01:00
Evgeny Poberezkin
0fa40fbfb0
fix: connection-level locks ( #543 )
...
* fix: connection-level locks
* add context to store error
* convert SERatchetNotFound to CONN NOT_FOUND
2022-10-04 14:36:51 +01:00
Evgeny Poberezkin
f4baa5d672
increase concurrency with per-connection locks ( #542 )
...
* increase concurrency with per-connection locks
* only send CONNECT if the client wasnt connected already
2022-10-04 09:58:19 +01:00
Evgeny Poberezkin
b686bc0c17
3.3.0 ( #540 )
v3.3.0
2022-10-01 12:08:54 +01:00
Evgeny Poberezkin
29332a5e9f
lints ( #539 )
...
* lints
* revert
* add import
* remove StrictData
2022-10-01 11:51:52 +01:00
Evgeny Poberezkin
9cd5f96fe4
import
2022-09-30 12:36:21 +01:00
JRoberts
a2eea4f18f
add deleteConnectionAsync functional api ( #538 )
2022-09-29 21:11:36 +04:00
Evgeny Poberezkin
413aad5139
allow passing agent store instead of path and key ( #535 )
2022-09-23 18:45:00 +01:00
Evgeny Poberezkin
0a9b6e4ab4
allow repeated secure with the same key (KEY command), store suspended queues in store log ( #534 )
...
* allow repeated secure with the same key (KEY command), store suspended queues in store log
* fix test
2022-09-22 13:09:39 +01:00
Evgeny Poberezkin
f8505d4add
make function processing sql rows module-level ( #533 )
2022-09-22 12:12:24 +01:00
Evgeny Poberezkin
41d3c14157
secure queue asynchronously ( #532 )
...
* secure queue asynchronously
* delete commands with internal logic errors
2022-09-20 15:11:35 +01:00
Evgeny Poberezkin
d4962daf11
internal async commands ( #530 )
...
* internal async commands
* rename
* remove GADT from AgentCommand
2022-09-18 14:02:20 +01:00
Evgeny Poberezkin
085b785ee8
readme typo
2022-09-18 13:40:20 +01:00
sh
84ce7a90d0
readme: add tor configuration ( #524 )
...
* readme: add tor configuration
* update docs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-09-18 13:36:02 +01:00
Evgeny Poberezkin
abb3f20ed5
replace TVar with IORef in execSQL ( #531 )
2022-09-18 13:25:06 +01:00
Evgeny Poberezkin
a3f58fdc6b
api to execute any sql query ( #529 )
...
* api to execute any sql query
* agent api
2022-09-17 15:08:58 +01:00
Evgeny Poberezkin
e3e05d474d
wrap agent command for async command processing, to allow extension with internal commands ( #528 )
...
* wrap agent command for async command processing, to allow extension with internal commands
* change encoding for constructor
2022-09-17 14:08:49 +01:00
Evgeny Poberezkin
13a9eee0cf
cancel threads asynchronously ( #527 )
2022-09-17 00:18:58 +01:00
Evgeny Poberezkin
959ae34f16
fix agent not stopping and race conditions ( #526 )
...
* fix agent not stopping and race conditions
* simplify
2022-09-16 13:42:13 +01:00
Evgeny Poberezkin
8c1a9c529d
fix async commands ( #525 )
2022-09-16 08:36:11 +01:00
Evgeny Poberezkin
f08d81252d
Merge pull request #509 from simplex-chat/sqlcipher
...
switch to SQLCipher
2022-09-14 21:42:24 +01:00
Evgeny Poberezkin
afecefc3ad
Merge branch 'master' into sqlcipher
2022-09-14 18:22:46 +01:00
JRoberts
e328ae5d06
closeAgentClient async commands clean up ( #523 )
2022-09-12 18:15:32 +01:00
Evgeny Poberezkin
605e6c64c6
simplify subscribeConnections ( #522 )
2022-09-12 13:31:41 +01:00