Skip to content

Commit 3a62ed8

Browse files
authored
[Fix]Reconnection issue (#895)
1 parent 25c63a4 commit 3a62ed8

File tree

4 files changed

+21
-1
lines changed

4 files changed

+21
-1
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
77
### ✅ Added
88
- `ClientCapabilities` have been added to support remote subscriber track pause. [#888](https://github.com/GetStream/stream-video-swift/pull/888)
99

10+
### 🐞 Fixed
11+
- An issue causing a reconnection loop when connection was recoevered. [#895](https://github.com/GetStream/stream-video-swift/pull/895)
12+
1013
# [1.28.1](https://github.com/GetStream/stream-video-swift/releases/tag/1.28.1)
1114
_July 11, 2025_
1215

Sources/StreamVideo/Utils/Logger/Logger.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ public enum LogConfig {
292292

293293
public static var webRTCLogsEnabled: Bool {
294294
get { WebRTCLogger.default.enabled }
295-
set { WebRTCLogger.default.enabled = true }
295+
set { WebRTCLogger.default.enabled = newValue }
296296
}
297297

298298
/// Invalidates the current logger instance so it can be recreated.

Sources/StreamVideo/WebRTC/v2/StateMachine/Stages/WebRTCCoordinator+Disconnected.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ extension WebRTCCoordinator.StateMachine.Stage {
110110
private func execute() {
111111
context.sfuEventObserver = nil
112112
context.disconnectionSource = nil
113+
context.lastHealthCheckReceivedAt = nil
113114
Task(disposableBag: disposableBag) { [weak self] in
114115
guard let self else { return }
115116
let statsAdapter = await context

StreamVideoTests/WebRTC/v2/StateMachine/Stages/WebRTCCoordinatorStateMachine_DisconnectedStageTests.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,22 @@ final class WebRTCCoordinatorStateMachine_DisconnectedStageTests: XCTestCase, @u
9191
}
9292
}
9393

94+
func test_transition_cleansUpLastHealthCheckReceivedAt() async throws {
95+
subject.context.lastHealthCheckReceivedAt = .init()
96+
97+
await assertTransitionAfterTrigger(trigger: {}) { target in
98+
XCTAssertNil(target.context.lastHealthCheckReceivedAt)
99+
}
100+
}
101+
102+
func test_transition_cleansUpDisconnectionSource() async throws {
103+
subject.context.disconnectionSource = .noPongReceived
104+
105+
await assertTransitionAfterTrigger(trigger: {}) { target in
106+
XCTAssertNil(target.context.disconnectionSource)
107+
}
108+
}
109+
94110
func test_transition_scheduleStatsReportingWasCalled() async throws {
95111
let statsAdapter = MockWebRTCStatsAdapter()
96112
await mockCoordinatorStack.coordinator.stateAdapter.set(

0 commit comments

Comments
 (0)