Evgeny Poberezkin
b6759f8f7d
rqNewMsg
2022-08-25 09:36:12 +01:00
Evgeny Poberezkin
a98708d206
store functions
2022-08-24 17:23:28 +01:00
Evgeny Poberezkin
cb62df187f
agent function stubs for queue rotation
2022-08-24 13:32:44 +01:00
Evgeny Poberezkin
5bfecaa227
update sub-protocol for queue rotation
2022-08-23 20:06:03 +01:00
Evgeny Poberezkin
470208f621
additional queue colums
2022-08-23 19:26:55 +01:00
Evgeny Poberezkin
0846a2ddb6
add next queue IDs
2022-08-23 14:31:37 +01:00
Evgeny Poberezkin
4440815016
SMP server: respond with the current number of queue messages to suspend command (OFF)
2022-08-22 22:27:37 +01:00
Evgeny Poberezkin
5b1a25a696
update rfc and protocol messages
2022-08-22 14:57:27 +01:00
Evgeny Poberezkin
30aa8b9ded
messages for queue rotation
2022-08-21 13:38:49 +01:00
Evgeny Poberezkin
a7b39b710c
fix toggleConnectionNtfs ( #503 )
2022-08-20 13:26:25 +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
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
7d99c4b35c
reconnect agent clients on any network config change ( #489 )
...
* reconnect agent clients on any network config change
* add Eq instances
2022-08-03 09:59:49 +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
eb1f9370c1
fix GET from contact connection ( #480 )
2022-07-21 19:42:31 +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
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
7a238812b7
ntf server: fix resubscribing to SMP server after it was restarted, test ( #465 )
2022-07-08 14:46:01 +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
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
JRoberts
9695786aa5
ntf: separate types into their own module ( #444 )
2022-06-30 14:31:36 +04:00
JRoberts
79d67694ed
ntf: flush ntfSubQ on deleting all subscriptions ( #442 )
2022-06-30 13:39:24 +04:00
JRoberts
6c14372666
fix linter warning
2022-06-29 15:35:41 +04:00
Evgeny Poberezkin
c9501a23a0
remove TODOs
2022-06-29 08:40:21 +01:00
Evgeny Poberezkin
926e515bc0
fix v2 connecting via v1 contact ( #438 )
2022-06-29 08:38:51 +01:00
Evgeny Poberezkin
ba40d75886
verifyNtfToken: change args order ( #434 )
2022-06-27 19:33:36 +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
Evgeny Poberezkin
a8260290e7
token encodings ( #430 )
2022-06-25 16:17:39 +01:00
JRoberts
2809963a2e
ntf: register token with NotificationsMode ( #429 )
2022-06-25 17:34:08 +04:00
Evgeny Poberezkin
d2321b750d
get/set notification mode ( #428 )
...
* get/set notification mode
* update method
2022-06-25 14:48:15 +04:00
JRoberts
70e7c71762
ntf: read rcv queue separately from ntf subscription, fix deletion race condition ( #423 )
2022-06-24 16:51:42 +04:00
JRoberts
a92827c986
ntf: notification server SDEL command; subscription deletion in agent ( #421 )
2022-06-23 17:05:43 +04:00
Evgeny Poberezkin
0d9d549cea
unlock next GET with ACK ( #418 )
2022-06-22 08:12:18 +01:00
JRoberts
7a72488275
ntf: use separate key to encrypt NMsgMeta ( #410 )
...
* ntf: use separate key to encrypt NMsgMeta
* key negotiation
* save key on server, use for encryption
* refactor?
* store error
* NtfQueueCreds
* server - NtfCreds
* comment, rename
* fix type
* ClientNtfCreds
* encoding
2022-06-20 17:16:26 +04:00
Evgeny Poberezkin
0ab44b1836
get multiple messages when notification is processed ( #411 )
...
* get multiple messages when notification is processed
* change notification property
2022-06-19 13:23:35 +01:00
Evgeny Poberezkin
d1db7d6f79
withStore runs in a single transaction ( #408 )
...
* remove store typeclass
* make withStore run single transaction
* combine 2 store calls
* refactor
* add exports
* fix catch
* correction
2022-06-18 18:01:04 +01:00
JRoberts
ec70429106
ntf: getNotificationMessage' ( #406 )
...
* ntf: getNotificationMessage'
* refactor
* ntfTs
* fix parser
* length
* fix test
* fix encryption, test
* remove test focus
* getActiveNtfToken
* rename
* Update src/Simplex/Messaging/Protocol.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* getNtfRcvQueue
* refactor
* don't fail
* Update src/Simplex/Messaging/Notifications/Protocol.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 >
* Update src/Simplex/Messaging/Server.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* import
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-06-18 18:21:35 +04:00
JRoberts
3336f987c3
ntf: SCHK, cancel actions on errors, wait until action ts before executing ( #402 )
...
* SCHK
* NSACheck
* updateSubFutureTs
* dont execute too early
* fix diffTimeToMillis
* rename function
* errors
* nested status
* increase ntfSubCheckInterval
* adjust import
* Update src/Simplex/Messaging/Agent/NtfSubSupervisor.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* Update src/Simplex/Messaging/Agent/NtfSubSupervisor.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* refactor rescheduleAction
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-06-16 16:11:46 +04:00
Evgeny Poberezkin
1d56ef3a60
agent method to GET message ( #403 )
...
* agent method to GET message
* correction
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-06-16 12:35:17 +01:00
JRoberts
331918bac7
ntf: agent tests ( #399 )
2022-06-15 14:22:55 +04:00
JRoberts
f7bd8a3982
ntf: agent ntf workers implementation, store methods ( #394 )
2022-06-14 14:34:18 +04:00
Evgeny Poberezkin
68c2682e70
ios: synchronizing processing between app & nse ( #398 )
...
* ios: synchronizing processing between app & nse
* update rfc
* add sequence diagram
* manage agent phase
* track agent operation and phase changes
* update
* remove APInactive
* Update src/Simplex/Messaging/Agent/Protocol.hs
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-06-14 13:27:45 +04:00