This change should have no user impact. I think it's useful on its own
but it also makes a future task easier.
You can't ever have a negative number of remaining PIN attempts, so I
made sure we're using unsigned ints everywhere.
We also had two identifiers for "remaining attempts" (`triesRemaining`
and `remainingAttempts`) so I standardized it.
This change should have no user impact, but makes a future change
easier.
`ActionSheetController` supports string messages, but now it also
supports `NSAttributedString` messages. That lets us include styling
(like bold) and links.
This change should have no user impact.
This makes a few changes to `OWSActionSheets`:
- `OWSActionSheets` is now an enum (with an Objective-C bridge)
- Some unnecessary methods were removed
- Fixed some long lines
It also removes the payment-specific
`OWSActionSheets.showPaymentsOutdatedClientSheetIfNeeded` extension. It
didn't add much and required passing a global object, so I removed it.
This change should have no user impact.
`FailedMessagesJob`, `IncompleteCallsJob`, and
`FailedAttachmentDownloadsJob` used to inherit from `Dependencies`. Now,
they explicitly take their one dependency: a database.
I also made a few methods private because they didn't need to be
exposed.
* Factor out RegistrationCoordinatorLoader
* Add PNI change number state to regcoordinatorloader
* Don't exit change number flow once we start a pni operation
* Add ChangePhoneNumberPniManager to reg coordinator dependencies
* add params required for pni to change number registration mode
* change number from regcoordinator
* rename ChangePhoneNumber -> LegacyChangePhoneNumber
* remove pni change number support from LegacyChangePhoneNumber
* remove codable conformance from pni change number manager's pending state
* Update ts account manager state when finalizing change number
* Add message processor deps to reg coordinator
* addAsyncCompletion on dbv2 write transactions
* Suspend message processing while doing a reg coordinator change number
* hook up change number
* Add handler-free message processing suspension method
* odds and ends
* minor cleanup
* slight refactor to finalize change phone number in the export function
* Put wait for message processing + suspend onto messageProcessor
* kick of prekey refresh after pni change number finalize transaction ends
* nit
When a registration error is dismissed, we now call `nextStep()` (and
push the corresponding view controller). Sometimes, this will do
nothing. Sometimes, it will take you to a new screen.
As a "proof-of-concept", I updated our server failure handling code. We
want to bonk the user back to the phone number registration screen.
* add whoami request to reg coordinator
* Add pni change number params to reg bravo change number request
* Remove username as a requirement for reg coordinator's account identity
* pr feedback
Change appearance of controls in media viewer:
• use dark chrome background for top and bottom panels.
• move "Delete" into (•••) submenu at the top.
Appearance tweaks for media album strip at the bottom of media viewer.
• update design to latest spec.
• make media strip view configurable (border color and width, size, corner rounding).
If your app needs to be updated during registration, we'll show an
alert. This can happen if:
- The build has expired
- We receive an unexpected challenge (or a push challenge we cannot
fulfill, but must)
This test-only change should have no user impact.
`PhoneNumberUtil.callingCode(fromCountryCode:)` was tested in two
places. This combines them and moves the tests to Swift.