Evgeny Poberezkin
98eb2742bc
Merge branch 'master' into proxy
2024-04-13 18:51:17 +01:00
Evgeny Poberezkin
ebb75ced12
extract SessionVar from AgentClient to reuse ( #1099 )
2024-04-13 18:33:12 +01:00
Evgeny Poberezkin
5e783396e0
5.6.2.2: v5.6.2
2024-04-12 23:14:20 +01:00
Alexander Bondarenko
875ddd80d6
SMP proxy: protocol ( #954 )
...
* WIP: proxy-related types
* test plan
* buildable with stubs
* add auth test
* update protocol
* fix
* update rfc
* update protocol/types
* disable test
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-04-12 18:04:29 +01:00
Evgeny Poberezkin
1219446996
dispose agent instances, fix tests, ( #1089 )
...
* dispose agent instances in tests
* fix quota test
* tests: fix tests with -threaded (#1088 )
* fix some tests
* match RTS opts with apps
* less verbose rts stats
* enable sqlite extended error codes
* clean up
* unfocus
* remove extendedErrorCode
It's actually setExtendedResultCodes, which isn't yet available.
* diff
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
* fix switch test
* fix
---------
Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com >
2024-04-10 19:34:02 +01:00
Evgeny Poberezkin
6bc4f6c94e
5.6.2.1
2024-04-03 10:04:41 +01:00
Evgeny Poberezkin
84b8c8417b
revert base64 change ( #1081 )
2024-04-03 09:27:36 +01:00
Evgeny Poberezkin
bfd532e833
5.6.2.0
2024-04-01 11:33:22 +01:00
Evgeny Poberezkin
6ded721daa
remove monad typeclasses to reduce overhead ( #1077 )
...
* remove monad typeclasses to reduce overhead
* remove unliftIO
* StrictData
* inline
* optional agent port
* avoid MonadUnliftIO instance (#1078 )
* avoid MonadUnliftIO instance
* simpler liftError'
* rename
* narrow down instance
* revert
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
* logServer
---------
Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com >
2024-03-31 20:50:35 +01:00
Evgeny Poberezkin
6c48092f5e
5.6.1.0
2024-03-28 18:23:19 +00:00
Alexander Bondarenko
ee90ea6a69
replace base64-bytestring with base64 ( #1065 )
...
* replace base64-bytestring with base64
* minify
* use bytestring-0.10 compatible fork
PR pending...
* bump base64 fork with text compat
* move compat details to modules
* switch repo
* add back module
* cleanup
* minify
* clean imports
* rename
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-27 23:35:09 +00:00
Evgeny Poberezkin
8496884b42
5.6.0.4
2024-03-21 15:18:11 +00:00
Evgeny Poberezkin
7b6b80cea2
v5.6.0-beta.3
2024-03-19 15:00:42 +00:00
Evgeny Poberezkin
0aa4ae7228
v5.6.0-beta.2
2024-03-12 14:31:30 +00:00
Evgeny Poberezkin
78eb4f764f
v5.6.0-beta.1
2024-03-10 19:41:06 +00:00
Alexander Bondarenko
e04705d9c5
utils: add generic batching and compression ( #1018 )
...
* extract batchTransmissions_
* add Simplex.Messaging.Compression
* add combined compression/batching
* force NonEmpty for batching
* hide FFI and allocation related IO
* split packing
* remove batch compression, tweak API
* OCD over API
* remove Empty, extract passthrough const
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-06 09:10:49 +00:00
Evgeny Poberezkin
ba1bfaa5aa
Merge branch 'master' into pq
2024-03-04 20:13:01 +00:00
Evgeny Poberezkin
dd2bd11584
parameterize version scopes with phantom types ( #1026 )
...
* parameterize version scopes with phantom types
* move Version to another module
* parens
2024-03-04 19:06:51 +00:00
Evgeny Poberezkin
e06e22328f
agent: quantum-resistant double ratchet encryption ( #939 )
...
* doc
* diff
* ratchet header
* types
* ratchet step with PQ KEM, message header with KEM
* comment
* update types, remove Eq instances, store KEM keys to database
* pqx3dh
* PQ double ratchet test
* pqdr tests pass
* fix most tests
* refactor
* allow KEM proposals from both sides
* test names
* agent API parameters to use PQ KEM
* initialize ratchet state for enabling KEM
* fix/test KEM state machine to support disabling/enabling via messages
* more tests
* diff
* diff2
* refactor
* refactor
* refactor
* refactor
* remove Maybe
* rename
* add PQ encryption status to CON, MID and MSG events and sendMessage API results
* different PQ parameter when creating connection
* rename/reorganize types for PQ encryption modes
* rename
* fix testWaitDeliveryTimeout
* rename
* rename2
* ghc8107
* rename
* increase timeouts for concurrent send/receive test
* enable all tests
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-03-03 19:40:49 +00:00
spaced4ndy
294d7ec8dd
agent: delay connection deletion to finish delivery of pending messages ( #1015 )
...
* agent: delay connection deletion to finish delivery of pending messages (wip)
* fixes, test
* notify, test
* add tests
* comment
* add test
* timeout
* test timeout
* up
* more tests
* rename
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-02-29 18:08:58 +00:00
Evgeny Poberezkin
c9ec7ea274
Merge branch 'stable'
2024-02-27 18:07:30 +00:00
Evgeny Poberezkin
5011ac2e7c
Merge branch 'v5522' into stable
2024-02-27 17:58:08 +00:00
Evgeny Poberezkin
0987895926
5.5.2.2
2024-02-27 00:00:29 +00:00
Alexander Bondarenko
2e3c961dab
agent: optimize execution performance of slow memory operations during (re)subscriptions ( #1013 )
...
* agent: remove redundant set building
* tests: add tRcvQueuesTests (#1016 )
* double accounting
* unit tests for invariants
* batch add queues
* ghc8107 compatibility
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2024-02-27 00:00:29 +00:00
Evgeny Poberezkin
32c94df040
5.5.2.1
2024-02-21 14:13:07 +00:00
Evgeny Poberezkin
12dac60397
v5.6.0-beta.0
2024-02-18 16:31:48 +00:00
Evgeny Poberezkin
9254d8dac5
v5.5.3
2024-02-16 11:33:56 +00:00
Alexander Bondarenko
2f7a288280
xftp: add sending and receiving via URI-encoded redirects ( #968 )
...
* xftp: add URI encoding for FileDescription
* tweak URI
* allow smaller blocks
* draft xftpReceiveFileFollow' and xftpSendFilePublic'
* add sending with redirect
* allow 64k chunks
* add migrations with redirect fields
* add test case
* fix deadlock
* revert CLI code
* WIP: working send/receive via URI
* fix field ambiguity
* cleanup
* update agent db schema
* update minimal chunk size
* add rfc
* apply suggestions from code review
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
* add createRcvFileRedirect
* extract Simplex.Messaging.ServiceScheme and reuse for files
* update db schema
* check size/digest on receive complete
* cleanup
* use SIZE/DIGEST errors for redirects too
* split digest/size errors from redirect checks
* fix redirect error encoding
* rename RedirectMeta to RedirectFileInfo
* use query encoding for file URI
* group maybe fields under RcvFileRedirect
* add extras field
* update rfc
* add extras encoding and no-redirect tests
* fix toStrict for old ghc
* extra client data in file descr URI
* remove decoded yaml file
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-02-13 14:08:49 +00:00
Evgeny Poberezkin
e64b6cba4b
5.5.2.0
2024-02-10 22:07:02 +00:00
Evgeny Poberezkin
a516c2f72c
5.5.1.2
2024-02-02 08:19:02 +00:00
Evgeny Poberezkin
2ae1c9f79d
agent: only retry connecting SMP clients when there are pending subscriptions ( #981 )
...
* agent: only retry connecting SMP clients when there are pending subscriptions
* fix
* remove retry on creating clients
* simplify
2024-02-01 16:17:37 +00:00
Evgeny Poberezkin
7a0cd8041b
5.5.1.1
2024-01-22 14:06:52 +00:00
Evgeny Poberezkin
fd4eeb36db
agent: optimize expired messages query ( #976 )
...
* agent: optimize expired messages query
* schema
* fix query
* fix
* typo
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* fix
* refactor
* comment
* refactor2
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-01-22 14:04:57 +00:00
Evgeny Poberezkin
1e49f1c92d
5.5.1.0
2024-01-19 19:47:39 +00:00
Evgeny Poberezkin
f6ed4640d4
5.5.0.6
2024-01-16 17:07:15 +00:00
Evgeny Poberezkin
7f7a77c4eb
SMP protocol: optimize batching transactions, remove Builder ( #961 )
...
* remove Builder
* fewer chunks
* remove lazy bytestrings
* optimize
* pad
2024-01-14 20:42:47 +00:00
Evgeny Poberezkin
ad8cd1d515
5.5.0.5
2024-01-09 19:44:15 +00:00
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
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
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
46056557f8
5.5.0.1: update .cabal
2023-12-23 14:12:20 +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
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
2023-12-19 16:07:11 +00:00
Evgeny Poberezkin
18be2709f5
use crypton instead of cryptonite ( #919 )
2023-12-13 09:32:44 +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