diff --git a/CHANGELOG.md b/CHANGELOG.md index ca3107018..fd7c19755 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). # Upcoming ### 🔄 Changed +- Permissions prompts won't show up when moving to background for a call that has already ended but the feedback screen is visible. [#951](https://github.com/GetStream/stream-video-swift/pull/951) # [1.33.0](https://github.com/GetStream/stream-video-swift/releases/tag/1.33.0) _September 15, 2025_ diff --git a/Sources/StreamVideo/WebRTC/v2/WebRTCPermissionsAdapter.swift b/Sources/StreamVideo/WebRTC/v2/WebRTCPermissionsAdapter.swift index b22a4565d..7e9777cf8 100644 --- a/Sources/StreamVideo/WebRTC/v2/WebRTCPermissionsAdapter.swift +++ b/Sources/StreamVideo/WebRTC/v2/WebRTCPermissionsAdapter.swift @@ -155,6 +155,15 @@ final class WebRTCPermissionsAdapter: @unchecked Sendable { } } + func cleanUp() { + processingQueue.addOperation { [weak self] in + // By emptying the Set we are saying that there are no permissions + // required, so when the app moves to foreground no prompts will + // appear. + self?.requiredPermissions = [] + } + } + // MARK: - Private Helpers /// Requests pending permissions when returning to foreground, if needed. diff --git a/Sources/StreamVideo/WebRTC/v2/WebRTCStateAdapter.swift b/Sources/StreamVideo/WebRTC/v2/WebRTCStateAdapter.swift index 7274d84e7..a0f45c1f6 100644 --- a/Sources/StreamVideo/WebRTC/v2/WebRTCStateAdapter.swift +++ b/Sources/StreamVideo/WebRTC/v2/WebRTCStateAdapter.swift @@ -355,6 +355,7 @@ actor WebRTCStateAdapter: ObservableObject, StreamAudioSessionAdapterDelegate, W set(participantPins: []) trackStorage.removeAll() audioSession.deactivate() + permissionsAdapter.cleanUp() } /// Cleans up the session for reconnection, clearing adapters and tracks.