Commit Graph

23 Commits

Author SHA1 Message Date
Harry
6acaf28187
Clean up PreparedOutgoingMessage 2024-04-04 12:55:20 -07:00
Harry
3915fd14db
Use PreparedOutgoingMessage in MessageSender 2024-04-03 13:26:49 -07:00
Harry
ef97f3d8f1
Pre-upload contact syncs before sending 2024-04-03 13:26:05 -07:00
Harry
0e24aa35ff
Add edit message as an explicit type in the new message send preparers 2024-03-29 11:24:18 -07:00
Harry
71f06fc3c2
Remove OutgoingMessagePreparer from MessageSendJobQueue 2024-03-28 10:38:12 -07:00
Harry
038a5f0ac0
Accept PreparedOutgoingMessage in MessageSenderQueue 2024-03-28 09:50:02 -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
517de6a9bd
Clean up some debug/verbose lines 2024-03-26 16:37:23 -05:00
Harry
9aa258b58c
Remove unneeded objc declarations on methods 2024-03-26 13:28:09 -07:00
Harry
8090e47a73
Use an explicit enum on MessageSenderJobRecord 2024-03-26 13:26:47 -07:00
Harry
768535363c
Require transaction in TSMessage.hasRenderableContent 2024-02-27 14:21:41 -08:00
Max Radermacher
b095509975
Drop obsolete removeMessageAfterSending support 2024-01-04 14:37:54 -06:00
Max Radermacher
6d16de2522
Change how job queue labels are specified 2023-12-11 13:39:48 -06:00
Max Radermacher
f848a6373f
Swiftify the rest of MessageSender 2023-11-27 11:29:23 -06:00
Max Radermacher
b6fec5c1db
Remove a bunch of debug Bench events 2023-11-21 11:12:18 -06:00
Max Radermacher
1323ccbe7a
Make JobQueue.isSetup’s container immutable 2023-11-15 18:23:55 -06:00
Sasha Weiss
7f41ecaa8b
Support SEPA bank transfer donations 2023-11-06 13:49:40 -08:00
Max Radermacher
ebc5e15b9e Improve code to fetch thread for a given message 2023-06-23 12:48:30 -05:00
Sasha Weiss
a6fbbefa9b
Remove PniIdentitySyncMessage 2023-05-10 14:35:48 -07:00
Sasha Weiss
c9fbc9a9ee
Migrate SSKJobRecord and subclasses to SDSCodableModel using factory init 2023-04-13 10:57:48 -07:00
Max Radermacher
898fd2c4d5
Clean up queue names 2023-02-27 14:16:09 -08:00
Max Radermacher
0598c3f9b9
Clean up JobRecordFinder 2023-02-22 13:54:56 -08:00
Sasha Weiss
242dfd2bce
Add all JobQueues to environment, via a wrapper
Currently, only some `JobQueue` types are initialized during startup
(as part of `Environment`, or `SSKEnvironment`). Initialization is
required, however, for a `JobQueue` type to restart any latent jobs.
That means that, for example, a durable `SendGiftBadge` job that failed,
and should be reattempted at a later date, will not in fact be restarted
since no `SendGiftBadgeJobQueue` will be initialized at launch.

This change adds `SSKJobQueues` and `SignalMessagingJobQueues` types,
which are intended to be singletons that hold within them a singleton
job queue for each of our `JobQueue` types. These wrappers are added to
`SSKEnvironment` and `Environment` (from SignalMessaging) respectively,
ensuring that all the `JobQueue`s they contain are initialized as part
of environment setup. The wrappers also avoid the need to add a new
property to the (already large) environment types for each new future
`JobQueue`.

This change also updates all existing call sites that accessed a
`JobQueue` from an environment object, to direct that access now through
the wrapper type.
2022-11-09 14:08:44 -06:00