From 66d7469835949fdf06307093091cdb5b835675a4 Mon Sep 17 00:00:00 2001 From: Sasha Weiss Date: Mon, 14 Aug 2023 08:36:14 -0700 Subject: [PATCH] Move username state delegate call to ensure block --- .../Profile/ProfileSettingsViewController.swift | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Signal/src/ViewControllers/AppSettings/Profile/ProfileSettingsViewController.swift b/Signal/src/ViewControllers/AppSettings/Profile/ProfileSettingsViewController.swift index fb1b25ec9d..588e71625b 100644 --- a/Signal/src/ViewControllers/AppSettings/Profile/ProfileSettingsViewController.swift +++ b/Signal/src/ViewControllers/AppSettings/Profile/ProfileSettingsViewController.swift @@ -477,16 +477,19 @@ class ProfileSettingsViewController: OWSTableViewController2 { return self.context.localUsernameManager .deleteUsername(tx: tx) } - }.done(on: DispatchQueue.main) { [weak self] in - guard let self else { return } - + } + .ensure(on: self.context.schedulers.main) { let newState = self.context.db.read { tx in return self.context.localUsernameManager.usernameState(tx: tx) } + // State may have changed with either success or failure. self.usernameStateDidChange(newState: newState) + } + .done(on: self.context.schedulers.main) { modal.dismiss() - }.catch(on: DispatchQueue.main) { error in + } + .catch(on: self.context.schedulers.main) { error in modal.dismiss { OWSActionSheets.showErrorAlert( message: CommonStrings.somethingWentWrongTryAgainLaterError