@edge-base/web 0.2.4 → 0.2.5

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.
@@ -172,7 +172,7 @@ export class DatabaseLiveClient {
172
172
  if (!token) {
173
173
  throw new EdgeBaseError(401, 'No access token available. Sign in first.');
174
174
  }
175
- this.sendRaw({ type: 'auth', token, sdkVersion: '0.2.4' });
175
+ this.sendRaw({ type: 'auth', token, sdkVersion: '0.2.5' });
176
176
  return new Promise((resolve, reject) => {
177
177
  const timeout = setTimeout(() => {
178
178
  if (this.ws)
@@ -355,7 +355,7 @@ export class DatabaseLiveClient {
355
355
  const token = this.tokenManager.currentAccessToken;
356
356
  if (!token || !this.ws || !this.connected)
357
357
  return;
358
- this.sendRaw({ type: 'auth', token, sdkVersion: '0.2.4' });
358
+ this.sendRaw({ type: 'auth', token, sdkVersion: '0.2.5' });
359
359
  }
360
360
  handleAuthStateChange(user) {
361
361
  if (user) {
@@ -1,4 +1,4 @@
1
- import type { RoomMediaKind, RoomMediaMember, RoomMediaRemoteTrackEvent, RoomMediaTrack, RoomMediaTransport, RoomMediaTransportConnectPayload, RoomMember, RoomMemberLeaveReason, RoomSignalMeta, Subscription } from './room.js';
1
+ import type { RoomMediaKind, RoomMediaMember, RoomMediaRemoteTrackEvent, RoomMediaTrack, RoomMemberMediaState, RoomRealtimeIceServersRequest, RoomRealtimeIceServersResponse, RoomMediaTransport, RoomMediaTransportConnectPayload, RoomMember, RoomMemberLeaveReason, RoomSignalMeta, Subscription } from './room.js';
2
2
  interface RoomP2PAudioVideoControls {
3
3
  disable(): Promise<void>;
4
4
  setMuted?(muted: boolean): Promise<void>;
@@ -29,8 +29,12 @@ interface RoomP2PMediaAdapter {
29
29
  screenInputId?: string;
30
30
  }): Promise<void>;
31
31
  };
32
+ realtime?: {
33
+ iceServers?(payload?: RoomRealtimeIceServersRequest): Promise<RoomRealtimeIceServersResponse>;
34
+ };
32
35
  onTrack(handler: (track: RoomMediaTrack, member: RoomMember) => void): Subscription;
33
36
  onTrackRemoved(handler: (track: RoomMediaTrack, member: RoomMember) => void): Subscription;
37
+ onStateChange?(handler: (member: RoomMember, state: RoomMemberMediaState) => void): Subscription;
34
38
  };
35
39
  members: {
36
40
  list(): RoomMember[];
@@ -50,6 +54,13 @@ export interface RoomP2PMediaTransportOptions {
50
54
  peerConnectionFactory?: (configuration: RTCConfiguration) => RTCPeerConnection;
51
55
  mediaDevices?: Pick<MediaDevices, 'getUserMedia' | 'getDisplayMedia'>;
52
56
  signalPrefix?: string;
57
+ turnCredentialTtlSeconds?: number;
58
+ missingMediaGraceMs?: number;
59
+ disconnectedRecoveryDelayMs?: number;
60
+ maxRecoveryAttempts?: number;
61
+ mediaHealthCheckIntervalMs?: number;
62
+ videoFlowGraceMs?: number;
63
+ videoFlowStallGraceMs?: number;
53
64
  }
54
65
  export declare class RoomP2PMediaTransport implements RoomMediaTransport {
55
66
  private readonly room;
@@ -60,14 +71,21 @@ export declare class RoomP2PMediaTransport implements RoomMediaTransport {
60
71
  private readonly remoteTrackKinds;
61
72
  private readonly emittedRemoteTracks;
62
73
  private readonly pendingRemoteTracks;
74
+ private readonly pendingIceCandidates;
63
75
  private readonly subscriptions;
64
76
  private localMemberId;
65
77
  private connected;
78
+ private iceServersResolved;
79
+ private localUpdateBatchDepth;
80
+ private syncAllPeerSendersScheduled;
81
+ private syncAllPeerSendersPending;
82
+ private healthCheckTimer;
66
83
  constructor(room: RoomP2PMediaAdapter, options?: RoomP2PMediaTransportOptions);
67
84
  getSessionId(): string | null;
68
85
  getPeerConnection(): RTCPeerConnection | null;
69
86
  connect(payload?: RoomMediaTransportConnectPayload): Promise<string>;
70
87
  private waitForCurrentMember;
88
+ private resolveRtcConfiguration;
71
89
  enableAudio(constraints?: MediaTrackConstraints | boolean): Promise<MediaStreamTrack>;
72
90
  enableVideo(constraints?: MediaTrackConstraints | boolean): Promise<MediaStreamTrack>;
73
91
  startScreenShare(constraints?: DisplayCaptureConstraints): Promise<MediaStreamTrack>;
@@ -75,6 +93,7 @@ export declare class RoomP2PMediaTransport implements RoomMediaTransport {
75
93
  disableVideo(): Promise<void>;
76
94
  stopScreenShare(): Promise<void>;
77
95
  setMuted(kind: Extract<RoomMediaKind, 'audio' | 'video'>, muted: boolean): Promise<void>;
96
+ batchLocalUpdates<T>(callback: () => Promise<T>): Promise<T>;
78
97
  switchDevices(payload: {
79
98
  audioInputId?: string;
80
99
  videoInputId?: string;
@@ -84,12 +103,16 @@ export declare class RoomP2PMediaTransport implements RoomMediaTransport {
84
103
  destroy(): void;
85
104
  private attachRoomSubscriptions;
86
105
  private hydrateRemoteTrackKinds;
106
+ private rememberRemoteTrackKindsFromState;
87
107
  private rememberRemoteTrackKind;
88
108
  private ensurePeer;
89
109
  private negotiatePeer;
90
110
  private handleDescriptionSignal;
91
111
  private handleIceSignal;
92
112
  private flushPendingCandidates;
113
+ private queueIceCandidate;
114
+ private flushPendingIceCandidates;
115
+ private requestSyncAllPeerSenders;
93
116
  private syncAllPeerSenders;
94
117
  private syncPeerSenders;
95
118
  private emitRemoteTrack;
@@ -102,15 +125,30 @@ export declare class RoomP2PMediaTransport implements RoomMediaTransport {
102
125
  private findMember;
103
126
  private rollbackConnectedState;
104
127
  private destroyPeer;
128
+ private startHealthChecks;
129
+ private runHealthChecks;
130
+ private registerPeerRemoteTrack;
131
+ private inspectPeerVideoHealth;
105
132
  private createUserMediaTrack;
106
133
  private rememberLocalTrack;
107
134
  private releaseLocalTrack;
108
135
  private ensureConnectedMemberId;
109
136
  private normalizeDescription;
110
- private normalizeCandidate;
137
+ private normalizeCandidates;
138
+ private sendSignalWithRetry;
139
+ private withRateLimitRetry;
111
140
  private get offerEvent();
112
141
  private get answerEvent();
113
142
  private get iceEvent();
143
+ private maybeRetryPendingNegotiation;
144
+ private handlePeerConnectivityChange;
145
+ private schedulePeerRecoveryCheck;
146
+ private recoverPeer;
147
+ private requestIceRestart;
148
+ private resetPeer;
149
+ private resetPeerRecovery;
150
+ private clearPeerRecoveryTimer;
151
+ private hasMissingPublishedMedia;
114
152
  }
115
153
  export {};
116
154
  //# sourceMappingURL=room-p2p-media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"room-p2p-media.d.ts","sourceRoot":"","sources":["../src/room-p2p-media.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,cAAc,EACd,kBAAkB,EAClB,gCAAgC,EAChC,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,UAAU,yBAAyB;IACjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvG;AAED,UAAU,qBAAqB;IAC7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtG;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE;QACL,IAAI,IAAI,eAAe,EAAE,CAAC;QAC1B,KAAK,EAAE,yBAAyB,CAAC;QACjC,KAAK,EAAE,yBAAyB,CAAC;QACjC,MAAM,EAAE,qBAAqB,CAAC;QAC9B,OAAO,EAAE;YACP,MAAM,CAAC,OAAO,EAAE;gBACd,YAAY,CAAC,EAAE,MAAM,CAAC;gBACtB,YAAY,CAAC,EAAE,MAAM,CAAC;gBACtB,aAAa,CAAC,EAAE,MAAM,CAAC;aACxB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACnB,CAAC;QACF,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,YAAY,CAAC;QACpF,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,YAAY,CAAC;KAC5F,CAAC;IACF,OAAO,EAAE;QACP,IAAI,IAAI,UAAU,EAAE,CAAC;QACrB,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC;QAC7B,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,GAAG,YAAY,CAAC;QAC/D,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,YAAY,CAAC;QAC5D,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,KAAK,IAAI,GAAG,YAAY,CAAC;KAC7F,CAAC;IACF,OAAO,EAAE;QACP,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1E,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,GAAG,YAAY,CAAC;KAC5F,CAAC;CACH;AAoBD,KAAK,yBAAyB,GAC5B,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,GAChG,CAAC,GACD,sBAAsB,CAAC;AAoC7B,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,qBAAqB,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,KAAK,iBAAiB,CAAC;IAC/E,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAC;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,qBAAsB,YAAW,kBAAkB;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;IACF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6C;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IACzD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAyD;IAC7F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoC;IACrE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAI/B;IACL,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,SAAS,CAAS;gBAEd,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,4BAA4B;IAoB7E,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,iBAAiB,IAAI,iBAAiB,GAAG,IAAI;IAOvC,OAAO,CAAC,OAAO,CAAC,EAAE,gCAAgC,GAAG,OAAO,CAAC,MAAM,CAAC;YAmC5D,oBAAoB;IAc5B,WAAW,CAAC,WAAW,GAAE,qBAAqB,GAAG,OAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiB3F,WAAW,CAAC,WAAW,GAAE,qBAAqB,GAAG,OAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiB3F,gBAAgB,CACpB,WAAW,GAAE,yBAAyD,GACrE,OAAO,CAAC,gBAAgB,CAAC;IA2BtB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxF,aAAa,CAAC,OAAO,EAAE;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBjB,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GAAG,YAAY;IAUhF,OAAO,IAAI,IAAI;IAkBf,OAAO,CAAC,uBAAuB;IAqD/B,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,UAAU;YAkDJ,aAAa;YA+Bb,uBAAuB;YAmDvB,eAAe;YA8Bf,sBAAsB;IAsBpC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,eAAe;IAsCvB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,8BAA8B;IAatC,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,uCAAuC;IAoB/C,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,WAAW;YAWL,oBAAoB;IAkBlC,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,iBAAiB;YAUX,uBAAuB;IAOrC,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,QAAQ,GAEnB;CACF"}
1
+ {"version":3,"file":"room-p2p-media.d.ts","sourceRoot":"","sources":["../src/room-p2p-media.ts"],"names":[],"mappings":"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"}