* show back to back errors on verification code screen
* handle verification code attempts exhausted
* let the user resend a code after submission attempts are exhausted
* clear last digit after an incorrectly entered verification code
* wipe errors and allow proceeding when changing e164
* lint
* Don't wipe local kbs state when kbs stuff fails for change number; its still valid for the old number
* remove remaining error sheet todos
* fix tests
* put rereg mode params into a struct for sharability
* add step and UI handling for when we become deregistered during post-reg steps
* handle dereg when syncing push tokens
* show generic error on kbs backup failure
* handle dereg when restoring from kbs
* handle dereg during profile setup steps
* finalize pni stuff before deregistering
* add comment
* change debug fail to log
* Navigate to verification vc before showing popup so that we don't cancel the nav controller pop
* send a session sms code even if we get interrupted right after session creation
* improve state handling for initial session sms code
* nit: make var fileprivate
* show error when state changed on screen
* wipe pending change number state on service error response
* add unable to exit case to reglock timeout controller
* take action on reglock timeout acknowledgement
* Add splash controller for change number flow
* Add copy of change number phone number entry controller
* add copy of change number confirmation view controller
* hook up change number phone number entry screens
* fix header color
* fix change number error view
* add some spacing before error label
* run auto genstrings
* actually fix string comment
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.
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)
* Go to chat list view after registration
* sync system contacts during registration
* Use explicit local credentials for storage service operations during registration
* fix tests
* Quick hack to get through double pin confirmation
* Finishing touches
* lint
* fix build
* reload phone number discoverability after storage service sync
* fix tests again
* Take chat auth on account and contact record initializers
* Change around branches for clarity in OWSUserProfile
* pr comments
* Split ChatServiceAuth into the same and AuthedAccount
* fix tests
* merge woes
* Hook up RegistrationPhoneNumberViewController
* Fix existing tests
* add some new tests; fix test scaffolding bug
* Show an error before going back to phone number entry if the session is invalidated