Commit Graph

231 Commits

Author SHA1 Message Date
Max Radermacher
a819bb4dac
Convert TSRequest to a struct 2025-04-10 12:49:35 -05:00
Max Radermacher
660103274e
Re-warm caches each time the NSE is triggered 2025-04-10 11:42:06 -05:00
Jordan Rose
abe5f8709e OWSChatConnection: Don't race connection setup with sending requests
The connection isn't ready to use until start(listener:) is called,
but that was happening *after* the connecting Task completed. Now the
Task waits to sync with the serial queue before letting any sends
through.
2025-04-09 13:30:27 -07:00
Max Radermacher
f15537472d
Use clampedNanoseconds where it’s useful 2025-04-08 15:30:36 -05:00
Jordan Rose
cd5881a2bf OWSChatConnection: Avoid repeatedly cycling the libsignal socket
Previously, if three requests timed out at once, the libsignal socket
would be cycled three times. Now that'll only happen once.
2025-04-08 09:42:56 -07:00
Jordan Rose
a03b77a98b OWSChatConnection: De-promisify libsignal requests
There *is* a functionality change here: handling of responses and
request errors no longer jumps to the OWSChatConnection serial queue.
None of the processing done in either the success or failure case
cares what queue it's on, and because of the use of async there were
already no guarantees about the order of enqueues.

Groundwork for the next commit.
2025-04-08 09:42:56 -07:00
Max Radermacher
6b57c58989
Don’t throw assertions when the app is expired 2025-04-07 22:59:55 -05:00
Sasha Weiss
969b0db854
Add SubscriptionFetcher, decoupled from donations 2025-04-07 12:52:44 -07:00
Chris Eager
e3bd4f1a53
improve regional networking options 2025-04-04 13:01:07 -05:00
Max Radermacher
c543747959
Don’t set httpBody for TSRequests 2025-04-03 20:46:15 -05:00
Max Radermacher
6e7c3bb597
Update to LibSignal v0.69.0 2025-04-03 12:46:35 -05:00
Sasha Weiss
8d8c1ef921
Periodic cleanup of FeatureFlags 2025-04-02 17:26:03 -07:00
Pete Walters
3af50ddfd3
Add basic support for QuickRestore 2025-03-31 13:02:44 -05:00
Pete Walters
b82d49478d
Refactor device provisioning 2025-03-31 11:24:51 -05:00
Max Radermacher
9fa8f99629
Fix race condition with “empty queue” notification 2025-03-22 00:02:27 -05:00
sashaweiss-signal
3c79403c27 Put DeviceId uint32Value into request parameters, not the Swift type 2025-03-21 18:10:01 -07:00
Sasha Weiss
1a5cbd9183
Rename postNotificationNameAsync to postOnMainThread 2025-03-21 15:28:35 -07:00
Sasha Weiss
be619eb10b
Make DBWriteTransaction only take sync completions 2025-03-21 15:27:42 -07:00
Max Radermacher
293d981c84
Remove AuthedDevice.DeviceId enum 2025-03-21 17:02:15 -05:00
Max Radermacher
279a11f742
Add DeviceId type 2025-03-21 16:49:38 -05:00
Max Radermacher
10cb6f69f7
Use HttpHeaders in more places 2025-03-21 13:53:38 -05:00
Max Radermacher
8029e258f7
Rename OWSHttpHeaders → HttpHeaders 2025-03-21 13:52:25 -05:00
Max Radermacher
5e5b9f92c4
Convert OWSHttpHeaders to a struct 2025-03-21 13:28:13 -05:00
Max Radermacher
ba107e5f33
Remove unused capabilities 2025-03-20 00:11:10 -05:00
Ehren Kret
d71f61ee35 fix warnings 2025-03-14 10:33:20 -05:00
Sasha Weiss
bb048e8b59
One transaction type to rule them all and in the darkness bind them 2025-03-13 21:43:35 -07:00
Sasha Weiss
e5eabf1110
Remove GRDBTransaction extensions for accessing Database 2025-03-13 21:39:23 -07:00
Sasha Weiss
047e3a38df
Clean up SDSAnyWriteTransaction async completion 2025-03-13 21:38:21 -07: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
Jordan Rose
647b715263 Report networkDidChange event to libsignal even when in the background
...or during app start
2025-03-11 17:07:44 -07:00
Jordan Rose
ced06cb832 Update to libsignal v0.67.4, stub out server alert support 2025-03-11 16:49:30 -07:00
Max Radermacher
97e631aea8
improve regional networking options 2025-03-11 18:03:32 -05:00
andrew-signal
9c983aeb7a
Update invalid configuration 2025-03-11 15:56:20 -04:00
Max Radermacher
265b45d6e1
Wait for the socket to open in more cases 2025-03-10 13:52:49 -05:00
Max Radermacher
6abe506cb0
Asyncify fetchLocalUsersProfile 2025-03-10 13:51:00 -05:00
Max Radermacher
ff8f0c1cdd
Remove various TSGroupThread return values 2025-03-07 15:56:35 -06:00
Max Radermacher
738ef16c3d Use web socket when fetching remote configs 2025-03-06 23:35:16 -06:00
Max Radermacher
56b5275f17
Remove unused versionedExpirationTimer capability 2025-03-06 23:31:39 -06:00
Max Radermacher
c2070943a5
Prefer infallible String → Data construct 2025-03-06 13:56:16 -06:00
Ehren Kret
2659f84403 convert giphyapi off of promises 2025-03-06 10:46:29 -06:00
Ehren Kret
c1adbe67ec
simplify promise code to swift concurrency 2025-03-05 11:35:10 -06:00
Max Radermacher
7171d79643
Rename content field to match the server’s name 2025-03-05 11:26:14 -06:00
Jordan Rose
14e4552633 Remove OWSChatConnectionWithLibSignalShadowing 2025-03-04 17:05:15 -08:00
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