* Use schedulers with ChainedPromise
* Add full queue initializer redirection in Schedulers
* pass scheduler to OWSURLSession
* Use schedulers in SystemStoryManager
* make SystemStoryManagerTest synchronous
* 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
* Move AccountAttributes into shared file
* Add AccountAttributesRequestFactory
* Add new AccountAttributes generators
* Migrate verifyPrimaryDeviceRequest
* Migrate verifySecondaryDeviceRequest
* clarify the role of secondary device account attributes
* Remove AuthKey from AccountAttributes; it was unused on the server and therefore totally vestigial
* remove old updatePrimaryDeviceAttributes request and associated code
* Add registration recovery password to AccountAttributes
* Unconditionally set account attributes when changing or setting the PIN
* fix tests
* easy pr comments
* dont set v1 2fa pin unless no kbs backups exist
* Catch re-entrant MockDBv2 transactions in tests
* Fix some promise + transaction issues in RegCoordinator
* undo dumdum changes; dont handle errors on a guarantee
* 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
This change should have no user impact.
Two changes:
1. Calling `advance(to: timeInThePast)` is now a fatal error.
2. Calling `advance(to: currentTime)` is now tested.
* Retry most network failures in RegistrationCoordinator
* Update the way we identify network errors to be more flexible
* Retry remaining requests
* Automatically retry registration requests if time intervals are short
* fix error types not compiling on kbs
* Add test for reg recovery password reg with retries
* fix extra t