Commit Graph

54 Commits

Author SHA1 Message Date
Max Radermacher
36d511ca05
Fix RemoteConfigManager assertion 2025-03-11 18:23:05 -05:00
Max Radermacher
827a3aa084
Add kill switch for LazyDatabaseMigratorRunner 2025-03-07 17:41:08 -06:00
Max Radermacher
8a21e2f959 Fix bug where remote config wouldn’t refresh 2025-03-06 23:35:16 -06:00
Max Radermacher
1810cfc624 Don’t return the remote config when refreshing 2025-03-06 23:35:16 -06:00
Max Radermacher
738ef16c3d Use web socket when fetching remote configs 2025-03-06 23:35:16 -06:00
Max Radermacher
c2070943a5
Prefer infallible String → Data construct 2025-03-06 13:56:16 -06:00
Jordan Rose
14e4552633 Remove OWSChatConnectionWithLibSignalShadowing 2025-03-04 17:05:15 -08:00
Jordan Rose
0b4d71668c
Turn on libsignal-based chat connections for beta users
This can be forced on or off using the new RemoteConfig setting:
`ios.useLibsignalForChat`.

The change will take place the *next* time the app is launched, since
the prior value of these settings (including the default, previously
always false) is recorded in UserDefaults for use during app startup.
2025-03-04 13:54:03 -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
Ehren Kret
0a5677997e
remove NSDate OWS objc category 2025-02-05 11:06:42 -06:00
Max Radermacher
6f02723dbb
Use the web socket where easily possible 2025-01-21 12:26:39 -06:00
Harry
79ff5f48cc
Remote config tsattachment migration delay 2025-01-17 11:25:47 -08:00
Max Radermacher
69599419d3
Stop reading deprecated serverEpochTime field 2025-01-10 15:24:40 -06:00
Harry
f4ee34796f
Run TSAttachmentMigration while the app is running; allow it to be run blocking but incremental 2025-01-07 17:06:23 -08:00
Sasha Weiss
117e5e5b19
Remove SignalServiceClient 2025-01-06 11:35:58 -08:00
Harry
55a0d23351
Asyncify RemoteConfig fetching 2025-01-03 12:32:32 -08:00
Max Radermacher
6e9c8ed888
Reduce verbosity when launching 2024-12-17 19:54:13 -06:00
Harry
d9be87a76d
Make TSAttachment migration non-blocking again
Co-authored-by: sashaweiss-signal <sasha@signal.org>
2024-12-16 18:09:20 -08:00
Max Radermacher
6755175fe6
Clean up PhoneNumber and PhoneNumberUtil 2024-11-22 17:06:12 -06:00
Max Radermacher
f9554761e4
Adopt non-deprecated NSKeyedUnarchiver method 2024-11-19 16:44:02 -06:00
Sasha Weiss
2000b82c0b
One KeyValueStore to rule them all 2024-11-15 18:47:54 -06:00
Max Radermacher
91c9c46ed9
Remove unused CDS code 2024-11-06 18:58:22 -06:00
Max Radermacher
c3cd9f13cc
Clean up some noisy lines 2024-11-01 17:33:38 -05:00
Jordan Rose
d279d682ec Turn off libsignal-net shadowing experiment by default 2024-10-29 15:56:24 -07:00
Max Radermacher
b902790b93
Add & use global.messageQueueTime remote config 2024-10-18 15:07:10 -05:00
Ehren Kret
de32c7799d remove NSObject and Dependencies extension computed vars for SignalServiceKit 2024-10-11 23:12:59 -05:00
Max Radermacher
bc3b214886
Clean up call link feature flags 2024-10-09 14:05:34 -05:00
Max Radermacher
72929bd2ef
Remove unnecessary isAppReady check 2024-10-07 19:32:48 -05:00
Harry
ba2f10732e
Parametrize transaction type in DB v2 protocol 2024-10-04 16:12:52 -07:00
Max Radermacher
0a695ddf90
Add ios.senderKeyMaxAge remote config 2024-10-04 15:10:03 -05:00
Harry
f3e0f797f8
Finalize AppReadiness' modernization 2024-10-01 12:53:37 -07:00
Harry Sanabria
81f95f8164 Pass AppReadiness to RemoteConfigManager 2024-09-27 16:30:12 -07:00
Harry
fd0a34909e
Add non-global AppReadiness protocol + impl 2024-09-27 12:36:15 -07:00
Max Radermacher
7b4a674eb5
Don’t use fallthrough in RemoteConfig enums 2024-08-23 15:02:46 -05:00
Max Radermacher
527280f78f
Use RemoteConfig as an instance type 2024-08-23 14:59:44 -05:00
Max Radermacher
5ff2dc4587
Remove ObjC support from flags 2024-08-23 14:56:05 -05:00
Harry
83ebf96c0d
Add media tier attachment download source enum cases 2024-08-07 15:43:38 -07:00
Ehren Kret
3f04087244 replace Cryptography.computeSHA256Digest with CryptoKit.SHA256.hash(data:) 2024-08-05 12:29:18 -05:00
Jordan Rose
9c443d6073 Turn libsignal-net request shadowing back down to "low" for beta users
Since the threshold for reporting is an absolute count of errors,
eventually everybody on the "high" shadowing mode will see them.
Rather than make that tracking more complex right now, turn the
shadowing back down to "low", which only ever logs about issues and
does not ask the user to report them to us. We've already gotten
the signal we need.
2024-07-10 17:32:55 -07:00
Harry
bb083ca39c
Fold SignalCoreKit into SignalServiceKit
Co-authored-by: Adam Sharp <sharplet@signal.org>
2024-06-26 08:44:41 -07:00
Max Radermacher
32b7493c7c
Simplify ios.clientExpiration parsing 2024-06-25 13:39:36 -05: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
Max Radermacher
91134254cb
Add RemoteConfig for callLinkJoin 2024-06-18 12:13:37 -05:00
Sasha Weiss
d193a937c8
Add a capability to enable sending DeleteForMe sync messages 2024-06-13 11:12:05 -07:00
Sasha Weiss
4a7be90003
Send support for DeleteForMe sync messages 2024-06-04 15:18:39 -07:00
Jordan Rose
58720baa80 Turn on "high" shadowing for unauth requests for beta users
This can still be overridden with the
ios.experimentalTransportEnabled.shadowingHigh remote config flag if
necessary.
2024-05-06 11:57:33 -07:00
Alex Konradi
f05c7fd129
Turn on libsignal CDSI lookup for all builds 2024-05-06 09:53:45 -04: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
Sasha Weiss
c26ad8a4e5
Add an "inactive linked device" megaphone 2024-04-24 11:28:33 -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