@whereby.com/browser-sdk 2.0.0-alpha11 → 2.0.0-alpha12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib.cjs CHANGED
@@ -136,7 +136,7 @@ heresy.define("WherebyEmbed", {
136
136
  if (roomUrl.searchParams.get("roomKey")) {
137
137
  this.url.searchParams.append("roomKey", roomUrl.searchParams.get("roomKey"));
138
138
  }
139
- Object.entries(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ jsApi: true, we: "2.0.0-alpha11", iframeSource: subdomain }, (displayName && { displayName })), (lang && { lang })), (metadata && { metadata })), (groups && { groups })), (virtualBackgroundUrl && { virtualBackgroundUrl })), (avatarUrl && { avatarUrl })), (minimal != null && { embed: minimal })), boolAttrs.reduce(
139
+ Object.entries(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ jsApi: true, we: "2.0.0-alpha12", iframeSource: subdomain }, (displayName && { displayName })), (lang && { lang })), (metadata && { metadata })), (groups && { groups })), (virtualBackgroundUrl && { virtualBackgroundUrl })), (avatarUrl && { avatarUrl })), (minimal != null && { embed: minimal })), boolAttrs.reduce(
140
140
  // add to URL if set in any way
141
141
  (o, v) => (this[v.toLowerCase()] != null ? Object.assign(Object.assign({}, o), { [v]: this[v.toLowerCase()] }) : o), {}))).forEach(([k, v]) => {
142
142
  if (!this.url.searchParams.has(k) && typeof v === "string") {
@@ -5283,14 +5283,15 @@ class LocalParticipant extends RoomParticipant {
5283
5283
  }
5284
5284
  }
5285
5285
 
5286
- const API_BASE_URL = "https://api.whereby.dev";
5287
- const SIGNAL_BASE_URL = "wss://signal.appearin.net";
5286
+ const API_BASE_URL = process.env["REACT_APP_API_BASE_URL"] || "https://api.whereby.dev";
5287
+ const SIGNAL_BASE_URL = process.env["REACT_APP_SIGNAL_BASE_URL"] || "wss://signal.appearin.net";
5288
5288
  const NON_PERSON_ROLES = ["recorder", "streamer"];
5289
5289
  function createSocket() {
5290
5290
  const parsedUrl = new URL(SIGNAL_BASE_URL);
5291
5291
  const path = `${parsedUrl.pathname.replace(/^\/$/, "")}/protocol/socket.io/v4`;
5292
5292
  const SOCKET_HOST = parsedUrl.origin;
5293
5293
  const socketConf = {
5294
+ autoConnect: false,
5294
5295
  host: SOCKET_HOST,
5295
5296
  path,
5296
5297
  reconnectionDelay: 5000,
@@ -5376,6 +5377,31 @@ class RoomConnection extends TypedEventTarget {
5376
5377
  const { enabled } = e.detail;
5377
5378
  this.signalSocket.emit("enable_audio", { enabled });
5378
5379
  });
5380
+ const webrtcProvider = {
5381
+ getMediaConstraints: () => ({
5382
+ audio: this.localMedia.isMicrophoneEnabled(),
5383
+ video: this.localMedia.isCameraEnabled(),
5384
+ }),
5385
+ deferrable(clientId) {
5386
+ return !clientId;
5387
+ },
5388
+ };
5389
+ this.rtcManagerDispatcher = new RtcManagerDispatcher({
5390
+ emitter: {
5391
+ emit: this._handleRtcEvent.bind(this),
5392
+ },
5393
+ serverSocket: this.signalSocket,
5394
+ webrtcProvider,
5395
+ features: {
5396
+ lowDataModeEnabled: false,
5397
+ sfuServerOverrideHost: undefined,
5398
+ turnServerOverrideHost: undefined,
5399
+ useOnlyTURN: undefined,
5400
+ vp9On: false,
5401
+ h264On: false,
5402
+ simulcastScreenshareOn: false,
5403
+ },
5404
+ });
5379
5405
  }
5380
5406
  get roomKey() {
5381
5407
  return this._roomKey;
@@ -5595,6 +5621,7 @@ class RoomConnection extends TypedEventTarget {
5595
5621
  return;
5596
5622
  }
5597
5623
  this.logger.log("Joining room");
5624
+ this.signalSocket.connect();
5598
5625
  this.roomConnectionStatus = "connecting";
5599
5626
  this.dispatchEvent(new CustomEvent("room_connection_status_changed", {
5600
5627
  detail: {
@@ -5609,31 +5636,6 @@ class RoomConnection extends TypedEventTarget {
5609
5636
  if (this._ownsLocalMedia) {
5610
5637
  yield this.localMedia.start();
5611
5638
  }
5612
- const webrtcProvider = {
5613
- getMediaConstraints: () => ({
5614
- audio: this.localMedia.isMicrophoneEnabled(),
5615
- video: this.localMedia.isCameraEnabled(),
5616
- }),
5617
- deferrable(clientId) {
5618
- return !clientId;
5619
- },
5620
- };
5621
- this.rtcManagerDispatcher = new RtcManagerDispatcher({
5622
- emitter: {
5623
- emit: this._handleRtcEvent.bind(this),
5624
- },
5625
- serverSocket: this.signalSocket,
5626
- webrtcProvider,
5627
- features: {
5628
- lowDataModeEnabled: false,
5629
- sfuServerOverrideHost: undefined,
5630
- turnServerOverrideHost: undefined,
5631
- useOnlyTURN: undefined,
5632
- vp9On: false,
5633
- h264On: false,
5634
- simulcastScreenshareOn: false,
5635
- },
5636
- });
5637
5639
  // Identify device on signal connection
5638
5640
  const deviceCredentials = yield this.credentialsService.getCredentials();
5639
5641
  this.logger.log("Connected to signal socket");
@@ -5661,28 +5663,21 @@ class RoomConnection extends TypedEventTarget {
5661
5663
  });
5662
5664
  }
5663
5665
  leave() {
5664
- return new Promise((resolve) => {
5665
- if (this._ownsLocalMedia) {
5666
- this.localMedia.stop();
5667
- }
5668
- if (this.rtcManager) {
5669
- this.localMedia.removeRtcManager(this.rtcManager);
5670
- this.rtcManager.disconnectAll();
5671
- this.rtcManager = undefined;
5672
- }
5673
- if (!this.signalSocket) {
5674
- return resolve();
5675
- }
5676
- this.signalSocket.emit("leave_room");
5677
- const leaveTimeout = setTimeout(() => {
5678
- resolve();
5679
- }, 200);
5680
- this.signalSocket.once("room_left", () => {
5681
- clearTimeout(leaveTimeout);
5682
- this.signalSocket.disconnect();
5683
- resolve();
5684
- });
5685
- });
5666
+ this.roomConnectionStatus = "disconnecting";
5667
+ if (this._ownsLocalMedia) {
5668
+ this.localMedia.stop();
5669
+ }
5670
+ if (this.rtcManager) {
5671
+ this.localMedia.removeRtcManager(this.rtcManager);
5672
+ this.rtcManager.disconnectAll();
5673
+ this.rtcManager = undefined;
5674
+ }
5675
+ if (!this.signalSocket) {
5676
+ return;
5677
+ }
5678
+ this.signalSocket.emit("leave_room");
5679
+ this.signalSocket.disconnect();
5680
+ this.roomConnectionStatus = "disconnected";
5686
5681
  }
5687
5682
  sendChatMessage(text) {
5688
5683
  this.signalSocket.emit("chat_message", {
@@ -5866,7 +5861,7 @@ function useRoomConnection(roomUrl, roomConnectionOptions) {
5866
5861
  };
5867
5862
  }
5868
5863
 
5869
- const sdkVersion = "2.0.0-alpha11";
5864
+ const sdkVersion = "2.0.0-alpha12";
5870
5865
 
5871
5866
  exports.VideoView = VideoView;
5872
5867
  exports.sdkVersion = sdkVersion;
package/dist/lib.esm.js CHANGED
@@ -121,7 +121,7 @@ define("WherebyEmbed", {
121
121
  if (roomUrl.searchParams.get("roomKey")) {
122
122
  this.url.searchParams.append("roomKey", roomUrl.searchParams.get("roomKey"));
123
123
  }
124
- Object.entries(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ jsApi: true, we: "2.0.0-alpha11", iframeSource: subdomain }, (displayName && { displayName })), (lang && { lang })), (metadata && { metadata })), (groups && { groups })), (virtualBackgroundUrl && { virtualBackgroundUrl })), (avatarUrl && { avatarUrl })), (minimal != null && { embed: minimal })), boolAttrs.reduce(
124
+ Object.entries(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ jsApi: true, we: "2.0.0-alpha12", iframeSource: subdomain }, (displayName && { displayName })), (lang && { lang })), (metadata && { metadata })), (groups && { groups })), (virtualBackgroundUrl && { virtualBackgroundUrl })), (avatarUrl && { avatarUrl })), (minimal != null && { embed: minimal })), boolAttrs.reduce(
125
125
  // add to URL if set in any way
126
126
  (o, v) => (this[v.toLowerCase()] != null ? Object.assign(Object.assign({}, o), { [v]: this[v.toLowerCase()] }) : o), {}))).forEach(([k, v]) => {
127
127
  if (!this.url.searchParams.has(k) && typeof v === "string") {
@@ -5268,14 +5268,15 @@ class LocalParticipant extends RoomParticipant {
5268
5268
  }
5269
5269
  }
5270
5270
 
5271
- const API_BASE_URL = "https://api.whereby.dev";
5272
- const SIGNAL_BASE_URL = "wss://signal.appearin.net";
5271
+ const API_BASE_URL = process.env["REACT_APP_API_BASE_URL"] || "https://api.whereby.dev";
5272
+ const SIGNAL_BASE_URL = process.env["REACT_APP_SIGNAL_BASE_URL"] || "wss://signal.appearin.net";
5273
5273
  const NON_PERSON_ROLES = ["recorder", "streamer"];
5274
5274
  function createSocket() {
5275
5275
  const parsedUrl = new URL(SIGNAL_BASE_URL);
5276
5276
  const path = `${parsedUrl.pathname.replace(/^\/$/, "")}/protocol/socket.io/v4`;
5277
5277
  const SOCKET_HOST = parsedUrl.origin;
5278
5278
  const socketConf = {
5279
+ autoConnect: false,
5279
5280
  host: SOCKET_HOST,
5280
5281
  path,
5281
5282
  reconnectionDelay: 5000,
@@ -5361,6 +5362,31 @@ class RoomConnection extends TypedEventTarget {
5361
5362
  const { enabled } = e.detail;
5362
5363
  this.signalSocket.emit("enable_audio", { enabled });
5363
5364
  });
5365
+ const webrtcProvider = {
5366
+ getMediaConstraints: () => ({
5367
+ audio: this.localMedia.isMicrophoneEnabled(),
5368
+ video: this.localMedia.isCameraEnabled(),
5369
+ }),
5370
+ deferrable(clientId) {
5371
+ return !clientId;
5372
+ },
5373
+ };
5374
+ this.rtcManagerDispatcher = new RtcManagerDispatcher({
5375
+ emitter: {
5376
+ emit: this._handleRtcEvent.bind(this),
5377
+ },
5378
+ serverSocket: this.signalSocket,
5379
+ webrtcProvider,
5380
+ features: {
5381
+ lowDataModeEnabled: false,
5382
+ sfuServerOverrideHost: undefined,
5383
+ turnServerOverrideHost: undefined,
5384
+ useOnlyTURN: undefined,
5385
+ vp9On: false,
5386
+ h264On: false,
5387
+ simulcastScreenshareOn: false,
5388
+ },
5389
+ });
5364
5390
  }
5365
5391
  get roomKey() {
5366
5392
  return this._roomKey;
@@ -5580,6 +5606,7 @@ class RoomConnection extends TypedEventTarget {
5580
5606
  return;
5581
5607
  }
5582
5608
  this.logger.log("Joining room");
5609
+ this.signalSocket.connect();
5583
5610
  this.roomConnectionStatus = "connecting";
5584
5611
  this.dispatchEvent(new CustomEvent("room_connection_status_changed", {
5585
5612
  detail: {
@@ -5594,31 +5621,6 @@ class RoomConnection extends TypedEventTarget {
5594
5621
  if (this._ownsLocalMedia) {
5595
5622
  yield this.localMedia.start();
5596
5623
  }
5597
- const webrtcProvider = {
5598
- getMediaConstraints: () => ({
5599
- audio: this.localMedia.isMicrophoneEnabled(),
5600
- video: this.localMedia.isCameraEnabled(),
5601
- }),
5602
- deferrable(clientId) {
5603
- return !clientId;
5604
- },
5605
- };
5606
- this.rtcManagerDispatcher = new RtcManagerDispatcher({
5607
- emitter: {
5608
- emit: this._handleRtcEvent.bind(this),
5609
- },
5610
- serverSocket: this.signalSocket,
5611
- webrtcProvider,
5612
- features: {
5613
- lowDataModeEnabled: false,
5614
- sfuServerOverrideHost: undefined,
5615
- turnServerOverrideHost: undefined,
5616
- useOnlyTURN: undefined,
5617
- vp9On: false,
5618
- h264On: false,
5619
- simulcastScreenshareOn: false,
5620
- },
5621
- });
5622
5624
  // Identify device on signal connection
5623
5625
  const deviceCredentials = yield this.credentialsService.getCredentials();
5624
5626
  this.logger.log("Connected to signal socket");
@@ -5646,28 +5648,21 @@ class RoomConnection extends TypedEventTarget {
5646
5648
  });
5647
5649
  }
5648
5650
  leave() {
5649
- return new Promise((resolve) => {
5650
- if (this._ownsLocalMedia) {
5651
- this.localMedia.stop();
5652
- }
5653
- if (this.rtcManager) {
5654
- this.localMedia.removeRtcManager(this.rtcManager);
5655
- this.rtcManager.disconnectAll();
5656
- this.rtcManager = undefined;
5657
- }
5658
- if (!this.signalSocket) {
5659
- return resolve();
5660
- }
5661
- this.signalSocket.emit("leave_room");
5662
- const leaveTimeout = setTimeout(() => {
5663
- resolve();
5664
- }, 200);
5665
- this.signalSocket.once("room_left", () => {
5666
- clearTimeout(leaveTimeout);
5667
- this.signalSocket.disconnect();
5668
- resolve();
5669
- });
5670
- });
5651
+ this.roomConnectionStatus = "disconnecting";
5652
+ if (this._ownsLocalMedia) {
5653
+ this.localMedia.stop();
5654
+ }
5655
+ if (this.rtcManager) {
5656
+ this.localMedia.removeRtcManager(this.rtcManager);
5657
+ this.rtcManager.disconnectAll();
5658
+ this.rtcManager = undefined;
5659
+ }
5660
+ if (!this.signalSocket) {
5661
+ return;
5662
+ }
5663
+ this.signalSocket.emit("leave_room");
5664
+ this.signalSocket.disconnect();
5665
+ this.roomConnectionStatus = "disconnected";
5671
5666
  }
5672
5667
  sendChatMessage(text) {
5673
5668
  this.signalSocket.emit("chat_message", {
@@ -5851,6 +5846,6 @@ function useRoomConnection(roomUrl, roomConnectionOptions) {
5851
5846
  };
5852
5847
  }
5853
5848
 
5854
- const sdkVersion = "2.0.0-alpha11";
5849
+ const sdkVersion = "2.0.0-alpha12";
5855
5850
 
5856
5851
  export { VideoView, sdkVersion, useLocalMedia, useRoomConnection };
package/dist/types.d.ts CHANGED
@@ -165,7 +165,7 @@ interface RoomConnectionOptions {
165
165
  localMedia?: LocalMedia;
166
166
  }
167
167
  type ChatMessage = Pick<ChatMessage$1, "senderId" | "timestamp" | "text">;
168
- type RoomConnectionStatus = "" | "connecting" | "connected" | "room_locked" | "knocking" | "disconnected" | "accepted" | "rejected";
168
+ type RoomConnectionStatus = "" | "connecting" | "connected" | "room_locked" | "knocking" | "disconnecting" | "disconnected" | "accepted" | "rejected";
169
169
  type RoomJoinedEvent = {
170
170
  localParticipant: LocalParticipant;
171
171
  remoteParticipants: RemoteParticipant[];
@@ -262,7 +262,7 @@ declare class RoomConnection extends TypedEventTarget {
262
262
  private _joinRoom;
263
263
  join(): Promise<void>;
264
264
  knock(): void;
265
- leave(): Promise<void>;
265
+ leave(): void;
266
266
  sendChatMessage(text: string): void;
267
267
  setDisplayName(displayName: string): void;
268
268
  acceptWaitingParticipant(participantId: string): void;
@@ -303,6 +303,6 @@ type RoomConnectionRef = {
303
303
  };
304
304
  declare function useRoomConnection(roomUrl: string, roomConnectionOptions: UseRoomConnectionOptions): RoomConnectionRef;
305
305
 
306
- declare const sdkVersion = "2.0.0-alpha11";
306
+ declare const sdkVersion = "2.0.0-alpha12";
307
307
 
308
308
  export { _default as VideoView, sdkVersion, useLocalMedia, useRoomConnection };