Fix crash in profile related to profile updates

Changelog-Fixed: Fix crash on profile page when there are profile updates
Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2024-07-14 20:14:56 -07:00
parent f1dc023e18
commit abb818bbd4

View File

@@ -125,31 +125,34 @@ struct ProfileName: View {
return return
} }
var profile: Profile!
var profile_txn: NdbTxn<Profile?>!
switch update { switch update {
case .remote(let pubkey): case .remote(let pubkey):
profile_txn = damus_state.profiles.lookup(id: pubkey) guard let profile_txn = damus_state.profiles.lookup(id: pubkey),
guard let prof = profile_txn.unsafeUnownedValue else { return } let prof = profile_txn.unsafeUnownedValue else {
profile = prof return
}
handle_profile_update(profile: prof)
case .manual(_, let prof): case .manual(_, let prof):
profile = prof handle_profile_update(profile: prof)
} }
let display_name = Profile.displayName(profile: profile, pubkey: pubkey) }
if self.display_name != display_name { }
self.display_name = display_name
}
let nip05 = damus_state.profiles.is_validated(pubkey) @MainActor
if nip05 != self.nip05 { func handle_profile_update(profile: Profile) {
self.nip05 = nip05 let display_name = Profile.displayName(profile: profile, pubkey: pubkey)
} if self.display_name != display_name {
self.display_name = display_name
}
if donation != profile.damus_donation { let nip05 = damus_state.profiles.is_validated(pubkey)
donation = profile.damus_donation if nip05 != self.nip05 {
} self.nip05 = nip05
}
if donation != profile.damus_donation {
donation = profile.damus_donation
} }
} }
} }