Commit Graph

27873 Commits

Author SHA1 Message Date
Evan Hahn
25a37decfd Upgrade CocoaPods to 1.11.3
This upgrades CocoaPods from 1.10.1 to 1.11.3.
2022-04-09 16:35:41 -05:00
Evan Hahn
1612d7b9e8 Merge branch 'evanhahn/reverse_integration_check_ignore-a-5.23-tag' 2022-04-09 16:31:56 -05:00
Evan Hahn
7b09dc609e Ignore 5.23.0.22-beta tag in reverse integration check script
This adds `5.23.0.22-beta` to our list of ignored tags, to avoid this error when running the script:

    RuntimeError: 💥 Found unmerged tags: ['5.23.0.22-beta']

We saw this error when deploying 5.25.
2022-04-09 16:31:48 -05:00
Igor Solomennikov
58fd5b6539 Fix typo that caused incorrect text being displayed in some cases.
"<contact name> can’t be automatically added to this group by you.."
(single person variant) would never be displayed in favor of
"These users can’t be automatically added to this group by you..."
(multiple persons variant).
2022-04-08 17:32:29 -07:00
Nora Trapp
955a245ec1 "Bump build to 5.36.0.1." (nightly-04-08-2022) 2022-04-08 04:01:07 -07:00
Jordan Rose
5ecb9519b9 Refresh PNI pre-keys along with ACI pre-keys
Pre-keys are refreshed at regular (throttled) intervals, but the
"refresh" operation will only actually upload new pre-keys if the
server says we're running low. In addition, after the "refresh",
there's a "rotation" operation for the signed pre-key if the current
one is more than two days old. This only runs if the refresh was
skipped, since uploading new one-time pre-keys is already an
opportunity to rotate the signed pre-key (and it's worth doing so,
since pre-keys running low can indicate high traffic).

None of this has changed. However, we can now do this for both ACI and
PNI pre-keys. This reworked +[TSPreKeyManager
checkPreKeysWithShouldThrottle:] quite a bit to declare the proper
operation dependencies, which isn't *strictly* necessary because the
queue they're executed on is already limited to a
maxConcurrentOperationCount of 1. We could remove that at this point
with proper use of "barrier" operations, but since all the operations
are hitting the server and account updates have to be serialized on
*that* end, there doesn't seem to be much of a benefit.
2022-04-07 14:06:27 -07:00
Jordan Rose
cdd24d5531 TSPreKeyManager: Simplify pre-key refresh throttling
No need to make an operation, then make another operation to cancel
it. Just don't schedule the main operation in the first place.
2022-04-07 14:06:27 -07:00
Jordan Rose
2b1f8c8003 Move throttling logic inside RotateSignedKeyOperation
This simplifies +[TSPreKeyManager checkPreKeysWithShouldThrottle:],
with more to come.
2022-04-07 14:06:27 -07:00
Evan Hahn
290416fb67 "Bump build to 5.36.0.0." (Internal) 2022-04-07 14:58:06 -05:00
Evan Hahn
f7c891e6bf "Bump build to 5.35.0.23." (Internal) 2022-04-07 14:53:20 -05:00
Evan Hahn
71630c85e8 "Feature flags for .qa." 2022-04-07 14:53:12 -05:00
Evan Hahn
01684a3a54 "Bump build to 5.35.0.22." (Beta) 2022-04-07 14:53:05 -05:00
Evan Hahn
637c139d0b "Feature flags for .beta." 2022-04-07 14:52:44 -05:00
Evan Hahn
225cd1edd7 Sync translations 2022-04-07 14:52:17 -05:00
Jordan Rose
23ad77b218 TSPreKeyManager: check for PNI signed pre-key upload failure too
After a certain number of failures over a certain number of days, the
app will refuse to send messages until a new signed pre-key can be
uploaded. This should apply to both ACI and PNI pre-key upload
failures. (If we wanted to distinguish them, we could, but this is
mostly a fallback mechanism. Normal pre-key refreshing will come
soon and will not tie the two together.)
2022-04-07 10:23:39 -07:00
Jordan Rose
f0de694156 Rotate the PNI signed pre-key along with the ACI signed pre-key
This only applies to explicit rotations of *just* the signed pre-key.
Including this for regular pre-keys as well is more complicated.
2022-04-07 10:23:39 -07:00
Jordan Rose
891fa602c6 Move pre-key update failure tracking into SSKSignedPreKeyStore
...from TSPreKeyManager. This will make it easier to track failures
for ACI and PNI pre-keys separately, and removes some indirection and
possible weird states.
2022-04-07 10:23:39 -07:00
Jordan Rose
f50412f26f Move pre-key culling logic from TSPreKeyManager to the stores 2022-04-07 10:23:39 -07:00
Nora Trapp
ab8bdff4e6 "Bump build to 5.35.0.21." (nightly-04-06-2022) 2022-04-06 04:00:58 -07:00
Evan Hahn
cda73bbf92 Merge branch 'evanhahn/renderasimage-always-returns' 2022-04-05 13:32:59 -05:00
Evan Hahn
f84c578420 UIView's renderAsImage always returns an image
We extend `UIView` with a new method, `renderAsImage`. It always returns a `UIImage`, but we marked its return type as `UIImage?`.

