Fix a crash when blocking/unblocking a user (#2143)

The view state doesn't like mutating an optional when built in release mode.
This commit is contained in:
Doug 2023-11-22 13:13:59 +00:00 committed by GitHub
parent 7b8f4f8276
commit 99f5601330
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -254,7 +254,10 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr
state.isProcessingIgnoreRequest = false
switch result {
case .success:
state.dmRecipient?.isIgnored = true
// Mutating the optional in place when built for Release crashes 🤷
var dmRecipient = state.dmRecipient
dmRecipient?.isIgnored = true
state.dmRecipient = dmRecipient
case .failure, .none:
state.bindings.alertInfo = .init(id: .unknown)
}
@ -266,7 +269,10 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr
state.isProcessingIgnoreRequest = false
switch result {
case .success:
state.dmRecipient?.isIgnored = false
// Mutating the optional in place when built for Release crashes 🤷
var dmRecipient = state.dmRecipient
dmRecipient?.isIgnored = false
state.dmRecipient = dmRecipient
case .failure, .none:
state.bindings.alertInfo = .init(id: .unknown)
}

1
changelog.d/2140.bugfix Normal file
View File

@ -0,0 +1 @@
Fix a crash when blocking/unblocking a user from the DM details screen.