@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.
- package/dist/database-live.js +2 -2
- package/dist/room-p2p-media.d.ts +40 -2
- package/dist/room-p2p-media.d.ts.map +1 -1
- package/dist/room-p2p-media.js +691 -42
- package/dist/room-p2p-media.js.map +1 -1
- package/dist/room.d.ts +5 -0
- package/dist/room.d.ts.map +1 -1
- package/dist/room.js +18 -0
- package/dist/room.js.map +1 -1
- package/package.json +2 -2
package/dist/database-live.js
CHANGED
|
@@ -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.
|
|
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.
|
|
358
|
+
this.sendRaw({ type: 'auth', token, sdkVersion: '0.2.5' });
|
|
359
359
|
}
|
|
360
360
|
handleAuthStateChange(user) {
|
|
361
361
|
if (user) {
|
package/dist/room-p2p-media.d.ts
CHANGED
|
@@ -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
|
|
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;
|
|
1
|
+
{"version":3,"file":"room-p2p-media.d.ts","sourceRoot":"","sources":["../src/room-p2p-media.ts"],"names":[],"mappings":"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"}
|