Jordan Rose
79adaddd0b
Adopt libsignal's "typed API" for username lookup
2025-09-08 18:24:33 -07:00
Max Radermacher
0ee384908e
NO MORE REST
2025-08-27 18:09:16 -05:00
Max Radermacher
b48560b6d0
Use the web socket immediately after registration
2025-08-25 16:32:07 -05:00
Max Radermacher
86e9ba1be6
Always use the web socket to test the proxy
2025-08-13 11:30:27 -05:00
Max Radermacher
f9415b9fec
Simplify connection state concurrency guarantees
2025-08-08 16:01:24 -05:00
Max Radermacher
ba5ff49c10
Clean up some auth/unauth socket distinctions
2025-08-08 15:31:00 -05:00
Max Radermacher
1482ef24f0
Remove shouldReconnectIfConnectedElsewhere
2025-07-25 12:44:10 -05:00
Max Radermacher
48af5c8c35
Use the web socket in the share extension
2025-07-22 08:48:14 -05:00
Max Radermacher
94b697d8ae
Don’t connect concurrently in multiple processes
2025-07-21 13:08:48 -05:00
kate-signal
33a8457599
Megaphone for inactive primary devices
2025-07-16 13:10:05 -07:00
Max Radermacher
8eff4b74d2
Add DispatchQueue-backed Monitor functions
2025-06-26 12:53:10 -05:00
Max Radermacher
851776fdaf
Check shouldSocketBeOpen when taking over from NSE
2025-06-24 16:38:14 -05:00
Max Radermacher
a2a49ebd5d
Allow both fetch mechanisms in a single process
2025-06-05 14:59:53 -05:00
Max Radermacher
9fb39dfa8f
Don’t reconnect if elsewhere’d in the background
2025-06-05 14:58:52 -05:00
Max Radermacher
8fddcee17b
Stop processing when the socket closes
2025-06-03 16:50:22 -05:00
Max Radermacher
1be1234460
Wait for disconnect before suspending
2025-06-03 13:48:27 -05:00
Max Radermacher
0b2fe0b8dc
Invert web socket state management paradigm
2025-06-03 00:50:57 -05:00
Max Radermacher
46bbcc4f05
Update connection state after re-warming caches
2025-06-02 15:25:16 -05:00
Max Radermacher
0a75ea88d5
Asyncify more OWSChatConnection logic
2025-05-30 02:29:16 -05:00
Max Radermacher
4a7c2265c3
Adjust connection keep-alives/reconnects/tokens
2025-05-30 02:25:51 -05:00
Max Radermacher
5c64d1fa0a
Remove OWSChatConnectionUsingSSKWebSocket
2025-05-30 02:13:48 -05:00
Max Radermacher
95c18efb2d
Consolidate TSRequest auth into a single type
2025-03-13 13:35:35 -05:00
Jordan Rose
46346d17d9
Revert "Mitigate unidentified connection assertion"
...
This reverts commit f93be49c1a
now that the libsignal bug has been addressed.
2025-03-12 16:09:26 -07:00
Max Radermacher
f93be49c1a
Mitigate unidentified connection assertion
2025-03-12 09:01:38 -05:00
Max Radermacher
265b45d6e1
Wait for the socket to open in more cases
2025-03-10 13:52:49 -05:00
Jordan Rose
14e4552633
Remove OWSChatConnectionWithLibSignalShadowing
2025-03-04 17:05:15 -08:00
Jordan Rose
1f6fea1a77
For now, don't pass system proxy settings to libsignal
2025-02-24 13:30:00 -08:00
Ehren Kret
0a5677997e
remove NSDate OWS objc category
2025-02-05 11:06:42 -06:00
Harry
ba2f10732e
Parametrize transaction type in DB v2 protocol
2024-10-04 16:12:52 -07:00
Ehren Kret
5ea36cd91b
enable internal imports by default
2024-09-29 20:03:17 -05:00
Harry Sanabria
983f0445ca
Pass AppReadiness instance to ChatConnectionManager and friends
2024-09-27 15:18:34 -07:00
Harry
fd0a34909e
Add non-global AppReadiness protocol + impl
2024-09-27 12:36:15 -07:00
Max Radermacher
ef678d2720
Keep the web socket open while on a call
2024-09-27 11:40:39 -05:00
Jordan Rose
9e72dcbb3d
OWSChatConnection: Eliminate DependenciesBridge
...
The libsignal-based connections now have all dependencies passed in
explicitly; the classic and shadowing connections still have a few
GlobalDependencies, but those classes will be eliminated altogether in
the long term.
2024-09-19 10:25:36 -07:00
Max Radermacher
527280f78f
Use RemoteConfig as an instance type
2024-08-23 14:59:44 -05:00
Max Radermacher
46a3e9c58a
Extract cooperative timeout & cancellation logic
2024-08-12 13:46:37 -05:00
Jordan Rose
9a3377216d
Update to libsignal 0.54.0
...
Includes code changes for libsignal splitting ChatService into
AuthenticatedChatService and UnauthenticatedChatService, which is more
in line with how iOS does things anyway. Also now supports receiving
stories on the auth connection using libsignal.
2024-07-26 17:16:56 -07:00
Max Radermacher
d8785da0b7
Don’t wait for the web socket in the NSE
2024-06-27 14:07:38 -05:00
Harry
bb083ca39c
Fold SignalCoreKit into SignalServiceKit
...
Co-authored-by: Adam Sharp <sharplet@signal.org>
2024-06-26 08:44:41 -07:00
Jordan Rose
54e4f752c9
Add OWSAuthConnectionUsingLibSignal
...
This is a *subclass* of OWSChatConnectionUsingLibSignal, mainly
because the authenticated/identified connection really does have
capabilities the unauth/unidentified one does not, and splitting those
out makes it easier to see which are which.
For now each websocket connection, identified and unidentified, has
its own libsignal ChatService instance, even though ChatService is
designed to manage both connections together. Later on in the
migration it'll make sense to consolidate them, but under the existing
structure of OWSChatConnection this is the easiest way to manage their
lifecycles.
Controlled by new RemoteConfig flag
"ios.experimentalTransportEnabled.libsignalAuth" (and for local
testing, UserDefaults flag UseLibsignalForIdentifiedWebsocket).
2024-06-20 15:42:00 -07:00
Jordan Rose
1661eb780b
OWSChatConnectionUsingLibsignal: Add proxy support
2024-05-31 12:24:51 -07:00
Jordan Rose
401d55d751
OWSChatConnection: Handle TLS proxies for libsignal shadowing
2024-05-03 17:36:29 -07:00
Jordan Rose
4a0879eb78
Add OWSChatConnectionUsingLibsignal
...
The choice of whether or not to use this is controlled by a
RemoteConfig flag, ios.experimentalTransportEnabled.libsignal, but
because ChatConnectionManager is set up before RemoteConfig has even
loaded its cached settings, the flag is cached in UserDefaults, like
the shadowing kill switch setting.
2024-04-26 13:13:48 -07:00
Jordan Rose
4afddfe93d
Add a RemoteConfig flag to turn off libsignal unauth request shadowing
...
It's not likely we'll need this, but just in case.
2024-04-22 10:00:54 -07:00
Jordan Rose
e8eed60d35
Shadow successful unauth chat requests with a libsignal request
...
This will help identify scenarios where libsignal is deficient
compared to the current implementation.
2024-04-04 14:43:31 -07:00
Max Radermacher
e10faa8593
Remove src/ prefix from SignalServiceKit files
2024-03-27 12:22:52 -05:00