Evgeny Poberezkin
ca527b4d6c
use Builder for batching commands ( #953 )
...
* use Builder for batching commands
* refactor
* refactor
* increase timeout in test
* do not materialize builder
* use concat
* debug test
* debug2
* delays
* more delay, less worker delay
* remove logs
* reduce delay
* tests
* sized builder
* builder
* comment
* remove unsafe
* style
* remove fromIntegral
2024-01-08 22:54:27 +00:00
Evgeny Poberezkin
55808b0c82
5.5.0.4
2024-01-06 11:40:15 +00:00
Alexander Bondarenko
34056b9d7b
xftp-server: add control port ( #951 )
...
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2024-01-05 17:36:19 +00:00
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
Evgeny Poberezkin
37d30240fd
5.5.0.3
2024-01-03 20:36:54 +00:00
Evgeny Poberezkin
d0588bd0ac
5.5.0.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
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
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
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
7627ce6b69
5.5.0-beta.0: SMP server/agent 5.5, XFTP server 1.2, NTF server 1.7
2023-12-19 16:07:11 +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
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
d60911c780
xftp: refactor receiving encrypted file ( #896 )
2023-11-14 13:51:23 +00:00
Evgeny Poberezkin
c051ebab74
Merge branch 'master' into xrcp
2023-11-11 09:37:15 +00:00
Evgeny Poberezkin
9460551a04
5.4.0.4: xftp 1.1.2, ntf 1.6.3
2023-11-11 09:16:40 +00:00
Alexander Bondarenko
1a8dfb4cbe
agent: xrcp implementation for connection via link (no multicast) ( #884 )
...
* WIP: start working on connection invites
startSession/OOB is broken now - the port isn't coming from the actualy assigned one.
* Add invite types
* clean old invite-related types
* apply renames
* Move SessionKeys from Invitation
* Stub host-side keys and handle
* move keys and handles to Types
* add Simplex.RemoteControl.Client
* more keys
* progress
* crypto for sessions
* progress to multicast
* multicast crypto
* add RC TLS server
* agent api for remote control
* WIP: tls client
* fix test
* update encoding to include nonce
* add TODO
* update
* Use network-info to find TransportHost
* request and submit tls client certificate
* WIP: add missing bits for testing RC client
* RCEncryptedHello encoding
* add block encoding
* refactor
* validate known host certificate
* remove some spaghetti
* functional API to host/ctrl clients
* refactor connectRCCtrl_
* refactor connectRCHost
* question
* add type
* fix RC session
* update doc
* update doc 2
* add block on confirmation
* remove unused parameter
* export CtrlSessKeys
* export
* fix parsing
* move test of xrcp handshake
* move KEM to HELLO step
* fix JSON
* type
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-07 13:05:18 +00:00
Evgeny Poberezkin
b5f733d2db
agent: use IORef for DRG ( #882 )
2023-10-31 23:52:13 +00:00
Evgeny Poberezkin
511d793b92
derive JSON instances with TH ( #869 )
...
* derive JSON instances with TH
* defaultJSON
* remove ToJSON
2023-10-26 09:20:30 +01:00
Evgeny Poberezkin
cf8b9c12ff
remove test dependencies ( #861 )
...
* remove test dependencies
* .hlint.yaml
2023-10-22 10:50:36 +01:00
Evgeny Poberezkin
9d12d76078
add fourmolu ( #868 )
...
* add fourmolu
* linebreak
* simplify
* comment
2023-10-22 09:20:14 +01:00
Evgeny Poberezkin
decf25d7dc
refactor http2 file ( #864 )
...
* refactor http2 file
* move fileBlockSize to HTTP2.File
2023-10-19 10:25:21 +01:00
Alexander Bondarenko
96a38505d6
add FromJSON instances ( #856 )
...
* Add FromJSON instances
* add missing FromJSON instances
* more JSON instances
* update comments
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-10-05 15:57:53 +01:00
Evgeny Poberezkin
8d47f69083
agent: fix creating empty file for XFTP to close file ( #851 )
2023-09-21 11:57:00 +01:00
Evgeny Poberezkin
887ccbcf6c
Merge branch 'master' into master-ghc9
2023-09-10 18:00:33 +01:00
Evgeny Poberezkin
0cabe0690b
5.4.0.2: xftp 1.1.1, ntf 1.6.1
2023-09-10 17:44:37 +01:00
Evgeny Poberezkin
504465f8e2
xftp: add 64kb file chunk ( #842 )
...
* xftp: add 64kb file chunk
* disable chunk size 64kb in the agent
* revert rename
2023-09-08 13:31:11 +01:00
Evgeny Poberezkin
5dc3d739b2
agent: support encrypted local files ( #837 )
...
* agent: support encrypted local files
* migration, update store, api
* tests, fix
* use CF.plain
2023-08-31 22:43:58 +01:00
Moritz Angermann
002f36dde0
5.4.0.0: use ghc 9.6.2 ( #791 )
...
* Add 9.6 compat
* compile with GHC9.6.2: dependencies, imports, code
* refactor typeclasses
* refactor record dot
* update cabal version
* update github actions
* update direct-sqlcipher
* 5.4.0.0
* update cabal.project
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-08-24 20:22:02 +01:00
Evgeny Poberezkin
b001b748db
agent: rename functions, remove unused code, stabilize tests ( #830 )
...
* agent: rename functions, stabilize tests
* test pattern match
2023-08-24 19:52:58 +01:00
Evgeny Poberezkin
ec268e2006
agent: wait while agent is in foreground to continue xftp operation ( #831 )
2023-08-24 19:11:44 +01:00
Evgeny Poberezkin
745a144e0c
5.2.1 (ntf 1.5.1, xftp 1.0.1) ( #799 )
2023-07-13 19:23:06 +01:00
Evgeny Poberezkin
f76a5ca5b6
agent: catch IO errors correctly in MonadError ( #795 )
...
* agent: catch IO errors correctly in MonadError
* correction
* correction
* utils
* agentFinally to catch IO exceptions in ExceptT
* rename
* remove, inline
* rename utils
* utils unit test
* test to show catch and finally problems
* tryAllErrors
* enable all tests
2023-07-09 18:04:45 +01:00
Evgeny Poberezkin
94540a2c71
servers: add TCP timeouts to avoid memory leaks ( #776 )
...
* servers: add TCP timeouts to avoid memory leaks
* fix tests
* only use RecvTimeOut
* servers: simple timeout for TCP transport
* revert dependency change
* simplify
* simplify
* simplify 2
2023-06-30 16:22:01 +01:00
Evgeny Poberezkin
4a927d1ae2
ntf server: better batching and logging ( #780 )
...
* ntf server: better batching and logging
* reduce batch delay for ntf server
* comments
* 5.1.3, ntf 1.4.2
* more logging
* more logging
* split large batches, more logging
* remove some logs
2023-06-26 20:14:35 +01:00
spaced4ndy
32a64b994e
remove agentOperationBracket from file transfer ( #755 )
2023-05-15 20:23:18 +04:00
Evgeny Poberezkin
a83f85dc58
5.1.0: smp 1.4.0, xftp 1.0.0
2023-05-12 22:01:32 +01:00
Evgeny Poberezkin
9d83a9c017
configure message/file expiration time in INI file ( #749 )
...
* configure message/file expiration time in INI file
* correct comment
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-05-09 20:07:42 +01:00
spaced4ndy
af3f70829d
xftp: remove user id from internal deletion apis ( #739 )
2023-04-25 12:48:10 +04:00
spaced4ndy
ff8197b87b
xftp: check encrypted file exists when uploading ( #738 )
2023-04-24 19:45:30 +04:00
spaced4ndy
9f0b9a83d6
xftp: use chunk digest as entity id for transport session ( #725 )
2023-04-14 13:01:14 +04:00
Evgeny Poberezkin
27cfc4c62b
move assertForeground ( #724 )
2023-04-14 12:52:18 +04:00
spaced4ndy
5e39c47975
Merge pull request #709 from simplex-chat/xftp-send
...
xftp: recoverable send
2023-04-13 20:13:04 +04:00
Evgeny Poberezkin
ed0f8c79a2
xftp: wait for agent in foreground in XFTP workers without delaying suspension ( #721 )
...
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-04-13 20:04:38 +04:00
spaced4ndy
e346a81e46
xftp: delete snd files on servers ( #722 )
2023-04-13 17:46:43 +04:00
spaced4ndy
e6e17ec637
xftp: api to delete snd files internally, cleanup snd files, tests ( #719 )
2023-04-12 14:50:40 +04:00