Commit Graph

186 Commits

Author SHA1 Message Date
Jordan Rose
70f5d2897f Treat kCFProxyTypeHTTPS as "proxy for https" rather than "using https" 2025-02-26 10:08:44 -08:00
Jordan Rose
3d0963cfbf Use new libsignal connect logic for CDS (again)
This was turned on implicitly in libsignal v0.65.3, but was discovered
to have issues. Those issues should now be fixed, but this time we
have a RemoteConfig kill switch in case there are more. That kill
switch also needs to control the use of system proxies (cf. 1f6fea1a).
2025-02-25 11:30:52 -08:00
Jordan Rose
c536cfe2f9 Update to libsignal v0.67.0 2025-02-25 11:30:52 -08:00
Jordan Rose
1f6fea1a77 For now, don't pass system proxy settings to libsignal 2025-02-24 13:30:00 -08:00
Pete Walters
1b7caa8ce9
Split out various key managment methods into AccountKeyStore 2025-02-24 10:12:47 -06:00
Pete Walters
4af636e7bb
Add OWI header to AccountAttributes request 2025-02-14 15:26:10 -06:00
Pete Walters
1bfd579dd3
Asyncify device linking
Co-authored-by: Max Radermacher <max@signal.org>
2025-02-14 13:04:50 -06:00
Max Radermacher
011f005cf0
Clean up auth types for story/group messages 2025-02-11 14:42:21 -06:00
Max Radermacher
23f0d543ac
Remove handling for unsupported messages 2025-02-11 14:32:26 -06:00
Pete Walters
9c84b751d3
Split SVRKeyDeriver pieces into MasterKey + SVRLocalStorage 2025-02-11 09:25:00 -06:00
Ehren Kret
4fd36fdd79 remove unused objc compat in OWSURLSession 2025-02-10 10:44:16 -06:00
Ehren Kret
8801a0d7e6 remove unused objc compat class OWSSignalServiceObjC 2025-02-10 10:38:08 -06:00
Ehren Kret
826981490f remove unused objc compat on OWSChatConnection 2025-02-10 09:08:48 -06:00
Jordan Rose
61836a5f4f Include StorageService.networkError in isNetworkFailureOrTimeout
And remove the statusCode payload that was never getting set.
2025-02-07 12:26:49 -08:00
Jordan Rose
affc97380f OWSChatConnection: Make regular /v1/keepalive requests for auth chat
This is for parity with the other clients, which use /v1/keepalive
instead of just websocket pings. For authenticated connections, the
server uses these requests to do some consistency checks.

I've only implemented it for OWSAuthConnectionUsingLibSignal; it could
be backported to OWSChatConnectionUsingSSKWebSocket, but we've gone
without it for long enough that it won't hurt to pick it up as part of
the switchover.
2025-02-07 12:25:48 -08:00
Jordan Rose
8e5aa130ae OWSChatConnection: Cancel in-progress libsignal connects on disconnect 2025-02-07 12:25:32 -08:00
Ehren Kret
83b37e74a3 remove unused objc compat 2025-02-07 05:30:56 -06:00
Jordan Rose
1674df46d9 Pass system HTTP proxy settings to libsignal 2025-02-05 10:51:33 -08:00
Ehren Kret
0a5677997e
remove NSDate OWS objc category 2025-02-05 11:06:42 -06:00
Pete Walters
f4ad46f176
Clean up Upload error handling 2025-01-27 11:04:58 -06:00
Max Radermacher
8162f9551f
Add debug-only support for GSEs 2025-01-22 19:20:41 -06:00
Max Radermacher
5ce1b5e074
Fix a bunch of code related to updating groups 2025-01-22 18:38:37 -06:00
Max Radermacher
6f02723dbb
Use the web socket where easily possible 2025-01-21 12:26:39 -06:00
Max Radermacher
7263e2ccf3 Clean up some groups code formatting 2025-01-10 15:23:46 -06:00
Max Radermacher
b7dedf2c0d
Remove last remnants of OWSUserProfile caching 2025-01-08 21:15:10 -06:00
Harry
71f8b829ba
Allow for restarting the provisioning flow (link'n'sync retry button) 2025-01-08 18:42:45 -08:00
Jordan Rose
a856278251 OWSChatConnection: Use libsignal ChatConnection, replacing ChatService 2025-01-08 16:41:37 -08:00
Max Radermacher
823d966c2e
Clean up some deepCopy codegen 2025-01-08 11:41:58 -06:00
Max Radermacher
4c3b4e3a83
Remove anyReload methods from codegen 2025-01-07 16:41:42 -06:00
Jordan Rose
a2727e6484 OWSChatConnection: Update libsignal shadowing implementation as well
See previous update to OWSChatConnection.swift for the motivation
behind these changes.
2025-01-06 18:40:43 -08:00
Jordan Rose
8158531fdd OWSChatConnection: Recreate ChatService for each connection
This is closer to how OWSChatConnectionUsingSSKWebSocket worked, and
also the direction libsignal is going (a later release will introduce
LibSignalClient.ChatConnection to replace ChatService). This removes a
distinction between two kinds of socket cycling that
OWSChatConnectionUsingLibsignal had previously introduced, and
collects most of the state management and updates into one place. It
*does* rely on setting the chat listener at a point *after* the
initial connection has completed, which helps to ensure the order of
events when callbacks start coming in.

