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
spaced4ndy
5819e42305
core: remove CRNewContactConnection response; mobile, desktop: create pending connections based on api responses (CRNewContactConnection was being used as "event" in UI) ( #3489 )
2023-11-30 20:31:32 +04:00
Alexander Bondarenko
6a21d5c7f1
add remote host bindings ( #3471 )
...
* add remote host bindings
* group iface/address together
* rename migration
* add implementation
* update view and api
* bump upstream
* add schema
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-28 16:32:33 +00:00
Evgeny Poberezkin
05278e5a06
core: allow remote host commands without user ( #3478 )
2023-11-27 18:34:15 +00:00
Evgeny Poberezkin
d29f1bb0cf
core: use fourmolu styles ( #3470 )
2023-11-26 18:16:37 +00:00
Evgeny Poberezkin
b1cf1656a0
core: cli remote control help section ( #3445 )
2023-11-24 10:48:14 +00:00
Evgeny Poberezkin
1b7baa244a
core: track network statuses in CLI ( #3434 )
2023-11-23 08:39:08 +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
spaced4ndy
15fdab597b
core: shuffle members when sending messages and introductions; send to admins and owners first ( #3431 )
...
* core: shuffle members when sending messages and introductions; send to admins and owners first
* refactor
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-22 21:36:52 +00:00
Evgeny Poberezkin
324f614e00
core: return remote controller port to UI ( #3430 )
2023-11-22 17:40:10 +00:00
spaced4ndy
718436bf55
core: don't read all group members where unnecessary ( #3403 )
2023-11-20 15:27:15 +04:00
Evgeny Poberezkin
970ca3a409
Merge branch 'master' into remote-desktop
2023-11-20 10:35:20 +00:00
Alexander Bondarenko
68cbc605be
add remote session sequence to prevent stale state updates ( #3390 )
...
* add remote session sequence to prevent stale state updates
* remote RHStateKey
* add StateSeq check to controller
* clean up
* simplify
* undo withRemoteXSession API change
* simplify
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-20 10:19:00 +00:00
spaced4ndy
3a510eeaf0
core: rename forwarded fields ( #3401 )
2023-11-20 14:00:55 +04:00
Evgeny Poberezkin
2a8d7b8926
core: add commands that will not be forwarded to connected mobile ( #3398 )
...
* core: add commands that will not be forwarded to connected mobile
* fail if command that must be executed locally sent to remote host
2023-11-19 20:48:25 +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
42e0400014
core: add remote controller discovery with multicast ( #3369 )
...
* draft multicast chat api
* prepare tests
* Plug discovery into chat api
* Add discovery timeout
* post-merge fixes
* rename discovery state to match others
* update for unified invitation
* fix review notices
* rename, remove stack, update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-17 18:50:38 +00:00
Alexander Bondarenko
c31ae39617
remote: fix circular error handling ( #3380 )
2023-11-16 14:56:39 +00:00
Alexander Bondarenko
339c3d2be1
Send CRRemote*Stopped on all errors ( #3376 )
...
* Send CRRemote*Stopped on all errors
Commands use the same action, made idempotent and don't send events.
* fix tests
* get http2 cancelling back
2023-11-15 17:31:36 +00:00
Evgeny Poberezkin
b71daed3ec
core: include session code in all session states ( #3374 )
2023-11-15 13:17:31 +00:00
Evgeny Poberezkin
4da1d21c81
Merge branch 'master' into remote-desktop
2023-11-14 14:43:58 +00:00
spaced4ndy
5bbde22ffa
core: new message decryption error - ratchet synchronization ( #3367 )
2023-11-14 18:23:05 +04:00
Alexander Bondarenko
598b6659cc
core: better handling of remote errors ( #3358 )
...
* Allow ExitCode exceptions to do their job
* Use appropriate error type
* Close TLS server when cancelling connected remote host
* Add timeout errors
* Bump simplexmq
* extract common timeout value
2023-11-13 18:39:41 +00:00
Evgeny Poberezkin
86bc70fa5a
Merge branch 'master' into remote-desktop
2023-11-13 14:07:31 +00:00
Evgeny Poberezkin
92e3f576ca
core: return controller app info in response when connecting, validate ID key ( #3353 )
2023-11-12 14:40:49 +00:00
spaced4ndy
5beeff5cb6
core: take chat lock when synchronizing ratchet ( #3349 )
2023-11-12 12:41:41 +00:00
Evgeny Poberezkin
8b67ff7a00
core: remote error handling ( #3347 )
...
* core: remote error handling
* fix test, show DB errors
2023-11-11 16:03:12 +00:00
Alexander Bondarenko
227007c8f6
add /switch remote host ( #3342 )
...
* Add SwitchRemoteHost
* Add message test
* Match remote prefix and the rest of the line
* Move prefix match to utils
2023-11-10 17:49:23 +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
Evgeny Poberezkin
3839267f88
Merge branch 'master' into remote-desktop
2023-11-08 13:10:42 +00:00
spaced4ndy
8722d35278
core: fix deletion of contact without connections ( #3327 )
2023-11-08 13:15:08 +04:00
spaced4ndy
ee6bd0f839
core: add image to simplex contact profile ( #3326 )
2023-11-08 10:56:55 +04:00
spaced4ndy
a04dc5d05b
core: preset simplex contact ( #3321 )
2023-11-07 17:45:59 +04:00
Evgeny Poberezkin
2776d864a8
Merge branch 'master' into remote-desktop
2023-11-06 11:44:12 +00:00
Evgeny Poberezkin
b33fe01e49
core: switch to GHC 9.6.3 ( #3307 )
...
* Various fixes aggregated
- windows definisions
- set compile rto 9.6.3
- flake adjust to 9.6.3
- update haskellNix
- add various patches
* Unbreak iOS
* update script and sha256map.nix
* ios: update core lib
---------
Co-authored-by: Moritz Angermann <moritz.angermann@gmail.com >
2023-11-06 11:43:43 +00:00
Evgeny Poberezkin
c2a99987f3
Merge branch 'master' into remote-desktop
2023-11-04 18:54:12 +00:00
Evgeny Poberezkin
4816150b99
core: contacts without connections ( #3313 )
...
* core: contacts without connections
* compiles (some tests don't pass)
* remove commented code
* filter out user contact (fixes tests)
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-11-03 18:15:07 +00:00
Evgeny Poberezkin
8482dbfd99
core: update remote API commands/events ( #3295 )
...
* core: update remote API
* Add session verification event between tls and http2
* roll back char_ '@' parsers
* use more specific parser for verification codes
* cabal.project.local for mac
---------
Co-authored-by: IC Rainbow <aenor.realm@gmail.com >
2023-11-01 19:08:36 +00:00
spaced4ndy
b1fdc936a6
Merge branch 'master' into remote-desktop
2023-10-30 20:58:39 +04: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
Alexander Bondarenko
be44632b0b
implement some of the robust discovery rfc ( #3283 )
...
* implement robust discovery
* remove qualified
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-10-30 14:00:54 +00:00
Evgeny Poberezkin
d90da57f12
core: store/get remote files ( #3289 )
...
* core: store remote files (wip)
* fix/test store remote file
* get remote file
* get file
* validate remote file metadata before sending to controller
* CLI commands, test
* update store method
2023-10-29 19:06:32 +00:00
Evgeny Poberezkin
16bda26022
core: derive JSON with TH ( #3275 )
...
* core: derive JSON with TH
* fix tests
* simplify events
* reduce diff
* fix
* update simplexmq
* update simplexmq
2023-10-26 15:44:50 +01:00
Evgeny Poberezkin
3790752378
Merge branch 'master' into remote-desktop
2023-10-26 00:00:58 +01:00
Evgeny Poberezkin
4a8da196ad
core: more permissive display name validation, only allow single quotes in CLI for the names with spaces ( #3282 )
2023-10-25 11:55:06 +01:00
Evgeny Poberezkin
6185971827
Merge branch 'master' into remote-desktop
2023-10-24 23:19:49 +01:00
spaced4ndy
239765e482
core: create new group with incognito membership ( #3277 )
2023-10-24 20:59:06 +04:00
spaced4ndy
f8332bac7f
core: take chat lock earlier when joining group ( #3272 )
2023-10-24 18:13:19 +04:00
Evgeny Poberezkin
93800268e4
Merge branch 'master' into remote-desktop
2023-10-23 10:04:51 +01:00