Evgeny and GitHub
59b31e2631
core: compress commands in remote connection ( #5776 )
...
* core: compress commands in remote connection
* backwards compatible compression
* show in CLI if compression is enabled
* use aroundWith for ghc 8.10.7 compatibility
* skip bot API tests in GHC 8.10.7
2025-12-30 07:49:17 +00:00
Evgeny and GitHub
88547ab704
core: use longer timeouts for background network requests, support retries with increased timeouts ( #6043 )
...
* core: use longer timeouts for background network requests, support retries with increased timeouts
* ios: update types
* ios: allow user retry actions with failed network requests
* build: add exporting API functions with retry
* android, desktop: update types and C APIs
* android, desktop: alert to retry action on network error
* simplexmq
2025-07-07 11:01:03 +01:00
Evgeny and GitHub
24b0f0290b
core: pass event and response error without dedicated constructor ( #5869 )
...
* core: pass event and response error without dedicated constructor
* ios: WIP
* android, desktop: update UI for new API
* ios: fix parser
* fix showing invalid chats
* fix mobile api tests
* ios: split ChatResponse to 3 enums, decode API results on the same thread
* tweak types
* remove throws
* rename
2025-05-05 11:51:22 +01:00
Evgeny and GitHub
a0d1cca389
core: split response to two types, to improve iOS parsing memory usage ( #5867 )
...
* core: split response to two types, to improve iOS parsing memory usage
* ios: split core events to separate types
* comment
* limit more events to CLI
* fix parser
* simplemq
2025-05-04 22:14:36 +01:00
Evgeny and GitHub
0f301adc57
core: xrcp encryption with forward secrecy ( #4926 )
...
* core: xrcp encryption with forward secrecy (tests intermittently fail)
* track and correlate keys
* simplify
* refactor
* remove comment
2024-09-24 09:25:41 +01:00
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
Evgeny Poberezkin and GitHub
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 and GitHub
7bcda7e54b
core: use ChaChaDRG as the source of randomness ( #3551 )
...
* core: use ChaChaDRG as the source of randomness
* do not use entropy directly
* dont use RNG from agent
* simplexmq
* update iOS
2023-12-21 00:42:40 +00:00
Evgeny Poberezkin and GitHub
d29f1bb0cf
core: use fourmolu styles ( #3470 )
2023-11-26 18:16:37 +00:00
Evgeny Poberezkin and GitHub
0a4920daae
core: encrypt stored/loaded remote files ( #3366 )
...
* core: encrypt stored/loaded remote files
* simplexmq
* constant
2023-11-14 16:44:12 +00:00
Evgeny Poberezkin and GitHub
02225df274
core: remote control command/response encryption and signing inside TLS ( #3339 )
...
* core: remote control command/response encryption inside TLS (except files, no signing)
* sign/verify
* update simplexmq
* fix lazy
* remove RSNone
2023-11-10 16:10:10 +00:00
Evgeny Poberezkin and GitHub
3dd62ab05a
core: remove Hello from the app remote protocol ( #3336 )
2023-11-09 09:37:56 +00:00
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
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 and GitHub
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 and GitHub
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
0d1a080a6e
remote protocol ( #3225 )
...
* draft remote protocol types and external api
* types (it compiles)
* add error
* move remote controller from http to remote host client protocol
* refactor (doesnt compile)
* fix compile
* Connect remote session
* WIP: wire in remote protocol
* add commands and events
* cleanup
* fix desktop shutdown
* prepare for testing remote files
* Add file IO
* update simplexmq to master
with http2 to 4.1.4
* use json transcoder
* update simplexmq
* collapse RemoteHostSession states
* fold RemoteHello back into the protocol command
move http-command-response-http wrapper to protocol
* use sendRemoteCommand with optional attachments
use streaming request/response
* ditch lazy body streaming
* fix formatting
* put body builder/processor closer together
* wrap handleRemoteCommand around sending files
* handle ChatError's too
* remove binary, use 32-bit encoding for JSON bodies
* enable tests
* refactor
* refactor request handling
* return ChatError
* Flatten remote host
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-10-22 09:42:19 +01:00