From e9fa0ce5f215fb60e5267eb255a94e4f5aa4f83c Mon Sep 17 00:00:00 2001 From: Robin Date: Mon, 24 Feb 2025 17:09:30 +0700 Subject: [PATCH] Show error screens in group calls (#3813) Element Call now sends a 'close' widget action when the widget is ready to close. Usually this will be sent immediately after the 'hangup' action, but it could be sent later if the widget wants to present an error screen before closing. So by listening to the 'close' action rather than the 'hangup' action, we get to see these error screens. --- .../Sources/Services/ElementCall/ElementCallWidgetDriver.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ElementX/Sources/Services/ElementCall/ElementCallWidgetDriver.swift b/ElementX/Sources/Services/ElementCall/ElementCallWidgetDriver.swift index 9aaaa40cb..dfa1e3bb6 100644 --- a/ElementX/Sources/Services/ElementCall/ElementCallWidgetDriver.swift +++ b/ElementX/Sources/Services/ElementCall/ElementCallWidgetDriver.swift @@ -17,6 +17,7 @@ struct ElementCallWidgetMessage: Codable { enum Action: String, Codable { case hangup = "im.vector.hangup" + case close = "io.element.close" case mediaState = "io.element.device_mute" } @@ -181,6 +182,8 @@ class ElementCallWidgetDriver: WidgetCapabilitiesProvider, ElementCallWidgetDriv if widgetMessage.direction == .fromWidget { switch widgetMessage.action { case .hangup: + break + case .close: actionsSubject.send(.callEnded) case .mediaState: guard let audioEnabled = widgetMessage.data.audioEnabled,