diff --git a/Riot/Modules/MatrixKit/Models/Account/MXKAccount.m b/Riot/Modules/MatrixKit/Models/Account/MXKAccount.m index e75526a13..36e4989f9 100644 --- a/Riot/Modules/MatrixKit/Models/Account/MXKAccount.m +++ b/Riot/Modules/MatrixKit/Models/Account/MXKAccount.m @@ -1909,8 +1909,15 @@ static NSArray *initialSyncSilentErrorsHTTPStatusCodes; MXRoomSummary *summary = room.summary; if (summary) { + NSString *eventId = summary.lastMessage.eventId; + if (!eventId) + { + MXLogFailure(@"[MXKAccount] onDateTimeFormatUpdate: Missing event id"); + continue; + } + dispatch_group_enter(dispatchGroup); - [summary.mxSession eventWithEventId:summary.lastMessage.eventId + [summary.mxSession eventWithEventId:eventId inRoom:summary.roomId success:^(MXEvent *event) { diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessageAttachmentCacheManager.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessageAttachmentCacheManager.swift index dc46839e3..cf97dac4e 100644 --- a/Riot/Modules/Room/VoiceMessages/VoiceMessageAttachmentCacheManager.swift +++ b/Riot/Modules/Room/VoiceMessages/VoiceMessageAttachmentCacheManager.swift @@ -137,10 +137,12 @@ class VoiceMessageAttachmentCacheManager { durations.removeAll() finalURLs.removeAll() - do { - try FileManager.default.removeItem(at: temporaryFilesFolderURL) - } catch { - MXLog.error("[VoiceMessageAttachmentCacheManager] Failed clearing cached disk files", context: error) + if FileManager.default.fileExists(atPath: temporaryFilesFolderURL.absoluteString) { + do { + try FileManager.default.removeItem(at: temporaryFilesFolderURL) + } catch { + MXLog.error("[VoiceMessageAttachmentCacheManager] Failed clearing cached disk files", context: error) + } } } diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessageController.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessageController.swift index 85cae9941..14b4fa2b9 100644 --- a/Riot/Modules/Room/VoiceMessages/VoiceMessageController.swift +++ b/Riot/Modules/Room/VoiceMessages/VoiceMessageController.swift @@ -364,7 +364,7 @@ public class VoiceMessageController: NSObject, VoiceMessageToolbarViewDelegate, } private func deleteRecordingAtURL(_ url: URL?) { - guard let url = url else { + guard let url = url, FileManager.default.fileExists(atPath: url.absoluteString) else { return }