fix: recurriing network issue
All checks were successful
Queue Release Build / prepare (push) Successful in 18s
Deploy Web Apps / deploy (push) Successful in 6m32s
Queue Release Build / build-windows (push) Successful in 26m8s
Queue Release Build / build-linux (push) Successful in 40m18s
Queue Release Build / finalize (push) Successful in 42s
All checks were successful
Queue Release Build / prepare (push) Successful in 18s
Deploy Web Apps / deploy (push) Successful in 6m32s
Queue Release Build / build-windows (push) Successful in 26m8s
Queue Release Build / build-linux (push) Successful in 40m18s
Queue Release Build / finalize (push) Successful in 42s
This commit is contained in:
@@ -135,7 +135,13 @@ export class RoomSignalingConnection {
|
||||
}
|
||||
|
||||
if (!isCompatible) {
|
||||
if (candidate.isPrimary) {
|
||||
// Warning: offline/unreachable endpoints also fail this check. Only
|
||||
// version-incompatible primary endpoints should stop fallback; transient
|
||||
// 521/522/network failures must continue to the next active endpoint.
|
||||
const endpoint = this.serverDirectory.resolveRoomEndpoint(candidate.source);
|
||||
const isEndpointIncompatible = endpoint?.status === 'incompatible';
|
||||
|
||||
if (candidate.isPrimary && isEndpointIncompatible) {
|
||||
if (shouldShowCompatibilityError) {
|
||||
this.store.dispatch(
|
||||
RoomsActions.setSignalServerCompatibilityError({ message: CLIENT_UPDATE_REQUIRED_MESSAGE })
|
||||
@@ -297,6 +303,10 @@ export class RoomSignalingConnection {
|
||||
|
||||
if (!this.webrtc.hasJoinedServer(room.id)) {
|
||||
const selector = this.resolveRoomSignalSelector(primarySource, resolvedRoom.name);
|
||||
// Warning: getServer returns null for both SERVER_NOT_FOUND and transient
|
||||
// endpoint failures. Always search active endpoints before deciding the
|
||||
// saved room source is stale, otherwise a Cloudflare/origin outage pins
|
||||
// reconnects to the dead endpoint.
|
||||
const authoritativeServer = (
|
||||
selector
|
||||
? await firstValueFrom(this.serverDirectory.getServer(room.id, selector))
|
||||
|
||||
Reference in New Issue
Block a user