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
Evan Hahn
e679707038
Fix SwiftLint shorthand_operator violations
...
The gist is:
```diff
-foo = foo + 1
+foo += 1
```
Most of the violations were in generated files, so I changed and re-ran the generator.
A few of these violations required implementing some new methods, which I added tests for.
See [the docs for this rule][0].
[0]: https://realm.github.io/SwiftLint/shorthand_operator.html
2022-06-07 14:51:57 +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
Evan Hahn
c254811765
Remove unnecessary coding: utf-8 heading from Python scripts
...
Python 3 uses UTF-8 for source files by default. This removes the
unnecessary `coding: utf-8` declaration comment from all files.
2022-03-21 14:43:45 -05:00
Evan Hahn
1101db6a29
Upgrade scripts to Python 3
...
Python 2 was [removed from macOS in 12.3][0]. This change:
- Automatically converts many files with [2to3][1]
- Manually updates all [shebangs][2] to use `python3` instead of
versionless `python` or `python2.7`
- Manually applies a few fixes, many of which were noted by 2to3
- Manually undoes a few fixes that were automatically done by 2to3
[0]: https://www.macrumors.com/2022/01/28/apple-removing-python-2-in-macos-12-3/
[1]: https://docs.python.org/3/library/2to3.html
[2]: https://en.wikipedia.org/wiki/Shebang_(Unix)
2022-03-21 12:58:33 -05:00
Dimitris Apostolou
62724cf0be
Fix typos
2022-03-18 11:31:06 -07:00
Jordan Rose
15d13517fa
Add SDSCursor protocol, for common functionality across cursors
2022-03-07 15:01:39 -08:00
Jordan Rose
61232780ee
Don't reindex conversations on every model change
...
Every single message updates a TSThread model, but only a change in a
member's profile name or phone number, or a change to a group's model,
can update the indexing information. Turn 'shouldBeIndexedForFTS' into
a tri-state 'FTSIndexMode' with options 'never', 'manualUpdates', and
'always', and use 'manualUpdates' for TSThreads. Then explicitly
reindex on any of the changes listed above.
2022-02-01 15:05:34 -08:00
Michelle Linington
e3d18733da
Bump copyright
2022-01-28 13:23:47 -08: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
153095a500
Reduce statics.
2021-11-02 10:36:25 -03:00
Matthew Chen
9963df1f23
Reduce statics.
2021-11-02 10:36:25 -03:00
Michelle Linington
77b7ea5c40
Fix a whole bunch of warnings
2021-10-21 21:11:26 -07:00
Ehren Kret
3d768ffe3d
Update copyright dates in SDS codegen
2021-09-24 10:30:09 -03:00
Michelle Linington
c7444cb01d
Remove isHidden column, use recordType instead
2021-08-26 20:57:06 -07:00
Michelle Linington
5b1b0d3bd0
Make hiddenUntilTimestamp a boolean column
2021-08-26 20:57:06 -07:00
Michelle Linington
ba89d93ee4
Add new database column
2021-08-26 20:29:21 -07:00
Matthew Chen
647f723610
Add OWSStaticOutgoingMessage.
2021-08-25 22:43:42 -03:00
Nora Trapp
1cbe9c3ee7
PR Feedback
2021-08-16 13:28:08 -07: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
e911639154
Remove contact avatar data from SignalAccount.
2021-06-30 15:23:49 -03: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
Matthew Chen
34d3aeb1c8
Merge branch 'release/5.11.1'
2021-05-03 15:36:47 -03:00
Matthew Chen
10778e915c
Improve handling of db corruption.
2021-05-03 15:00:33 -03: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
86b8eb08b8
Remove YapDatabase.
...
Apply asset from design.
Fix rebase breakage.
2021-03-25 11:41:16 -03: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
Matthew Chen
2a72d563ae
Respond to CR.
2020-06-18 12:22:14 -03:00
Matthew Chen
a4ae58c0f6
Respond to CR.
2020-06-18 12:09:42 -03:00
Matthew Chen
c6d5a52f82
Rework SDS extensions to support deep copies and cache lifecycle.
2020-06-18 12:05:07 -03:00
Matthew Chen
b37c2bc713
Rework SDS extensions to support deep copies and cache lifecycle.
2020-06-18 12:05:07 -03:00
Matthew Chen
b1f0a869a7
Add a script to just parse & generate SSK Obj-c.
2020-06-11 17:45:39 -07:00
Matthew Chen
0891ce52e1
Copy model read cache values. Add deepCopy method to all models.
2020-06-11 13:22:16 -03:00
Nora Trapp
a9ab44741c
Codegen
2020-06-07 09:35:02 -07:00
Nora Trapp
3d084f958d
Mark as unread
2020-05-27 18:29:59 -07:00
Nora Trapp
3698125424
Track reaction read state
2020-04-20 10:25:31 -07:00
Matthew Chen
d57cb36ace
Merge remote-tracking branch 'private/release/3.8.0'
2020-04-15 10:08:56 -03:00
Ehren Kret
d0b7faeebc
Update attachment model to hold cdn key and cdn number
2020-04-14 08:52:34 -07:00
Ehren Kret
5cd2bd0fe4
Update all sds python shebang lines to 2.7
2020-04-14 08:52:34 -07:00
Matthew Chen
6ee2ad097e
Prepare for per-group queues in group message processing.
2020-04-13 17:36:36 -03:00
Nora Trapp
167f88bed6
Generated code
2020-04-13 12:49:27 -07:00
Matthew Chen
2d41ad42b4
Fix build warnings around initializers.
2020-04-08 16:05:54 -03:00
Matthew Chen
41267d9e54
Add upload timestamp to attachment models.
2020-04-02 13:39:40 -03:00
Matthew Chen
1d643bb61b
Clean up code generation.
2020-04-02 13:31:14 -03:00
Matthew Chen
02f853a8dc
Clean up code generation.
2020-04-02 13:31:14 -03:00
Michael Kirk
9f4c8e22ed
regen
2020-01-31 20:33:57 -07:00
Matthew Chen
bc0359268e
Rework outgoing messages; embed change protos in outgoing change messages for groups v2.
2020-01-27 11:47:44 -03:00
Nora Trapp
a1a54c4f78
Fix column ordering
2020-01-24 13:43:35 -08:00
Michael Kirk
1fb1af3c84
regen
2020-01-23 11:55:48 -07:00
Michael Kirk
61ec8612ee
revamp group updates - show source, show changes, show icon
2020-01-23 11:55:48 -07:00
Michael Kirk
904b333924
codegen handles "id" type
2020-01-23 11:55:48 -07:00
Nora Trapp
a08a8cd8a7
Codegen
2020-01-23 08:59:22 -08:00
Matthew Chen
db0adf077a
Respond to CR.
2020-01-23 12:00:42 -03:00
Matthew Chen
892ce5c135
Rework message processing to handle groups v2.
2020-01-17 17:34:37 -03:00
Nora Trapp
a68f5277bf
Support profile given and family names
2020-01-09 13:17:09 -08:00
Michael Kirk
9d625c2823
ContactOffersInteractions should not be saved
2019-12-18 16:52:18 -08:00
Michael Kirk
16b9ca5d69
ignore reaction messages
2019-12-07 16:57:56 -07:00
Nora Trapp
14c8f4175e
Add Reaction Model
2019-11-14 13:22:47 -08:00