Max Radermacher
93a4a6ec3a
Prepare the connection earlier in the launch flow
2025-06-26 12:53:10 -05:00
Max Radermacher
c957cf3c01
Show “Sending…” while waiting for socket to open
2025-06-26 12:53:10 -05:00
Max Radermacher
8eff4b74d2
Add DispatchQueue-backed Monitor functions
2025-06-26 12:53:10 -05:00
Max Radermacher
851776fdaf
Check shouldSocketBeOpen when taking over from NSE
2025-06-24 16:38:14 -05:00
Max Radermacher
f2c5d99ee5
Adjust socket reconnect delays
2025-06-20 11:08:48 -05:00
Max Radermacher
bb2d89e55a
Update to LibSignal v0.75.0
2025-06-17 14:02:29 -05:00
Max Radermacher
34bd529af5
Add Monitor primitive helper methods
2025-06-13 20:09:23 -05:00
Max Radermacher
fcfadc6d10
Add cancellation support for web socket requests
2025-06-13 15:25:20 -05:00
Max Radermacher
6019ef543d
Use web sockets in the notification service
2025-06-05 15:00:41 -05:00
Max Radermacher
a2a49ebd5d
Allow both fetch mechanisms in a single process
2025-06-05 14:59:53 -05:00
Max Radermacher
9fb39dfa8f
Don’t reconnect if elsewhere’d in the background
2025-06-05 14:58:52 -05:00
Sasha Weiss
93d2a9274d
Add optional network/5xx retries to NetworkManager
2025-06-04 14:21:42 -07:00
Max Radermacher
16f0ed8159
Add MonotonicDuration
2025-06-03 18:35:58 -05:00
Max Radermacher
8fddcee17b
Stop processing when the socket closes
2025-06-03 16:50:22 -05:00
Max Radermacher
1be1234460
Wait for disconnect before suspending
2025-06-03 13:48:27 -05:00
Max Radermacher
0b2fe0b8dc
Invert web socket state management paradigm
2025-06-03 00:50:57 -05:00
Max Radermacher
e52b87f3c7
Schedule reconnect if we fail to connect
2025-06-03 00:32:49 -05:00
Max Radermacher
46bbcc4f05
Update connection state after re-warming caches
2025-06-02 15:25:16 -05:00
Max Radermacher
b0c183f9f4
De-protocolize/clean up AppExpiry
2025-06-02 15:24:04 -05:00
Max Radermacher
9952d0c64e
Asyncify AppExpiry (née remove TestScheduler use)
2025-05-30 14:33:15 -05:00
Max Radermacher
9e3f141b31
Rename method to be consistent
2025-05-30 02:34:36 -05:00
Max Radermacher
0a75ea88d5
Asyncify more OWSChatConnection logic
2025-05-30 02:29:16 -05:00
Max Radermacher
4a7c2265c3
Adjust connection keep-alives/reconnects/tokens
2025-05-30 02:25:51 -05:00
Max Radermacher
5c64d1fa0a
Remove OWSChatConnectionUsingSSKWebSocket
2025-05-30 02:13:48 -05:00
Max Radermacher
a0317778d9
Include apnToken when linking a new device
2025-05-22 15:33:48 -05:00
Sasha Weiss
7d6edb6412
Bulk rename MessageBackup types
2025-05-13 11:35:52 -07:00
Sasha Weiss
32a2c55945
Add BackupIdManager
2025-05-05 10:51:42 -07:00
Max Radermacher
4dc6c9ff33
Update default value for maxAverageBackoff
2025-04-30 11:58:50 -05:00
Max Radermacher
a1e479be13
Un-SDS-ify IncomingGroupsV2MessageJob
2025-04-23 17:51:32 -05:00
Max Radermacher
91ea7e2286
Rebuild GroupMessageProcessor types
2025-04-23 17:44:21 -05:00
Max Radermacher
9ff792ab21
Rip out ACKing optimization that may cause stalls
2025-04-22 18:23:12 -05:00
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