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
}
var profile: Profile!
var profile_txn: NdbTxn<Profile?>!
switch update {
case .remote(let pubkey):
profile_txn = damus_state.profiles.lookup(id: pubkey)
guard let prof = profile_txn.unsafeUnownedValue else { return }
profile = prof
guard let profile_txn = damus_state.profiles.lookup(id: pubkey),
let prof = profile_txn.unsafeUnownedValue else {
return
}
handle_profile_update(profile: 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)
if nip05 != self.nip05 {
self.nip05 = nip05
}
@MainActor
func handle_profile_update(profile: Profile) {
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 {
donation = profile.damus_donation
}
let nip05 = damus_state.profiles.is_validated(pubkey)
if nip05 != self.nip05 {
self.nip05 = nip05
}
if donation != profile.damus_donation {
donation = profile.damus_donation
}
}
}