Automatically retry decryptions in the active room when the app becomes active again just in case the NSE received keys we're not aware of (#3628)

This commit is contained in:
Stefan Ceriu
2024-12-18 11:10:56 +02:00
committed by GitHub
parent 2a865ce5bf
commit 435dfb8e46
10 changed files with 38 additions and 42 deletions
@@ -155,12 +155,14 @@ final class TimelineProxy: TimelineProxyProtocol {
}
}
func retryDecryption(for sessionID: String) async {
MXLog.info("Retrying decryption for sessionID: \(sessionID)")
func retryDecryption(sessionIDs: [String]?) async {
let sessionIDs = sessionIDs ?? []
MXLog.info("Retrying decryption for sessionIDs: \(sessionIDs)")
await Task.dispatch(on: .global()) { [weak self] in
self?.timeline.retryDecryption(sessionIds: [sessionID])
MXLog.info("Finished retrying decryption for sessionID: \(sessionID)")
self?.timeline.retryDecryption(sessionIds: sessionIDs)
MXLog.info("Finished retrying decryption for sessionID: \(sessionIDs)")
}
}