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,18 +125,22 @@ 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)
} }
}
}
@MainActor
func handle_profile_update(profile: Profile) {
let display_name = Profile.displayName(profile: profile, pubkey: pubkey) let display_name = Profile.displayName(profile: profile, pubkey: pubkey)
if self.display_name != display_name { if self.display_name != display_name {
self.display_name = display_name self.display_name = display_name
@@ -152,7 +156,6 @@ struct ProfileName: View {
} }
} }
} }
}
struct ProfileName_Previews: PreviewProvider { struct ProfileName_Previews: PreviewProvider {
static var previews: some View { static var previews: some View {