Commit Graph

25 Commits

Author SHA1 Message Date
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