This commit does not touch the shadowing connection, which for now
continues to reuse a single ChatService instance.
2025-01-06 18:29:24 -08:00
Max Radermacher
b6018bedcf
Add cancellation support to RESTNetworkManager 2025-01-06 14:48:33 -06:00
Sasha Weiss
117e5e5b19
Remove SignalServiceClient 2025-01-06 11:35:58 -08:00
Sasha Weiss
33189a6d95
Use info from WhoAmI to decide if we need to redeem our subscription 2025-01-03 11:17:40 -08:00
Sasha Weiss
8a7a54cdb5
Remove AccountServiceClient 2025-01-03 11:13:48 -08:00
Sasha Weiss
1b5e457b20
Move WhoAmI request making into a dedicated type 2025-01-03 11:07:16 -08:00
Pete Walters
cc8c7107cc
Update URLSession timeout to 5 min for CDN requests 2024-12-20 16:05:05 -06:00
Harry
dcef13c7ed
Use OWSProgress in Attachment Upload and Download Managers 2024-12-10 09:29:30 -08:00
Sasha Weiss
e47a864a1a
Protocolize and asyncify OWSDevicesService 2024-12-06 12:39:05 -08:00
Harry
7d88672c21
Remove versioned expire timer capability checking 2024-12-02 14:07:53 -08:00
Max Radermacher
7bfe049f30
Improve URLSession error handling 2024-12-02 15:17:19 -06:00
Max Radermacher
b14e99b689
Remove no-longer-needed feature flags 2024-11-22 17:05:44 -06:00
Max Radermacher
b87014a77d
Verify group IDs on peer-to-peer group changes 2024-11-22 16:32:47 -06:00
Max Radermacher
37d793c29b
Add support for GSEs when updating groups 2024-11-22 16:31:30 -06:00
Max Radermacher
8439e67979
Don’t return TSGroupThreads when joining via link 2024-11-20 16:32:27 -06:00
Max Radermacher
3c07b4f7ae
Rebuild RequestMaker to support GSEs 2024-11-20 16:32:04 -06:00
Max Radermacher
e8d25b19df
Fix concurrency warnings related to UnfairLock 2024-11-19 17:31:25 -06:00
Max Radermacher
f9554761e4
Adopt non-deprecated NSKeyedUnarchiver method 2024-11-19 16:44:02 -06:00
Alex Konradi
218a01da38
Remove redundant zkcCredential=true 2024-11-18 14:33:05 -05:00
Sasha Weiss
2000b82c0b
One KeyValueStore to rule them all 2024-11-15 18:47:54 -06:00