Commit Graph

110 Commits

Author SHA1 Message Date
Evan Hahn
f5556d1857
Use durable job for sending badge gifts
Previously, sending a gift badge was not a durable operation, which
meant that crashes/failures could cause users to have their payment
methods charged without actually sending the badge.

Now, the flow is split up into two steps: non-durable parts before the
charge is attempted, and durable parts afterward.

The high-level flow is:

1. Prepare the payment, which involves a couple of repeatable network
   requests.
2. Enqueue a job with the prepared payment, that:
   1. Charges the payment method (idempotently)
   2. Requests a receipt credential (idempotently)
   3. Enqueues a gift message, and optionally a text message
3. When the job completes, open the conversation in the UI.
2022-07-01 17:10:31 -05:00
Nora Trapp
7bd167f815
Initial story sending support
* Little fix for context menu

* Add 'My Stories' section to stories tab

* Add new story thread types

* Show stories in conversation picker

* Support for sending stories

* Update story list when sending stories

* Add basic 'My Stories' view controller

* Initial stories settings screens

* Consolidate TSPrivateStoryThread and TSMyStoryThread into one class

* Require an explicit read transaction to initialize an outgoing message

* Fix linting

* Allow enabling group story from internal settings

* Fix tests

* PR Feedback
2022-06-10 22:28:03 -04:00
Evan Hahn
8009206c18 Respect recipient capabilities when sending gift badges
This respects the `giftBadges` capability when trying to send gift
badges. In other words, it prevents you from sending gift badges to
someone who lacks the capability.

The bulk of this change involves fetching and saving of this new
capability. The rest of the code involves showing it on the "choose
recipient" screen (and some debug screens).
2022-06-10 22:37:22 +00:00
Max Radermacher
724ea55aa7 Add giftBadge property to messages
Also run `Scripts/sds_codegen/sds_codegen.sh`
2022-05-27 12:31:24 -07:00
Jordan Rose
49608044b7 SSK: Remove obsolete OWSMessageDecryptJob
This hasn't been used since before GRDB.
2022-04-11 14:46:43 -07:00
Evan Hahn
8b072620a6 Add "Donation Receipts" view 2022-04-11 16:21:12 -05:00
Nora Trapp
378cc730d1 codegen 2022-03-31 00:37:56 -07:00
Nora Trapp
014fe25b16 sds codegen 2022-03-31 00:34:33 -07:00
Nora Trapp
536c7170df sds codegen 2022-03-31 00:34:32 -07:00
Nora Trapp
e95e392494 Add story context to TSInteraction 2022-03-31 00:34:32 -07:00
Evan Hahn
16aa421d3e More Python 3 script fixes 2022-03-24 10:28:27 -05:00
Nora Trapp
edc89c3db1 Store badge receipt credential presentation on the durable job 2021-11-17 15:14:03 -08:00
Eugene Bistolas
78cb9352c3 [Badging] Durable receiptCredential fetch and redemption 2021-11-15 12:47:35 -10:00
Michelle Linington
0b698fbd69 Run codegen 2021-11-09 14:25:42 -08:00
Matthew Chen
647f723610 Add OWSStaticOutgoingMessage. 2021-08-25 22:43:42 -03:00
Nora Trapp
42b2575775 Add isHighPriority field and promise support to message sender job queue 2021-08-16 13:27:43 -07:00
Nora Trapp
fee1bbddad Add exclusiveProcessIdentifier to SSKJobRecord 2021-08-16 13:27:00 -07:00
Michelle Linington
023b080dc3 PR Feedback: Remove leftover SDS definitions 2021-07-21 22:58:51 -07:00
Michelle Linington
2eb60643b7 Sender key decryption failure handling
Most of the work for message resend requests. Includes some rudimentary
failure UI.
2021-07-21 22:58:51 -07:00
Michelle Linington
59f2015fba Add OWSOutgoingSenderKeyDistributionMessage
When preparing to send a SenderKey message, we'll need to send out an
SKDM to participants. Although these can be tacked on to any message,
we'll need an outgoing message builder for these dedicated messages.
2021-07-21 22:58:50 -07:00
Matthew Chen
58e27fe782 Ignore avatar in incoming contact syncs. Use batching when processing incoming/outgoing contact syncs. 2021-06-30 15:23:49 -03:00
Nora Trapp
ba4ba30177 Codegen 2021-06-30 09:54:26 -07:00
Matthew Chen
f004267e7f Fix thread record property mapping. 2021-05-25 16:22:33 -03:00
Matthew Chen
2c7c7b3d1c Replace ConversationColors with "avatar colors". 2021-05-25 16:22:31 -03:00
Matthew Chen
7a4ad637f0 Replace ConversationColors with "avatar colors". 2021-05-25 16:22:31 -03:00
Nora Trapp
e439bb619e Move isArchived, isMarkedUnread, and mutedUntilDate off of TSThread 2021-05-13 12:54:33 -07:00
Nora Trapp
db3e441727 Send viewed receipts for audio messages 2021-04-29 18:01:19 -07:00
Nora Trapp
bf660c85ce Add TSGroupMember table to allow performant querying of group membership 2021-04-08 13:44:00 -07:00
Matthew Chen
46c3408726 Update SDS to reflect payment columns. 2021-04-08 09:27:05 -03:00
Nora Trapp
73f4044ebf Fix db schema 2021-04-07 18:56:01 -07:00
Matthew Chen
cbfc7be372 Revisions to payments in SSK. 2021-04-06 13:57:07 -03:00
Matthew Chen
87ace3779d Respond to CR and proto schema/reconciliation review. 2021-04-06 13:57:06 -03:00
Matthew Chen
a00d14ddc4 Payments: Models 2021-04-06 13:57:06 -03:00
Nora Trapp
63da30f617 Store mute as millisecond timestamp 2021-03-27 12:13:20 -07:00
Matthew Chen
d3eb77d6d3 Refine handling of unverified safety number changes. 2021-01-21 22:31:08 -03:00
Matthew Chen
3bb5f0777b Add profile bio fields to database schema. 2021-01-14 22:25:45 -03:00
Matthew Chen
111338b59d Rewrite conversation view. 2020-12-10 12:44:13 -03:00
Michelle Linington
f6a252d274 Send a group call update message when joining and leaving a group call 2020-11-19 16:02:22 -08:00
Nora Trapp
d8ca084b65 Tweak database fields and update RingRTC 2020-11-19 16:02:22 -08:00
Nora Trapp
b32c5bda4a Add scaffolding for Group Call messages 2020-11-19 16:02:22 -08:00
Matthew Chen
ce1dcbade5 Animated sticker support. 2020-09-02 13:44:15 -03:00
Nora Trapp
fc2d80335f codegen 2020-08-20 16:48:54 -07:00
Nora Trapp
b035d35510 Add dedicated video call button 2020-08-14 20:44:03 -07:00
Nora Trapp
6f963c7ba5 Add mention notification settings 2020-08-04 14:09:06 -07:00
Nora Trapp
e8ec5330a0 Add mentions to the database 2020-08-04 14:08:29 -07:00
Matthew Chen
3b5d8ac8ba Track last messaging date on user profile. 2020-07-08 11:04:01 -03:00
Matthew Chen
c7b456b0d0 Track last fetch date on user profile. 2020-07-08 11:04:01 -03:00
Matthew Chen
059909bd1b Address sticker perf hotspots. 2020-06-23 10:07:18 -03:00
Nora Trapp
d0534ea642 Preserve conversation scroll position 2020-06-18 16:25:04 -07:00
Matthew Chen
9bc526b6bb Respond to CR. 2020-06-18 12:49:35 -03:00