Commit Graph

29582 Commits

Author SHA1 Message Date
Evan Hahn
cd7635cda4 Update currency label on donation screens
"Set currency" is now just "Currency".
2022-10-26 17:05:09 -05:00
Evan Hahn
f180185dd1 Update copy on donation thanks sheet 2022-10-26 17:05:03 -05:00
Evan Hahn
4675434c6c Add FiatMoney type
This change should have no user impact.

We commonly pair a currency, like USD, and an amount, like 1.23. This
adds the `FiatMoney` struct. It's a simple struct with two fields.

After adding it, I tried to use it everywhere. (It's possible I missed a
spot.)

I think this is a useful change on its own, but it'll be nice for an
upcoming change, too.

See also: [Android's equivalent class][0].

[0]: cb65347bb3/core-util/src/main/java/org/signal/core/util/money/FiatMoney.java (L1)
2022-10-26 17:04:51 -05:00
Jordan Rose
1ad673fa52 Calls: if the user denies mic/video access, treat that as muting
This keeps the local state and the UI in sync with the actual
behavior.
2022-10-26 15:04:32 -07:00
Sasha Weiss
1cb90e245f
Fetch and persist remote megaphones 2022-10-26 15:03:08 -07:00
Sasha Weiss
bfbdf5b78d
Move system contact names to ContactRecord 2022-10-26 15:00:36 -07:00
Max Radermacher
5eb5f0b610 "Bump build to 6.1.0.0." (Internal) 2022-10-26 14:24:05 -07:00
Max Radermacher
1b5691e019 Update translations 2022-10-26 14:23:20 -07:00
Max Radermacher
08cd436420 Update release notes 2022-10-26 14:19:36 -07:00
Max Radermacher
b7a8f2a49a "Bump build to 6.0.0.0." (Internal) 2022-10-26 14:18:12 -07:00
Evan Hahn
c8bc2cde2e Improve name of donation settings view controller
This change should have no user impact.

`DonationViewController` is now `DonationSettingsViewController`.

I think this is a better name on its own, but it'll seem even better
after upcoming change.
2022-10-26 14:12:48 -05:00
Nora Trapp
d63f24c6d2
fixing missing batch update of identity keys
* Ensure batch update of identity keys when sending text stories

* Ensure batch update of identity keys when forwarding messages
2022-10-26 08:30:52 -07:00
Nora Trapp
8c72372681 "Bump build to 5.60.0.4." (nightly-10-26-2022) 2022-10-26 04:01:08 -07:00
Evan Hahn
0d0c895e1b Remove unnecessary members of currency picker button
This change should have no user impact.
2022-10-25 19:38:41 -05:00
Harry
55b34eff11
Pre-release story fixes
* fix story views + replies sheet header update when swiping

* fix my story privacy show more off-by-one

* Disable story sends when hiding a group story. Unhide when enabling story sends to a group story.

* More consistent story tab bar badge offset
2022-10-25 16:19:36 -07:00
Harry
1516e71b48
Story search scrolling fixes
* Push up stories list content above keyboard when present

* Initially scroll search bar off screen if stories content doesn't fit without scrolling
2022-10-25 16:00:24 -07:00
Adam Mork
2dd98c37b3
[Payments] Show alert if client is outdated
Co-authored-by: Phil Larson <phil.larson@icloud.com>
Co-authored-by: Max Radermacher <max@signal.org>
2022-10-25 15:43:43 -07:00
Harry
075133be72
Observe story viewed ring changes in ConversationAvatarView
* Observe story viewed ring changes in ConversationAvatarView itself

* Manage ConversationAvatarView's story observation based on the context

* remove story state from thread view model, now unused

* pr feedback renames
2022-10-25 12:57:52 -07:00
Igor Solomennikov
bf580958b8
Allow users to swipe between camera and text story composer. 2022-10-25 12:03:59 -07:00
Igor Solomennikov
ad4c9fa57f
Two fixes for text story composer.
* Preserve selection in text story composer after changing font size.

Fixes an issue where input cursor would jump to the end when adding/deleting
text in the beginning or middle of the text and those edits caused font size
to increase / decrease.

That unwanted behavior was caused by replacing the entire `UITextView.attributedText`.

* Ensure entire text story draft has same font after undo / redo operation.

UITextView's undo manager preserves attributes of text being cut / pasted, which
might cause text view to contain fragments with different font.

The solution is to detect when there's more than one font used in UITextView
and re-apply attributes to the entire text if when that happens.
2022-10-25 11:54:16 -07:00
Harry
2da55a03b1
Fix outdated latestUnexpiredTimestamp when reading StoryContextAssociatedData from disk 2022-10-25 11:47:59 -07:00
Jordan Rose
73b2570e4b Un-nest immediately-invoked block 2022-10-25 10:40:55 -07:00
Jordan Rose
3cec45a5e8 Remove redundant applicationWillTerminate notification
AppDelegate already does the exact same thing.
2022-10-25 10:35:08 -07:00
Nora Trapp
bd7d76f3b7 "Bump build to 5.60.0.3." (nightly-10-25-2022) 2022-10-25 04:01:07 -07:00
Max Radermacher
1b5303c22c Remove unused BulkUUIDLookup 2022-10-25 00:41:24 -07:00
Max Radermacher
f7b18c5ea9 Remove unused BaseMemberViewController code 2022-10-25 00:41:24 -07:00
Max Radermacher
72c4dcff51 Simplify methods to populate missing UUIDs
We no longer need `isBlocking`, and we can always consider errors.
2022-10-25 00:41:24 -07:00
Max Radermacher
358c884bce Don’t allow non-gv2 members in new groups
Right now, trying to add a non-gv2 member to an existing group will
present an error when selecting the row.

When creating a new group, we allow the row to be selected, and then we
show an error on the next screen. With this change, we’ll show an error
immediately when selecting the row. (This allows us to remove a few
hundred lines of migration UI that *should* be unused.)
2022-10-25 00:41:24 -07:00
Max Radermacher
ef1bd4064f Don’t fetch UUIDs when opening BaseMemberVC
(Also, don’t call out recipients that don’t support New Groups.)

We try to populate this picker with users we believe are registered. Now
that GV2 is fully rolled out, all the recipients we believe are
registered should have a UUID. (If any don’t, we’ll resolve that on
launch via UUIDBackfillTask.) Since these proactive fetches *shouldn’t*
run, prevent them from running by removing them entirely.

If we hit a rare race condition where a recipient is missing a UUID,
we’ll still perform a lookup when trying to select that recipient.

In these rare edge cases where a recipient doesn’t have a UUID (which,
again, shouldn’t happen), the subtitle indicating that they don’t
support New Groups will be out of date. By removing proactive fetches,
it’ll remain out of date until the user taps the row. To avoid
confusion, defer showing an error until the user taps on the recipient.
2022-10-25 00:41:24 -07:00
Max Radermacher
3aa95a999a
Update SignalCoreKit 2022-10-24 23:28:33 -07:00
Max Radermacher
4402f33e80 Use ProfileFetcherJob directly when in Swift 2022-10-24 23:26:49 -07:00
Max Radermacher
6971129f1d Remove redundant profile fetches in RequestMaker
We use RequestMaker in three places: fetching pre keys, sending
messages, and fetching profiles. In the former two cases, we want to
kick off profile fetches when certain errors occur.

However, in the latter case, we’re already doing a profile fetch, so we
don’t need to kick off another.

- If the UD request fails for a profile fetch, the next thing we try
  will be a non-UD profile fetch. In the prior version of the code, we’d
  also kick off a fresh profile fetch; since we just marked UD as
  disabled, this would initiate a redundant non-UD profile fetch.
  Instead, we can just rely on the non-UD request that’s underway.

- When a UD request succeeds & we didn’t know the UD access mode, we
  update the access mode to the one we used. In the prior version of the
  code, we’d also kick off a profile fetch with this access mode.
  However, if this is part of a profile fetch, we’ve *just* gotten the
  latest profile with the access mode we just saved, so there isn’t a
  reason to immediately initiate another fetch.
2022-10-24 23:26:49 -07:00
Max Radermacher
d68e854fa5 Remove Objective-C support from RequestMaker
It’s unused. Also, convert the result type to a struct.
2022-10-24 23:26:49 -07:00
Max Radermacher
9f30866fec Reformat RequestMaker initializers 2022-10-24 23:26:49 -07:00
Igor Solomennikov
550f9b0a8a
Fix link preview not expanding to full-size in some cases. 2022-10-24 16:10:49 -07:00
Harry
08dabd70d2
Story list search
* Hide navigation bar when searching in chats list

* Incomplete search bar layout

* apply story search filtering

* hide my stories section when searching

* Improve transitions for story tab bar search

* Show hidden stories in search results

* visual fixes to header when searching. include all unfiltered stories in viewer contexts

* delay getting the target story frame for interactive dismissal to give the view time to update after navigation bar changes

* fix strings

* pr feedback
2022-10-24 15:38:54 -07:00
Nora Trapp
023a83bb60 Ensure story view receipts are sent even if read receipts are disabled 2022-10-24 15:28:21 -07:00
Nora Trapp
d622879063 Ensure story view receipts are enabled for new users 2022-10-24 15:28:21 -07:00
Nora Trapp
8cc1a310eb
Filter story info and views sheets based on context 2022-10-24 15:28:00 -07:00
Harry
7437d14689
Continue playing story after cancelling a hide action 2022-10-24 14:33:19 -07:00
Igor Solomennikov
3235eb6618
Render condensed text style (AA) in all caps in text story composer.
Preserve case-sensitive user input and make UITextView display ALLCAPS if
AA style is selected.
2022-10-24 13:33:48 -07:00
Harry
26b5fd0673
Fix updates to my story row border colors 2022-10-24 11:30:16 -07:00
Max Radermacher
87aef6d5e5 Remove redundant ";" from method implementations
There’s a warning for this in SignalServiceKit.
2022-10-24 10:30:07 -07:00
Max Radermacher
3e129edfcd Limit scope of undiscoverable gv2 phone numbers
If we’ve recently discovered that a phone number can’t be discovered,
there isn’t much benefit to checking again.

However, for other parts of the migration flow, we still want to
consider such users. For example, sometimes we want to require all users
to have a UUID to perform a migration. Before this change, we might
return a false positive after performing a CDS lookup since we wouldn’t
check whether or not recently undiscoverable users have a UUID.

In another case, we’re intentionally excluding users without UUIDs. In
this case, the end result is the same whether we drop them during the
first pass or the second pass, but the intent is more clear if we drop
all such users during the second pass.

Lastly, we want to fetch profiles even for undiscoverable users, even
though this operation is likely to fail.
2022-10-24 10:21:05 -07:00
Max Radermacher
a51ce6ba2d Remove presentAddThreadToProfileWhitelist
It’s unused as of aab95db806.
2022-10-24 10:19:06 -07:00
Max Radermacher
ab55cf3929 Import SignalMessaging where it’s needed
The next commit removes a file that, through assorted Swift/Obj-C bridge
magic, resulted in SignalMessaging being available to all these files.
2022-10-24 10:19:06 -07:00
Max Radermacher
40dbeaacc6 Uppercase “PIN” in “Skip and Create New PIN” 2022-10-24 11:33:42 -05:00
Max Radermacher
f27d53deb2 Remove .otherUsersProfileWillChange notification
It’s not used, and it’s misleading because it gets sent *after* the
profile has changed.
2022-10-24 11:31:47 -05:00
Max Radermacher
09e3c7e3d4 Only show non-empty “Contacts” search results
If the only result is blocked, we’ll show an empty “Contacts” section.
2022-10-24 09:18:28 -05:00
Nora Trapp
8bf13d0e8c "Bump build to 5.60.0.2." (nightly-10-22-2022) 2022-10-22 04:00:55 -07:00