JRoberts
12caa328a8
SMP confirmation timeout recovery rfc ( #357 )
2022-04-20 22:17:51 +01:00
Evgeny Poberezkin
68f52c47dd
message TTL and periodic expiration; setting to prevent creation of the new queues ( #355 )
...
* message TTL and periodic expiration; setting to prevent creation of the new queues
* fix expiration interval
2022-04-20 08:14:26 +01:00
Evgeny Poberezkin
f84439f79d
function to run TCP server without TLS ( #354 )
2022-04-18 08:56:08 +01:00
Evgeny Poberezkin
d38303d5f1
fix END from disconnected clients incorrectly removing the subscriptions, remove previous PING changes that attempted to solve the problem of lost subscriptions ( #351 )
...
* Revert "increase PING timeout, add PING failure count"
This reverts commit a89e019bb0 .
* Revert "PING error now throws error to restart SMPClient for more reliable re-connection (#342 )"
This reverts commit 62acbc4ad4 .
* only process END from the currently active client
* log ignored END
* make PING sent every 15 sec and destroying connection on failure (for testing - to be reverted)
* make removing subscription atomic too
* Revert "make PING sent every 15 sec and destroying connection on failure (for testing - to be reverted)"
This reverts commit 5520b318a2 .
* refactor, aggressive PING settings for testing
* revert PING breaking connection
2022-04-12 11:35:28 +01:00
Evgeny Poberezkin
6382367ec0
typo
2022-04-11 10:30:34 +01:00
Evgeny Poberezkin
a89e019bb0
increase PING timeout, add PING failure count
2022-04-11 10:24:02 +01:00
Moritz Angermann
ac7ffc413e
Add Flag ( #349 )
...
* Update Parsers.hs
* Update simplexmq.cabal
2022-04-07 08:44:37 +01:00
JRoberts
3ba1926b1e
remove manual vacuum ( #346 )
2022-04-01 17:16:18 +04:00
JRoberts
c62730fe4c
Revert "catch db connection error"
...
This reverts commit 1815e81c2e .
2022-04-01 16:39:32 +04:00
JRoberts
bb99fdaaa2
catch db connection error ( #345 )
2022-04-01 09:52:13 +01:00
JRoberts
a6ec93c38e
vacuum in each connection to enable auto-vacuum ( #344 )
2022-03-31 15:26:13 +04:00
JRoberts
33f822d72c
add pragmas and vacuum db ( #343 )
2022-03-31 14:51:59 +04:00
Evgeny Poberezkin
b6e87e4a3e
increase TCP timeout to 5 sec
2022-03-29 11:18:49 +01:00
Evgeny Poberezkin
62acbc4ad4
PING error now throws error to restart SMPClient for more reliable re-connection ( #342 )
2022-03-29 13:21:21 +04:00
Evgeny Poberezkin
cd22e06b3a
use TMap for subscription maps ( #341 )
...
* use TMap for subscription maps
* refactor
* correction
2022-03-28 18:49:17 +01:00
Evgeny Poberezkin
6ef6bedc03
refactor/optimize server queue/message store ( #340 )
...
* refactor/optimize server queue/message store
* change fst to pattern match
* server store - wrap QueueRec into TVar
2022-03-28 10:29:21 +01:00
Evgeny Poberezkin
c380431b94
resubscribe concurrently when subscription is resumed ( #339 )
...
* resubscribe concurrently when subscription is resumed
* use strict modifyTVar, refactor with TMap
* add inline
* refactor
2022-03-28 07:30:29 +01:00
Evgeny Poberezkin
800581b2bf
core: tcp keep-alive parameters for windows ( #336 )
2022-03-26 13:11:29 +00:00
Evgeny Poberezkin
14d76a1582
fix keep-alive options to work on mobile ( #331 )
2022-03-22 08:02:43 +00:00
Evgeny Poberezkin
a37b24a8c2
use TCP keep-alive instead of SMP protocol PING ( #330 )
...
* use TCP keep-alive instead of SMP protocol PING
* update header files
* use CInt
* use Int again
* use network-3.1.2.7
* use https in cabal.project
* confitional keep-alive parameters to work on mac
* pass keep-alive opts via client/agent options
* remove space
2022-03-21 16:13:34 +00:00
John Roberts
5c6ec96d64
make smp servers configurable for running agent ( #326 )
2022-03-10 10:49:22 +04:00
Evgeny Poberezkin
7a19ab224b
make sending confirmation asynchronous ( #327 )
...
* make sending confirmation asynchronous
* confirm first queue synchronously (on JOIN, and delete connection on failure), second queue asynchronously (from REPLY msg)
* test to retry JOIN when the first attempt fails
* process confirmation delivery errors
2022-03-02 15:52:45 +00:00
Efim Poberezkin
14780a47d6
prepare v1.0.3 ( #324 )
2022-02-26 18:07:11 +04:00
Evgeny Poberezkin
d1e6147adf
encode all nullary constructors as objects for sumTypeJSON options
2022-02-25 18:50:04 +00:00
Evgeny Poberezkin
7d1fdadef0
reduce connection handshake expiration to 2 days
2022-02-25 10:57:23 +00:00
Evgeny Poberezkin
09e2e75c42
increase queue sizes ( #322 )
...
* increase queue sizes
* remove TODO
2022-02-25 09:02:52 +00:00
Evgeny Poberezkin
dff5cad1be
make CPP condition depend on HOST OS ( #321 )
2022-02-18 08:12:08 +00:00
Evgeny Poberezkin
c1f5f9d846
flip condition for JSON encoding to make android (tagged objects) default ( #319 )
2022-02-16 22:38:15 +00:00
Evgeny Poberezkin
137afb68fe
conditional JSON options for iOS/Android ( #318 )
...
* conditional JSON options for iOS/Android
* update cabal file
2022-02-16 08:58:35 +00:00
Efim Poberezkin
229e2607d7
remove redundant asynchronous connection code ( #317 )
2022-02-14 21:00:14 +04:00
Efim Poberezkin and Evgeny Poberezkin
c380c79560
make new smp client attempt to reconnect on network error ( #315 )
...
* make new smp client attempt to reconnect on network error
* reconnect async wip
* remove comments
* trigger tryReconnectClient
* add subscription before trying to take smp client
* move atomically modify asyncClients
* remove logs
* corrections
* don't put error into new smp client TMVar
* UnliftIO async
* re-work
* test for connection to the server that was initially down
* fix tests
* additionally test that bob receives the message after re-connect
* make test independent of event order
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-02-10 14:48:11 +00:00
Efim Poberezkin
c9994c3a2c
add "yes to migrations" option ( #316 )
2022-02-07 11:51:39 +04:00
Evgeny Poberezkin
137ff7043d
use aeson fork with the option to encode/decode nullary constructors as empty objects ( #312 )
...
* use aeson fork with the option to encode/decode nullary constructors as empty objects
* update dependencies
2022-01-29 19:36:02 +00:00
Evgeny Poberezkin
6fe3bfa980
JSON encoding of types used in simplex-chat ( #311 )
...
* JSON encoding of types used in simplex-chat
* add field names for JSON encodings, encode all error sum-types as objects (to allow extension)
2022-01-26 20:18:41 +00:00
Evgeny Poberezkin
b777a4fd93
split the server dependencies from the agent ( #310 )
...
* split the server dependencies from the agent
* remove redundant imports
* fix Main.hs
2022-01-21 17:33:47 +00:00
Efim Poberezkin
495439adf5
1.0.2
2022-01-21 11:40:49 +04:00
Evgeny Poberezkin
670b3b7974
coalesce requests to connect to SMP servers, to have 1 connection per server ( #305 )
...
* coalesce requests to connect to SMP servers
* fix possible race condition when creating new SMP client
* one more race condition
* close pending SMP clients
2022-01-20 18:33:02 +00:00
Efim Poberezkin and Evgeny Poberezkin
305ae94cce
move TLS handshake to a separate thread per-connection ( #306 )
...
* move handshake to a separate thread
* 1.0.2-rc04
* refactor TLS thread
* hide EOF exception
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-01-20 18:32:09 +00:00
Evgeny Poberezkin
a9a6917056
replace file-embed with QQ ( #301 )
2022-01-20 18:31:09 +00:00
Efim Poberezkin
ac899a67c4
support TLS 1.3 ( #300 )
2022-01-18 18:59:02 +04:00
Efim Poberezkin
6e7089284e
cease attempts to send HELLO after timeout ( #298 )
2022-01-18 13:50:43 +04:00
Efim Poberezkin
7e0bcc7aa0
v1.0.1 ( #294 )
2022-01-15 18:39:57 +04:00
Evgeny Poberezkin
bfa4911217
improve message error handling ( #286 )
...
* message envelope sizes and protocol doc corrections
* change error handling in message delivery loop
2022-01-12 10:36:22 +00:00
Evgeny Poberezkin
5f20f0124a
correction to E2E encrypted (double ratchet) envelope size
2022-01-11 22:08:37 +00:00
Evgeny Poberezkin
38f4cbe74f
Merge branch 'master' into ep/v1-rc
2022-01-11 21:20:27 +00:00
Evgeny Poberezkin
657c9b1b37
reduce SMP envelope sizes ( #284 )
2022-01-11 21:01:21 +00:00
Evgeny Poberezkin
d8a61de290
Merge branch 'master' into ep/v1-rc
2022-01-11 16:02:10 +00:00
Evgeny Poberezkin
083d39be22
store missing port as empty string instead of NULL ( #280 )
2022-01-11 16:01:09 +00:00
Evgeny Poberezkin
c81e667e01
update version and changelog
2022-01-11 07:41:41 +00:00
Evgeny Poberezkin
c95854ee3f
Merge branch 'master' into ep/v1-rc
2022-01-11 07:28:26 +00:00