Evgeny Poberezkin
2488cf1e3a
agent: restart worker when it terminated ( #948 )
...
* agent: restart worker when it terminated
* comment
* remove writeTMVar
* remove writeTMVar 2
* remove writeTMVar 3
2024-01-05 14:22:26 +00:00
Alexander Bondarenko
b4495bb4f0
xftp-server: fix stats ( #944 )
...
* xftp-server: fix stats
* count file expirations
* rename
* simplify
* check files size
* store and fix fileSize check
* do
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2024-01-05 11:30:27 +00:00
Alexander Bondarenko
6d4834f306
core: publish sendMessagesB ( #949 )
2024-01-04 15:37:13 +00:00
Evgeny Poberezkin
37d30240fd
5.5.0.3
v5.5.0-beta.3
2024-01-03 20:36:54 +00:00
Alexander Bondarenko
8fd5e9f25a
servers: make writeStoreLogRecord atomic ( #946 )
...
* servers: make writeStoreLogRecord atomic
* comment
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2024-01-03 20:29:09 +00:00
Alexander Bondarenko
36298f2cea
smp-server: update stats ( #943 )
...
* smp-server: check queue balance in stats vs store
* smp-server: add msgExpired stats
* add msgExpired stats
* split expire/stats transactions
* count and pass msgExpired explicitly
* save/load qCount and use it for checking store
2024-01-02 21:24:17 +00:00
Evgeny Poberezkin
f954c2cd17
rfc: SMP proxies key scope and other considerations ( #927 )
...
* rfc: SMP proxies key scope and other considerations
* split line
2023-12-28 23:29:51 +00:00
Evgeny Poberezkin
d0588bd0ac
5.5.0.2
v5.5.0-beta.2
2023-12-27 20:35:56 +00:00
Alexander Bondarenko
7eb7bd5e81
xftp-server: add inactiveClientExpiration ( #936 )
...
* xftp-server: add inactiveClientExpiration
* fix test config
* add test
* add xftpPing
* switch to PCEUnexpectedResponse
* remove watchdog when server quits
* rename, loop
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-12-27 20:31:19 +00:00
Alexander Bondarenko
bb4de2e63c
ci: limit releases to GHC-9.6.3 ( #938 )
2023-12-27 15:55:42 +00:00
spaced4ndy
22e1932372
xftp, ntf: refactor, reuse workers abstractions ( #935 )
...
* xftp: refactor, reuse workers abstractions (wip, test fails)
* rename
* refactor (tests pass)
* refactor2
* linebreaks
* do
* reuse worker abstractions for notifications
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-12-27 13:02:08 +04:00
spaced4ndy
e43e4860b9
xftp: file workers cycle through pending files based on retries count (limit number of iterations per work item to prevent stuck delivery) ( #930 )
...
* xftp: test file reception - shouldn't get stuck if file is deleted on server
* comment
* expiration test
* approach
* wip
* sort by retries in other works, revert some diff
* revert diff
* modify tests
* refactor
* refactor
* remove prints
* apply to other workers
* remove import
* comment
* refactor
* revert queue size
* fix test
* rename
* comment, correct number of retries
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-12-26 22:20:25 +00:00
Alexander Bondarenko
efe7ce27e7
control: add delete command ( #933 )
...
* control: add delete command
* logDeleteQueue only when found
* use default StrEncoding for CPDelete arg
* move stats update from main transaction
* use size
* stabilize AUTH timing tests
* more iterations
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-12-26 20:20:12 +00:00
Evgeny Poberezkin
577e3cf14d
agent: add server msg IDs to agent logs, disable 2 tests ( #934 )
...
* agent: race when using agent via TCP
* remove logs
* enable tests
* comments
* use different databases for different clients
* enable all tests
2023-12-26 17:50:39 +00:00
Evgeny Poberezkin
7ddeca50e4
agent: mark work items failed ( #931 )
...
* agent: mark work items failed (WIP)
* add tests, created_at
* getWorkItem for snd and rcv files
* fix
* tests
* fix
* tests
* test
* tests
* rename
* fix,refactor
* add indexes
* update schema
* do not try to get more work when resuming an existing worker
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-12-26 17:00:42 +04:00
Evgeny Poberezkin
1e15d56e92
5.5.0.1: fix migration
2023-12-23 16:06:11 +00:00
Evgeny Poberezkin
46056557f8
5.5.0.1: update .cabal
2023-12-23 14:12:20 +00:00
Evgeny Poberezkin
a57066a826
5.5.0.1
2023-12-23 13:42:22 +00:00
Evgeny Poberezkin
2489333c87
agent: use DB to queue async commands and messages ( #929 )
...
* agent: use DB to queue async commands and messages
* fix message delivery, async commands dont work
* fix async commands
* remove comment
* rename
* comment
* balance agent operation
* empty lines
* balance another agent operation
* diff
* worker
* qAddress
* fix incorrect queue ID in v1
* types for queues
* fix test
* update index
2023-12-23 12:59:53 +00:00
Evgeny Poberezkin
fa457d1c25
agent: avoid race condition between worker and supervisor when getting work ( #928 )
2023-12-22 11:12:36 +00:00
Evgeny Poberezkin
1c2604f6a3
agent: background mode for agent NSE ( #924 )
2023-12-22 08:59:07 +00:00
Evgeny Poberezkin
13a60d1d39
use ChaChaDRG as the source of randomness ( #920 )
...
* use ChaChaDRG as the source of randomness
* remove functions using entropy directly
* comment
2023-12-21 00:12:08 +00:00
Evgeny Poberezkin
8c250ebe19
agent: batch sending messages ( #922 )
...
* agent: batch sending messages (attempt 4)
* handle errors in batch sending
* batch attempt 5 (#923 )
* attempt 5
* remove IORefs
* add liftA2 for 8.10 compat
* remove db-related zipping
* traversable
---------
Co-authored-by: IC Rainbow <aenor.realm@gmail.com >
* s/mapE/bindRight/
* name
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* comment
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* remove unused funcs
---------
Co-authored-by: IC Rainbow <aenor.realm@gmail.com >
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-12-19 23:01:34 +00:00
Evgeny Poberezkin
7627ce6b69
5.5.0-beta.0: SMP server/agent 5.5, XFTP server 1.2, NTF server 1.7
v5.5.0-beta.0
2023-12-19 16:07:11 +00:00
Alexander Bondarenko
7c27357eb2
server: stop inactive clients without subscriptions, additional monitoring via control port ( #901 )
...
* fix thread labelling points
* add subscription thread labels
* add explicit sections for sockets/sessions/disconnects
* adjust label threads wrt. next blocking op
* WIP: emit event on server finish
So the event log wouldn't be cut short giving
false impression of unterminated sessions.
* add handshake timeout
* hack server socket stats
* trace closeTLS exceptions
* fix build
* clean up disconnectTransport
* make disconnectTransport terminating
Thus, participating in racyAny_ around it.
* trach snd/rcv time separately, log clients as CSV
* add direct client counting/stats
* add csv dump for socket threads
* guard socket threads dump from older GHC
* cut socket thread listing into socket-threads command
* store client creation time for stats
* wrap tls setup in timeout and labels
* server: expire clients without subscriptions
* fix check for subscriptions
* remove excess tracing
* move hardcoded timeouts to configs
* cleanup
* fix tests
* wrap direct queue waits in timeout
* rewrite old TCP wrappers with their SocketState variants
* add testInactiveWithSubs
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-12-19 15:50:45 +00:00
Evgeny Poberezkin
18be2709f5
use crypton instead of cryptonite ( #919 )
2023-12-13 09:32:44 +00:00
Evgeny Poberezkin
fb113ff008
agent: include queries longer than 5ms into slow queries (was 50ms)
2023-12-12 15:34:49 +00:00
Evgeny Poberezkin
f576260594
client: increase default network timeouts ( #918 )
2023-12-12 12:01:38 +00:00
Evgeny Poberezkin
560dc55312
agent: notify about polled message processing (for iOS notifications) ( #908 )
...
* agent: notify about polled message processing (for iOS notifications)
* optionally keep key and support re-opening database
* exports
* test that cannot reopen when created with keepKey: false
* set max number of messages to receive for a notification to 3
2023-12-11 13:03:53 +00:00
Evgeny Poberezkin
a860936072
agent: do not account for delivery of stored messages for agent suspension ( #916 )
2023-12-05 23:14:33 +00:00
sh
e7b6b5facd
docker: add missing dependency ( #915 )
2023-12-05 11:03:03 +00:00
Evgeny Poberezkin
eaf5317834
compatibility with GHC 8.10.7, narrow dependency ranges ( #914 )
...
* Revert "raise mtl version to 2.3.1 (#912 )"
This reverts commit 117168ccce .
* Revert "expand dependency ranges (#911 )"
This reverts commit 90a8fc91d3 .
* fix test
* remove unnecessary forks
* make text version dependent on GHC version
* text
* remove stack.yaml
* bytestring
* bytestring
* hpack 0.35
* mtl
2023-12-04 00:00:50 +00:00
Alexander Bondarenko
117168ccce
raise mtl version to 2.3.1 ( #912 )
...
* raise mtl version to 2.3.1
* fix test on 8.10
2023-12-02 11:43:36 +00:00
Evgeny Poberezkin
76af9ed242
remove ghc 9.6.3 from cabal.project
2023-12-01 17:51:33 +00:00
Alexander Bondarenko
90a8fc91d3
expand dependency ranges ( #911 )
2023-12-01 13:08:26 +00:00
Alexander Bondarenko
6bffcc8503
compatibility with GHC 8.10.7 ( #906 )
...
* build with ghc-8.10
* add 8.10 to matrix
* cleanup
* stats
* remove getField
* agent
* server
* remote
* space
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-29 12:53:06 +00:00
Evgeny Poberezkin
3f2e50eebd
5.4.0
v5.4.0
2023-11-28 22:36:32 +00:00
Evgeny Poberezkin
cc8b8cd10d
agent: fix hanging test ( #907 )
2023-11-28 22:25:58 +00:00
Alexander Bondarenko
febf9019e2
remote: add controller address preferences ( #905 )
...
* remote: add controller address preferences
* suppress localhost from breaking multicast discovery w/o prefs
* rewrite findCtrlAddress
* refactor
* refactor2
* add tests
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-28 14:12:29 +00:00
sh
2a6be894e1
docker: bump ghc version ( #904 )
2023-11-27 23:41:52 +00:00
Evgeny Poberezkin
8fa369f9d3
5.4.0: xftp 1.1.3, ntf 1.6.4 ( #903 )
...
* 5.4.0: xftp 1.2.0, ntf 1.7.0
* upgrade ghc in github job
* change xftp, ntf versions
* shorter predicate for exception in test
2023-11-26 22:20:42 +00:00
Evgeny Poberezkin
31f520af05
rfc: message delivery problems ( #743 )
...
* rfc: message delivery problems
* update
2023-11-26 12:02:08 +00:00
Evgeny Poberezkin
7c29e2a189
rfc: delivery proxy ( #760 )
2023-11-26 11:59:57 +00:00
Evgeny Poberezkin
f49607e522
rfc: SMP/XFTP proxies ( #844 )
...
* rfc: SMP/XFTP proxies
* update
* update
* update
* add threat model
* correction to encryption layer
* corrections
2023-11-26 11:57:56 +00:00
Evgeny Poberezkin
757b7eec81
5.4.0.6
v5.4.0-beta.6
2023-11-21 20:50:10 +00:00
Evgeny Poberezkin
88a4cf7d90
Merge pull request #898 from simplex-chat/ab/fix-agent-leak
...
agent: fix leak in AgentOpState counters
2023-11-21 20:43:32 +00:00
IC Rainbow
8ac97ed700
add retry around removing tmp dir
2023-11-21 21:30:53 +02:00
IC Rainbow
79d9f41fd8
add delay to testDuplicateMessage
2023-11-21 20:10:14 +02:00
IC Rainbow
2fe408666e
fix testAsyncCommandsRestore test
2023-11-21 19:54:10 +02:00
IC Rainbow
317c68a860
agent: fix leak in AgentOpState counters
2023-11-21 14:53:53 +02:00