Evgeny Poberezkin
291df6e9d0
core: logging of chat events ( #4216 )
...
* core: update simplexmq (persist server errors)
* fix
* same config
* logging
* logging 2
* log
* log 2
* finally
* catch better
* more logs
* logs
* fix
* more logging, context from PROHIBITED
* warning
* more logs
* logs3
* logs4
* logs in simplexmq
* log locks from simplemq
* log queue size
* log sendMessagesB in simplexmq
* update simplexmq
* logs5
* logs6
* logs7
* logs8
* logs8
* logs9
* logs10
* log11
* log12
* fix test
* more logs
* logging
* clean up
* refactor
* simplify
* tags
* log level
* remove network errors from the log
* rename
2024-05-24 21:09:21 +01:00
spaced4ndy
4c0d47bbd4
core: message statuses for sending proxies ( #4161 )
...
* core: delivery path
* update simplexmq
* via proxy snd flags
* error statuses
* rework errors
* proxy expired errors
* corrections
* move backwards compatibile parser to new type
* update simplexmq
* names
* refactor, style
* simplexmq
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-05-15 12:30:05 +01:00
spaced4ndy
7567791866
core: enable PQ encryption for contacts ( #4049 )
...
* wip
* migration
* remove migration
* remove flag wip
* Revert "remove migration"
This reverts commit 9e64663f9d .
* wip
* remove vrange parameterization
* tests mostly pass
* more tests pass
* enable for upgraded contacts
* remove migration
* core: test large messages (#4061 )
* update simplexmq, fix tests
* test test
* another test
* enable tests
* empty
* empty
2024-04-22 17:46:48 +01:00
Evgeny Poberezkin
d90e2f4436
core: remove mtl typeclasses to reduce overhead ( #3975 )
...
* core: remove mtl typeclasses to reduce overhead
* strict data, optimization
* update simplexmq, clean up
* un-unlift attachRevHTTP2Client
* remote
---------
Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com >
2024-04-01 13:34:45 +01:00
Alexander Bondarenko
d65137882b
deps: switch to base64 via simplexmq ( #3957 )
...
* deps: switch to base64 via simplexmq
* update error text
* update nix
* set simplexmq to master
* update paths
2024-03-28 13:09:04 +00:00
Evgeny Poberezkin
e0566599a4
core: 5.6.0.4 ( #3939 )
2024-03-21 19:00:19 +00:00
Evgeny Poberezkin
3f1d86623a
core: 5.6.0.3
2024-03-19 15:20:04 +00:00
spaced4ndy
f3eeb9dcc2
core: temp-folder option ( #3905 )
2024-03-14 10:59:20 +04:00
spaced4ndy
8660bf420a
core (pq): cross-version tests ( #3885 )
...
* core (pq): cross-version tests
* next (fails)
* enable all tests
* fix versions
* update simplexmq
* tests
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-10 18:57:57 +04:00
spaced4ndy
191d833947
core (pq): tests ( #3882 )
...
* core (pq): tests
* rename
* move
* test allow
* mute test output
* pq combinators
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-08 23:09:12 +00:00
spaced4ndy
bc2b135880
core (pq): update types ( #3872 )
...
* core (pq): update types
* imports
* encode / max msg size types
* integrate new types
* update types/pq support
* tests compile
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-03-07 17:39:09 +04:00
Alexander Bondarenko
64dc758ffd
core: compressed message encoding, variable vrange ( #3844 )
2024-03-06 18:02:19 +04:00
spaced4ndy
eebf014ff7
core (pq): integrate agent api, create e2ee info items ( #3859 )
2024-03-05 20:27:00 +04:00
spaced4ndy
b0b249a56a
Merge branch 'stable'
2024-02-22 12:11:23 +04:00
spaced4ndy
c544a636f6
core, ui: remove usage of inline files (send only xftp files) ( #3823 )
2024-02-20 13:56:31 +04:00
Evgeny Poberezkin
e3df7945d5
core: update simplexmq (updated protocol, discontinue old versions) ( #3818 )
...
* core: update simplexmq (updated protocol, discontinue old versions)
* update nix
2024-02-17 16:29:45 +00:00
Evgeny Poberezkin
c65a17fccb
core: output messages and events while executing the CLI command passed via -e option ( #3683 )
...
* core: output messages and events while executing the CLI command passed via -e option
* option
* add option
2024-01-20 14:59:13 +00:00
Evgeny Poberezkin
868acd18d6
core: support deleting the last profile (always create user record in agent when user is created) ( #3654 )
...
* core: only skip creating agent user when app is first started
* firstTime
* prompt
* fix test
* if
* simplexmq
* ci timeout
* skip test
* add test timeout
* log test times
* simplexmq
* timeout
* simplexmq without new batching
* Revert "simplexmq without new batching"
This reverts commit 9879bcb57c .
* without new batching again
* with builder, without sized builder
* lazy bytestring, same batching logic
* fewer chunks
* remove lazy
* optimize batching in simplexmq
2024-01-17 15:20:13 +00:00
Evgeny Poberezkin
64230f3545
Merge branch 'stable'
2024-01-05 20:07:35 +00:00
Evgeny Poberezkin
bb61b9c658
core: update simplexmq (critical errors, worker restarts, subscription timeouts)
2024-01-05 20:07:19 +00:00
Alexander Bondarenko
e253c55ba4
core: compatibility with GHC 8.10.7 ( #3608 )
...
* GHC-8.10 compatibility
* tweak setters
* restore membership
* remove Show Batch
* fix bytestring-10 compat
* preserve membership qualifier in names
* a few more memberships
* rename
* remove with-compiler
* ci: add 8.10 builds, limit releases to 9.6
* use matrix.asset_name as release guard
* fix windows_build
* actually use ghc version from matrix
* fix typo
* revert build/hash split
* add ghc to cache key
* Force cache between build and tests
* use explicit caching steps
* skip unneeded tasks
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
Co-authored-by: Avently <7953703+avently@users.noreply.github.com >
2023-12-29 21:15:14 +00:00
Evgeny Poberezkin
e3a69b12ba
core: 5.4.2.1 (simplexmq 5.5.0.2)
2023-12-27 21:00:19 +00:00
Evgeny Poberezkin
af22348bf8
core: use version from config, add tests ( #3588 )
...
* core: use version from config, add tests
* comment
* refactor
2023-12-24 13:27:51 +00:00
Evgeny Poberezkin
f93f68e425
core: agent background mode for iOS NSE ( #3574 )
...
* core: agent background mode for iOS NSE
* change parameter for APIActivateChat
* fix
* update lib
* update lib
* simplexmq
* simplify
2023-12-23 13:06:59 +00:00
Evgeny Poberezkin
6ba3100d34
core: batch sending messages ( #3566 )
...
* core: batch sending messages
* batch without iorefs (#3573 )
* one-pass
* simplexmq
* simplexmq
* simplexmq
* simplexmq
* revert change to ios project file
* refactor
* simplify
---------
Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com >
2023-12-20 10:38:39 +04:00
Evgeny Poberezkin
7b073ba9f8
core: allow deleting last user ( #3567 )
...
* core: allow deleting last user (tests fail)
* tests, allow activating the hidden user when there is no active user
* hide logs
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* comment
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* comment
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-12-19 10:26:01 +00:00
Evgeny Poberezkin
f9a125bc32
Merge branch 'master' into ios-notifications
2023-12-11 14:11:00 +00:00
Alexander Bondarenko
35c1975d66
core: chat list pagination ( #3505 )
...
* add pagination args to APIGetChats
* add search to chat list API
* rename arg to paginationTs_ to match type
* lift another condition to ids query
* collect all chat refs before sorting, then get details
* split remaining preview functions
* roll back to collecting ids first with query cleanup
* add connection join back to filter out groups
* extract and expand tests
* add fav/unread args
* WIP
* lay out the queries with favs
* tweak tests
* add fav tests
* fix order by in the before case
* build query footer wholly from pagination
* add migration for direct contacts
* fix setting contact_used
* fix setting contact_used for group link contacts
* align search x filters space with UI, support filter by either favorite or unread, optimize queries, indexes
* always set chat_ts, fix tests
* refactor tests
* fix pagination logic, more tests
* refactor, rename
* increase default pagination count
* comments
* refactor
* comment
* report errors
* refactor
* remove unused type
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-12-11 17:50:32 +04:00
Evgeny Poberezkin
d3059afc99
ios, core: better notifications processing to avoid contention for database ( #3485 )
...
* core: forward notifications about message processing (for iOS notifications)
* simplexmq
* the option to keep database key, to allow re-opening the database
* export new init with keepKey and reopen DB api
* stop remote ctrl when suspending chat
* ios: close/re-open db on suspend/activate
* allow activating chat without restoring (for NSE)
* update NSE to suspend/activate (does not work)
* simplexmq
* suspend chat and close database when last notification in the process is processed
* stop reading notifications on message markers
* replace async stream with cancellable concurrent queue
* better synchronization of app and NSE
* remove outside of task
* remove unused var
* whitespace
* more debug logging, handle cancelled read after dequeue
* comments
* more comments
2023-12-09 21:59:40 +00:00
Evgeny Poberezkin
6a9a67db14
cli: option to mark shown messages as read (off by default) ( #3506 )
...
* cli: option to mark shown messages as read (off by default)
* fix tests
* fix tests
2023-12-03 15:42:26 +00:00
Evgeny Poberezkin
d29f1bb0cf
core: use fourmolu styles ( #3470 )
2023-11-26 18:16:37 +00:00
Evgeny Poberezkin
2d4e99d610
cli: set device name for remote control via CLI option ( #3427 )
...
* cli: set device name for remote control via CLI option
* fix
* add property in tests
2023-11-22 22:11:32 +00:00
Evgeny Poberezkin
cc434cda55
Merge branch 'master' into remote-desktop
2023-11-18 18:03:13 +00:00
spaced4ndy
c0e8740f50
core: group message forwarding ( #3360 )
...
* core: group message forwarding types
* xgrpmemcon
* rework xgrpmemcon to use intros table
* only forward w/t error
* forward msg
* xGrpMsgForward, check integrity outside
* deduplicate group messages
* test
* change error
* item forwarded flag
* intro_chat_protocol_version, bump version
* comment
* highly available client option
* more comments
* notify xgrpmemcon on deduplication
* member vrange
* encoding
* remove MsgForward
* remove import
* exclude files from forwarding
* refactor
* rename to align with protocol
* forward more message types
* add events
* remove unused error, function
* add x.file.cancel, x.info and x.grp.mem.new to forwarded messages
* remove unused x.msg.file.cancel
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-18 17:52:01 +00:00
Alexander Bondarenko
b729144773
core: use xrcp protocol for desktop/mobile connection ( #3305 )
...
* WIP: start working on /connect remote ctrl
OOB is broken, requires fixing simplexmq bits.
* WIP: pull CtrlCryptoHandle from xrcp
* place xrcp stubs
* WIP: start switching to RemoteControl.Client types
* fix http2 sha
* fix sha256map.nix
* fix cabal.project
* update RC test
* WIP: add new remote session
* fix compilation
* simplify
* attach HTTP2 server to TLS
* starting host session in controller (WIP)
* more WIP
* compiles
* compiles2
* wip
* pass startRemote' test
* async to poll for events from host, test to send messages fails
* move xrcp handshake test to simplexmq
* detect session stops
* fix connectRemoteCtrl
* use step type
* app info
* WIP: pairing stores
* plug in hello/appInfo/pairings
* negotiate app version
* update simplexmw, remove KEM secrets from DB
* fix file tests
* tone down http2 shutdown errors
* Add stored session test
* bump simplexmq tag
* update simplexmq
* refactor, fix
* removed unused errors
* rename fields, remove unused file
* rename errors
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-08 20:13:52 +00:00
spaced4ndy
f34bbdbd9c
core: improve group link protocol (immediately establish group connection without first creating contact) ( #3288 )
2023-10-30 20:40:20 +04:00
spaced4ndy
b03fe183bb
tests: modify testMemberContactInvitedConnectionReplaced to not rely on chat item order, print output ( #3198 )
2023-10-11 15:26:44 +04:00
Evgeny Poberezkin
4ecf94dfad
core: move CLI notifications and active chat to view layer (for remote CLI) ( #3196 )
...
* core: move CLI notifications to view layer (to allow notifications in remote CLI)
* remove unused
* refactor activeTo
* move activeTo to ChatTerminal
* refactor
* move back
* remove extension
2023-10-11 09:50:11 +01:00
Evgeny Poberezkin
1d34500fba
core: revert stop/close changes made for Windows ( #3145 )
...
* Revert "core: return error response when wrong passphrase is passed to start"
This reverts commit ea319313f1 .
* Revert "core: support closing/re-opening store on chat stop/start (#3132 )"
This reverts commit 3c7fc6b0ee .
2023-09-29 11:14:10 +01:00
Evgeny Poberezkin
3c7fc6b0ee
core: support closing/re-opening store on chat stop/start ( #3132 )
...
* core: support closing/re-opening store on chat stop/start
* update .nix refs
* kotlin: types
* add test
* update simplexmq
2023-09-27 15:26:03 +01:00
Evgeny Poberezkin
904b758e79
Merge branch 'master' into master-ghc9
2023-09-18 21:46:27 +01:00
spaced4ndy
0e5b16498a
core: api to create contacts with group members ( #3053 )
...
* core: api to create contacts with group members
* implementation
* fix contact replace, more tests
* comment
* rename fields
* fix
* fix
* test group is still incognito
* fix
* replace connection instead of contact
* fix
* check version
* style, names
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-09-16 17:55:48 +04:00
spaced4ndy
01f99baaac
Revert "core: direct messages in group ( #2994 )"
...
This reverts commit 5fddf64adb .
2023-09-12 17:36:47 +04:00
spaced4ndy
5fddf64adb
core: direct messages in group ( #2994 )
2023-09-11 18:38:57 +04:00
Evgeny Poberezkin
fedc31c72c
Merge branch 'master' into master-ghc9
2023-09-10 21:11:35 +01:00
spaced4ndy
b6c23b59ca
core: change logic of checking if peer supports feature (check if peer version is compatible) ( #3024 )
2023-09-06 17:48:37 +04:00
spaced4ndy
43e233f0eb
core: don't create direct connections in group ( #2996 )
2023-09-05 20:15:50 +04:00
Moritz Angermann
761ddac55d
core: use GHC 9.6.2 ( #2641 )
...
* Make it compiler with 9.6
Can be built with:
cabal build all -j --allow-newer=base --allow-newer=ghc-prim --allow-newer=template-haskell --allow-newer=bytestring --allow-newer=memory --allow-newer=cryptonite
Using ghc 9.6
It mostly runs afoul of https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0366-no-ambiguous-field-access.rst
* compile with GHC 9.6.2: dependencies, imports, code
* update GHC version in CI
* update GHC version in desktop build scripts
* update simplexmq, sha256map.nix
* update compiler
* update simplexmq, direct-sqlcipher
* remove missing files from .cabal
* building on desktop
* mac build changes
* added version back
* building libffi from source
* update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
Co-authored-by: Avently <7953703+avently@users.noreply.github.com >
2023-08-24 21:56:37 +01:00
Evgeny Poberezkin
75d11c2b4f
core: update simplexmq (fix repeated HELLO message) ( #2962 )
...
* core: update simplexmq (fix repeated HELLO message)
* add callstack to tests
2023-08-21 21:45:16 +01:00
Evgeny Poberezkin
048ada79bb
core: 5.2.0.2, update simplexmq (5.3.0.0) ( #2707 )
...
* core: 5.2.0.2, update simplexmq (5.3.0.0)
* fix tests
2023-07-17 14:44:33 +01:00