This removes that optionality and updates all callers.
2022-04-05 13:32:29 -05:00
Jordan Rose
0a982ebc83 Include timestamp in missed call notifications
...if the call was more than five minutes ago. This should help in two
scenarios:

- you've been offline for a while, and you see "missed call" but don't
  know when they tried to call

- you hit that NSE bug where a ring gets processed hours or even days
  later, possibly when a second call arrives
2022-04-05 10:48:05 -07:00
Jordan Rose
8c1a31e094 auto-genstrings: Fix OWSLocalizedString breakage
genstrings warns on non-constant strings being passed to
NSLocalizedString, but that happens precisely when we define
OWSLocalizedString. Skip the two files where we define it (one for
each language).

While here:
- Use find's -exec feature rather than a separate xargs invocation.
- Make the script shellcheck-clean.
2022-04-05 10:48:05 -07:00
Nora Trapp
121bb45596 "Bump build to 5.35.0.20." (nightly-04-05-2022) 2022-04-05 04:01:05 -07:00
Martin Böttcher
8067277ca6
fixed broken date cell if keyboard is dismissed (#4124) 2022-04-05 10:22:32 +02:00
Jordan Rose
849d6ee60a Generate PNI identity key and pre-keys for existing accounts
At launch time, if a primary device doesn't have a PNI identity key,
it should generate one immediately, as well as pre-keys. If a linked
device doesn't have a PNI identity key, it messages the primary to ask
for one; when it gets a response it generates its own pre-keys.
2022-04-04 15:19:10 -07:00
Jordan Rose
039dcc1d48 -[SSKPreKeyStore storePreKeyRecords:] should take a transaction
...so it can use an existing one when there is one, which in practice
there always is because we never refresh one-time pre-keys without
rotating our signed pre-key too.
2022-04-04 15:19:10 -07:00
Evan Hahn
1db25d5ef8 Merge branch 'evanhahn/github.base_ref-variable-not-available-outside-of-prs' 2022-04-04 12:07:15 -05:00
Evan Hahn
84ebba40a2 CI: only run precommit script for pull requests
According to [GitHub's docs][0], the `github.base_ref` property "is only
available when the event that triggers a workflow run is either
`pull_request` or `pull_request_target`.

Because of this, pushes were running the following command...

    python3 Scripts/precommit.py --ref origin/

...and getting this error:

    fatal: ambiguous argument 'origin/': unknown revision or path not in the working tree.

This has been broken for a long time, but it didn't cause CI to fail until
d7c33eb211.

After some discussion, we decided not to run these on pushes to `master`
or `release/*`.

(See also: [this GitHub issue][1] which asks for clarification.)

[0]: https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
[1]: https://github.com/github/docs/issues/13810
2022-04-04 09:57:24 -05:00
Nora Trapp
d9fb1ebcf4 "Bump build to 5.35.0.19." (nightly-04-03-2022) 2022-04-03 04:00:48 -07:00
Nora Trapp
a6340e375f Open group reply sheet at 60% of screen height 2022-04-02 15:21:30 -07:00
Nora Trapp
cfaceb8add Fix group reply cell grouping 2022-04-02 15:21:30 -07:00
Nora Trapp
d71e2c2eca Fix group reply cell sizing bug 2022-04-02 15:21:30 -07:00
Nora Trapp
4bb1bedbf3 Start with group replies scrolled to top 2022-04-02 15:21:30 -07:00
Nora Trapp
433f3da3f1 "Bump build to 5.35.0.18." (nightly-04-02-2022) 2022-04-02 04:00:45 -07:00
Nora Trapp
702e38e7ff Break up index migrations over multiple releases 2022-04-01 16:21:21 -07:00
Michelle Linington
532db84e73 Merge branch 'mlin/PR/VariousFixes' 2022-04-01 14:55:50 -07:00
Michelle Linington
f4539ab83c PR Feedback: Restrict logging 2022-04-01 14:55:30 -07:00
Michelle Linington
cebd09e17c Disable button while trying to create profile 2022-04-01 14:55:30 -07:00
Michelle Linington
0f3a2b4c2e Perform emoji mapping in EmojiGenerator 2022-04-01 14:55:30 -07:00
Michelle Linington
f2bb180d65 Leverage spinner error UI 2022-04-01 14:55:30 -07:00
Michelle Linington
29dc1eefcd Lint 2022-04-01 14:55:30 -07:00
Michelle Linington
350cc16c17 Update fastlane dependency 2022-04-01 14:55:30 -07:00
Michelle Linington
5d404bb350 IOS-2286: Onboarding loop during profile creation failure 2022-04-01 14:55:30 -07:00
Michelle Linington
ea25ebb9ff Don't show USMI emoji in picker sheet 2022-04-01 14:55:30 -07:00
Michelle Linington
fc69576a74 Include status code in network request success log message 2022-04-01 14:55:30 -07:00
Michelle Linington
049b68c4ea Better description for OWSHTTPHeaders 2022-04-01 14:55:30 -07:00
Nora Trapp
4eeb9f6e6d "Bump build to 5.35.0.17." (nightly-04-01-2022) 2022-04-01 04:00:42 -07:00
Nora Trapp
90649969dd "Bump build to 5.35.0.16." (Internal) 2022-04-01 00:46:11 -07:00
Nora Trapp
9ae0ec4127 "Bump build to 5.35.0.14." (Internal) 2022-03-31 22:14:56 -07:00