Fix potential username link desync after backup restore.

This commit is contained in:
Greyson Parrelli
2026-03-09 16:00:27 -04:00
committed by jeffrey-signal
parent cd3e9a4009
commit 276662026e
2 changed files with 11 additions and 1 deletions

View File

@@ -397,6 +397,11 @@ class RefreshOwnProfileJob private constructor(parameters: Parameters) : BaseJob
}
private fun checkUsernameIsInSync() {
if (SignalStore.misc.needsUsernameRestore) {
Log.d(TAG, "Username restore is still pending. Skipping consistency check.")
return
}
try {
val localUsername = SignalStore.account.username

View File

@@ -549,7 +549,12 @@ object UsernameRepository {
val link = username.generateLink(usernameLinkComponents.entropy)
return when (val result = SignalNetwork.account.confirmUsername(username, link)) {
is NetworkResult.Success -> UsernameReclaimResult.SUCCESS
is NetworkResult.Success -> {
SignalStore.account.usernameLink = UsernameLinkComponents(usernameLinkComponents.entropy, result.result)
SignalDatabase.recipients.markNeedsSync(Recipient.self().id)
StorageSyncHelper.scheduleSyncForDataChange()
UsernameReclaimResult.SUCCESS
}
is NetworkResult.StatusCodeError -> {
when (result.code) {
409 -> {