Commit Graph

19 Commits

Author SHA1 Message Date
Jordan Rose
0ac5558493 Move libsignal-net proxy handling into SignalProxy
Since this already affects more than just the chat connection, having
it in OWSChatConnection isn't really the best choice. This way we can
be sure the libsignal Net instance's proxy settings will be updated
before any notifications go out.
2024-05-17 16:20:13 -07:00
Max Radermacher
3526c2b650
Remove unused canBuildWebSocket 2024-05-17 13:53:08 -05:00
Jordan Rose
6363dc07d1 OWSChatConnectionUsingLibSignal: 7a396ba9f, again 2024-05-13 10:18:08 -07:00
Jordan Rose
401d55d751 OWSChatConnection: Handle TLS proxies for libsignal shadowing 2024-05-03 17:36:29 -07:00
Jordan Rose
7e98708fdd Revert "OWSChatConnection: disable shadowing requests under CC"
libsignal 0.45.1 makes this work correctly.

This reverts commit f78a4dfaa5.
2024-05-02 10:57:55 -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
f78a4dfaa5 OWSChatConnection: disable shadowing requests under CC
The previous comment describes the planned behavior, but it isn't
actually working yet.
2024-04-22 10:01:13 -07:00
Jordan Rose
c3da50e5d5 OWSChatConnection: Bump the libsignal shadowing timeout to 3sec
Most requests on good networks happen well under 2sec, but there have
been a few timeouts that seem spurious (distinct from a series of
timeouts all happening in a row on the libsignal websocket).
2024-04-22 09:49:58 -07:00
Jordan Rose
68901267fd OWSChatConnection: Improve shadowing logs
...mainly by including the original request ID, so they can be
correlated better.
2024-04-11 16:51:01 -07:00
Max Radermacher
7a396ba9f7
Fix malformed request errors for long URLs 2024-04-05 20:05:17 -05: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
Jordan Rose
32612376a9 OWSChatConnection: micro-optimization 2024-04-04 14:43:31 -07:00
Jordan Rose
70b3e6542b OWSChatConnection: remove unused variable 2024-04-04 14:43:31 -07:00
Jordan Rose
832fd61c82 OWSChatConnection: Simplify/consolidate request building 2024-04-04 14:43:31 -07:00
Jordan Rose
b0de59f2e2 Remove required from every init that is not dynamically dispatched
This included:
- Removing unavailable inits wholesale if no longer `required`
- Marking a few classes `final` so they could continue using
  `Self(...)` rather than `OWSWhatever(...)`
2024-04-01 15:27:20 -07:00
Jordan Rose
8f3b28c09c OWSChatConnection: percent-encode websocket request paths
The server decodes percent-escapes within these paths, so we should
leave them encoded, as URL provides by default.
2024-03-28 10:45:17 -07:00
Jordan Rose
3df4d465fe Remove AtomicLock; it was just a simple wrapper around UnfairLock 2024-03-27 10:57:32 -07:00
Jordan Rose
2727a70b90 Make AtomicValue's lock-sharing explicit
Also:
- Remove AtomicUInt's @objc, it's no longer used from ObjC
- Remove Codable conformances, they would implicitly use shared locks
  and weren't used in practice
2024-03-27 10:57:32 -07:00
Max Radermacher
e10faa8593
Remove src/ prefix from SignalServiceKit files 2024-03-27 12:22:52 -05:00