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
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
JRoberts
4bf9f2b535
Eq for ACommandTag ( #520 )
2022-09-10 22:03:51 +04:00
Evgeny Poberezkin
bab6a1577b
correlation IDs and command tags for async commands ( #519 )
...
* agent protocol command tags
* store/send async command correlation IDs
* fix, refactor
* delete failed command
2022-09-10 16:33:15 +01:00
Evgeny Poberezkin
42a96d6d00
refactor agent subscriptions with TMap2 ( #517 )
...
* refactor agent subscriptions with TMap2
* refactor
* refactor
* comment
2022-09-09 16:31:57 +01:00
JRoberts
882d2b123b
agent async commands ( #513 )
...
* wip
* wip
* wip
* wip
* don't delete conn on join failure in async mode
* test restart
* remove unused pragma
* simplify restore
* rename variable
* refactor
* refactor
* split
* remove error
* prohibit async join via contact request
* refactor subscribeConnections
* simplify
* resum command processing on subscriptions
* unfocus tests
* schema
* remove do
* rename variable
* corrections
* move code
* refactor getPendingCommands
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-09-08 20:27:56 +04:00
Evgeny Poberezkin
da5058a0c4
remove connId from message delivery queue keys ( #515 )
2022-09-06 14:39:50 +01:00
Evgeny Poberezkin
50c210c5c0
remove database key from SQLiteStore ( #514 )
2022-09-05 12:55:14 +01:00
Evgeny Poberezkin
e4b47825b5
functions to create and close store ( #512 )
2022-09-02 15:42:37 +01:00
Evgeny Poberezkin
26d149d17c
interpolate sql strings ( #510 )
2022-08-31 17:57:38 +01:00
Evgeny Poberezkin
e4b77ed9e6
use SQLCipher ( #507 )
...
* use SQLCipher
* pass database key via options, use local direct-sqlcipher and sqlcipher-simple
* update stack.yaml
* use dependencies in git
* update sqlcipher dependencies
2022-08-30 12:31:41 +01:00
Evgeny Poberezkin
5894f91927
fix connections passed to ntf supervisor to include pending, not only active ( #506 )
...
* fix connections passed to ntf supervisor to include pending, not only active
* fix
* fix 2
2022-08-30 08:26:42 +01:00
Evgeny Poberezkin
1459a0613a
set invitation as not accepted in case of join error ( #505 )
...
* set invitation as not accepted in case of join error
* remove unused name
2022-08-25 12:17:55 +01:00
Evgeny Poberezkin
212a9bc4ab
enable/disable connection notifications ( #501 )
...
* enable/disable connection notifications
* filter connections when intializing/disabling subscriptions
* fix
* fix 2
* add delay
* increase test delay
* increase test delay
* fix
* increase test delays
* increase test delays
2022-08-19 15:23:57 +01:00
Evgeny Poberezkin
3fc9afbb35
move servers update before migration (so it re-tries in case of crash)
2022-08-18 08:39:22 +01:00
Evgeny Poberezkin
b2d4bfd0a8
split migration to multiple transactions (trying to prevent Android crash) ( #502 )
2022-08-17 22:08:01 +01:00
Evgeny Poberezkin
cfab5a18d3
move server update to SQL migration ( #500 )
2022-08-16 21:31:19 +01:00
Evgeny Poberezkin
0437796232
support multiple server hosts with notifications ( #498 )
...
* support multiple server hosts with notifications
* remove unused type
* remove unused import
* update server hosts during parsing
2022-08-14 21:10:34 +01:00
Evgeny Poberezkin
02bba01c16
send host events when server hosts are connected and disconnected ( #496 )
2022-08-13 11:57:36 +01:00
Evgeny Poberezkin
68138c08d2
support multiple server hostnames per queue ( #494 )
...
* store SMP client version per queue
* use versioned format for queue addresses (not compatible with v1)
* multiple server hosts in queue URI/data, versioned encoding (cross-version tests fail)
* choose server host based on socksProxy setting
* test works
* multiple server addresses mostly work
* add onion hosts for provided servers
* update SMP hosts
2022-08-12 11:32:04 +01:00
Evgeny Poberezkin
6bfaa4985e
expire messages after 2 days, increase max message sending interval ( #490 )
...
* expire messages after 2 days, increase max message sending interval
* rename
2022-08-11 10:15:08 +01:00
Evgeny Poberezkin
e9db0a1162
allow passing all network configuration to the agent ( #488 )
2022-08-02 13:30:00 +01:00
Evgeny Poberezkin
fcaddb7848
agent functions to get/set network configuration ( #484 )
...
* agent functions to get/set network configuration
* fix condition
2022-07-25 13:50:46 +01:00
Evgeny Poberezkin
d788c3ca95
access servers via SOCKS proxy ( #482 )
...
* access servers via SOCKS proxy
* config to pass tcp timeout and option SOCKS5 proxy to the agent
2022-07-23 13:57:10 +01:00
Evgeny Poberezkin
d810db4eed
send servers in agent events ( #478 )
...
* send servers in agent events
* remove some changes
* command/function to get connection servers
* getConnectionServers return type
2022-07-20 13:56:43 +01:00
Evgeny Poberezkin
1ce63bee44
create notification subscriptions in batch subscribe ( #477 )
...
* create notification subscriptions in batch subscribe
* refactor
* refactor
2022-07-19 09:30:17 +01:00
Evgeny Poberezkin
6bbe1dfc66
use batch commands to resubscribe agent on server re-connection ( #473 )
2022-07-18 07:26:41 +01:00
Evgeny Poberezkin
a6f401041a
SMP protocol v4: batching multiple server commands/responses in a transport block ( #470 )
...
* batch server commands in one transport block
* subscribe to multiple queues using batched commands
* agent method to subscribe to multiple queues using batched commands
* refactor
* test for batched subscriptions
* delete part of connections in batched test
* add resubscribeConnections
* remove comment
* update SMP protocol doc
2022-07-17 10:10:38 +01:00
Evgeny Poberezkin
cc798145d2
suspend agent without delay ( #463 )
...
* suspend agent without delay
* suspend/activate in separate atomically
2022-07-06 13:58:58 +01:00
Evgeny Poberezkin
abd694bd5a
parameterize protocol server by scheme ( #459 )
2022-07-05 21:56:14 +01:00
Evgeny Poberezkin
9c1b43791c
SMP v3: encrypt message timestamp and flags together with the body between server and recipient ( #457 )
...
* SMP v3: encrypt message timestamp and flags together with the body between server and recipient
* v3 tests
* update protocol doc
* add test for max size message
* delay in notifications test
* simplify v3
* encrypt server message to the recipient when sent
* refactor
* exit on error restoring the messages
* refactor, increase test timeout
* style
* add prints to the test
* remove error from unsafeMaxLenBS
* update protocol
* lint, improve test, change func param
2022-07-05 21:08:05 +01:00
Evgeny Poberezkin
4c0164c49e
fix: support msgFlag NULL in sql ( #458 )
2022-07-03 13:05:16 +01:00
JRoberts
57d83ae42d
ntf: notify client about ntf supervisor internal errors ( #455 )
...
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-07-02 12:27:09 +04:00
Evgeny Poberezkin
f9cd7e5416
suspend ntf operations when agent is suspended ( #453 )
...
* suspend ntf operations when agent is suspended
* end and begin ntf operation on loop
2022-07-01 22:43:18 +01:00
Evgeny Poberezkin
6b6ea78eac
ntf server error handling ( #448 )
...
* ntf server error handling
* refactor
* fix
2022-07-01 12:25:08 +01:00
Evgeny Poberezkin
238a2e7fe9
handle ntf supervisor errors ( #451 )
2022-07-01 15:22:20 +04:00
JRoberts
82eff6c757
ntf: internal error if ntf server is not configured at SCHK on AUTH error ( #450 )
...
* ntf: internal error if ntf server is not configured at SCHK on AUTH error
* refactor
* rename
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-07-01 14:09:05 +04:00
JRoberts
0392f849aa
ntf: reset subscription on SCHK AUTH error; launch only required workers ( #449 )
2022-07-01 13:19:56 +04:00
JRoberts
16f5fdeeb0
ntf: delete notifier creds on NSASmpDelete ( #447 )
...
* ntf: delete notifier creds on NSASmpDelete
* fix
2022-07-01 09:18:01 +01:00
JRoberts
c3012173e3
ntf: recover from failed/in-deletion subscriptions ( #446 )
...
* ntf: recover from failed/in-deletion subscriptions
* check NASNew status on subscription recover
* carryOnWithDeletion
* logs
* SCHK
2022-06-30 20:18:12 +04:00
JRoberts
c82fae72f2
ntf: refactor NtfSubAction ( #445 )
2022-06-30 15:34:16 +04:00
JRoberts
9695786aa5
ntf: separate types into their own module ( #444 )
2022-06-30 14:31:36 +04:00
Evgeny Poberezkin
56ef95e8ae
ntf: fix null action ts ( #443 )
...
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-06-30 14:01:34 +04:00
JRoberts
2c7cad5378
ntf: update subscription status, error handling on SMP errors / agent events ( #439 )
...
* ntf: error handling on SMP errors / agent events
* refactor
* CASubError case
* Update src/Simplex/Messaging/Notifications/Server.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* Update src/Simplex/Messaging/Notifications/Server.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* refactor
* Update src/Simplex/Messaging/Notifications/Server.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* Update src/Simplex/Messaging/Notifications/Server.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* fix lint
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-06-29 15:14:44 +04:00
Evgeny Poberezkin
926e515bc0
fix v2 connecting via v1 contact ( #438 )
2022-06-29 08:38:51 +01:00
Evgeny Poberezkin
85d507d5d3
ntf-server store log ( #435 )
...
* ntf-server store log
* ntf serevr: restore log when server is started, save compacted store log
* log ntf server store changes
* test, store log works
* update ntf-server exe
2022-06-28 17:10:50 +01:00
JRoberts
3d6ad64d62
ntf: registerNtfToken rework, notification modes ( #431 )
...
* check mode for new subscriptions
* check token inside actions
* migration - apple -> apns
* wip
* register logic, modes
* update mode, cron config, verify token changes
* refactor
* fix test
* NTFMODE
* server: delete subscriptions on deleteToken
* refactor markNtfSubscriptionForDeletion
* remove NTFMODE
* remove subscriptions when token is deleted
* refactor
* lint
* test
* check ntfMode
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-06-27 21:54:35 +04:00
Evgeny Poberezkin
51d0b48ce1
suspend/activate agent ( #432 )
...
* suspend/activate agent
* deliver pending messages before agent is suspended
* refactor
2022-06-26 14:15:33 +01:00