Skip to content

Commit

Permalink
Fix adapter and uuid imports for sdk
Browse files Browse the repository at this point in the history
There's a confusion in ESM and CJS, let's try to fix them by using
namespace imports for uuid and `default` wrapper removal for `adapter`
(as suggested here: reduxjs/redux-toolkit#1960)
  • Loading branch information
nandito committed Mar 11, 2024
1 parent 701e70f commit 90260c1
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 11 deletions.
4 changes: 3 additions & 1 deletion src/utils/ServerSocket.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import { io } from "socket.io-client";
import adapter from "webrtc-adapter";
import adapterRaw from "webrtc-adapter";
import { ReconnectManager } from "./ReconnectManager";
import { PROTOCOL_RESPONSES } from "../model/protocol";

const adapter = adapterRaw.default ?? adapterRaw;

const DEFAULT_SOCKET_PATH = "/protocol/socket.io/v4";

const NOOP_KEEPALIVE_INTERVAL = 2000;
Expand Down
3 changes: 2 additions & 1 deletion src/webrtc/P2pRtcManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@ import * as CONNECTION_STATUS from "../model/connectionStatusConstants";
import RtcStream from "../model/RtcStream";
import { getOptimalBitrate } from "../utils/optimalBitrate";
import { setCodecPreferenceSDP, addAbsCaptureTimeExtMap } from "./sdpModifier";
import adapter from "webrtc-adapter";
import adapterRaw from "webrtc-adapter";
import ipRegex from "../utils/ipRegex";
import { Address6 } from "ip-address";
import checkIp from "check-ip";
import validate from "uuid-validate";
import rtcManagerEvents from "./rtcManagerEvents";
import Logger from "../utils/Logger";

const adapter = adapterRaw.default ?? adapterRaw; // eslint-disable-line no-unused-vars
const logger = new Logger();

const ICE_PUBLIC_IP_GATHERING_TIMEOUT = 3 * 1000;
Expand Down
3 changes: 2 additions & 1 deletion src/webrtc/Session.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import * as sdpModifier from "./sdpModifier";
import * as statsHelper from "./statsHelper";
import { setVideoBandwidthUsingSetParameters } from "./rtcrtpsenderHelper";
import adapter from "webrtc-adapter";
import adapterRaw from "webrtc-adapter";
import { MAXIMUM_TURN_BANDWIDTH_UNLIMITED } from "./constants";
import Logger from "../utils/Logger";

const adapter = adapterRaw.default ?? adapterRaw;
const logger = new Logger();

export default class Session {
Expand Down
6 changes: 4 additions & 2 deletions src/webrtc/VegaRtcManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,21 @@ import * as CONNECTION_STATUS from "../model/connectionStatusConstants";
import ServerSocket from "../utils/ServerSocket";
import rtcManagerEvents from "./rtcManagerEvents";
import rtcStats from "./rtcStatsService";
import adapter from "webrtc-adapter";
import adapterRaw from "webrtc-adapter";
import VegaConnection from "./VegaConnection";
import { getMediaSettings, modifyMediaCapabilities } from "../utils/mediaSettings";
import { MEDIA_JITTER_BUFFER_TARGET } from "./constants";
import { getHandler } from "../utils/getHandler";
import assert from "../utils/assert";
import { v4 as uuidv4 } from "uuid";
import * as uuid from "uuid";
import createMicAnalyser from "./VegaMicAnalyser";
import { maybeTurnOnly } from "../utils/transportSettings";
import VegaMediaQualityMonitor from "./VegaMediaQualityMonitor";
import Logger from "../utils/Logger";

const adapter = adapterRaw.default ?? adapterRaw;
const logger = new Logger();
const uuidv4 = uuid.v4;

const browserName = adapter.browserDetails.browser;
let unloading = false;
Expand Down
4 changes: 3 additions & 1 deletion src/webrtc/bugDetector.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import adapter from "webrtc-adapter";
import adapterRaw from "webrtc-adapter";

const adapter = adapterRaw.default ?? adapterRaw;

/**
* Detect mic issue which seems to happen on OSX when the computer is woken up and sleeping
Expand Down
4 changes: 3 additions & 1 deletion src/webrtc/mediaConstraints.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import adapter from "webrtc-adapter";
import adapterRaw from "webrtc-adapter";

const adapter = adapterRaw.default ?? adapterRaw;

const isSafari = adapter.browserDetails.browser === "safari";

Expand Down
7 changes: 5 additions & 2 deletions src/webrtc/rtcStatsService.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
// ensure adapter is loaded first.
import adapter from "webrtc-adapter"; // eslint-disable-line no-unused-vars
import adapterRaw from "webrtc-adapter";
import rtcstats from "rtcstats";
import { v4 as uuidv4 } from "uuid";
import * as uuid from "uuid";

const adapter = adapterRaw.default ?? adapterRaw; // eslint-disable-line no-unused-vars
const uuidv4 = uuid.v4;

const RTCSTATS_PROTOCOL_VERSION = "1.0";

Expand Down
3 changes: 2 additions & 1 deletion src/webrtc/sdpModifier.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import SDPUtils from "sdp";
import adapter from "webrtc-adapter";
import adapterRaw from "webrtc-adapter";
import * as sdpTransform from "sdp-transform";
import Logger from "../utils/Logger";

const adapter = adapterRaw.default ?? adapterRaw;
const logger = new Logger();

const browserName = adapter.browserDetails.browser;
Expand Down
4 changes: 3 additions & 1 deletion tests/webrtc/RtcManagerDispatcher.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ import * as mediasoupClient from "mediasoup-client";
import { PROTOCOL_RESPONSES } from "../../src/model/protocol";
import * as CONNECTION_STATUS from "../../src/model/connectionStatusConstants";
import EventEmitter from "events";
import { v4 as uuidv4 } from "uuid";
import * as uuid from "uuid";

const uuidv4 = uuid.v4;

const originalMediasoupDevice = mediasoupClient.Device;

Expand Down

0 comments on commit 90260c1

Please sign in to comment.