@voltkit-rtc/client 0.7.1 → 0.7.2
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/CHANGELOG.md +58 -0
- package/README.md +25 -2
- package/dist/cjs/broadcast.d.ts +21 -2
- package/dist/cjs/broadcast.d.ts.map +1 -1
- package/dist/cjs/broadcast.js +59 -4
- package/dist/cjs/broadcast.js.map +1 -1
- package/dist/cjs/chat.d.ts +2 -0
- package/dist/cjs/chat.d.ts.map +1 -1
- package/dist/cjs/chat.js +27 -6
- package/dist/cjs/chat.js.map +1 -1
- package/dist/cjs/index.d.ts +56 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +197 -58
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/broadcast.d.ts +21 -2
- package/dist/esm/broadcast.d.ts.map +1 -1
- package/dist/esm/broadcast.js +59 -4
- package/dist/esm/broadcast.js.map +1 -1
- package/dist/esm/chat.d.ts +2 -0
- package/dist/esm/chat.d.ts.map +1 -1
- package/dist/esm/chat.js +27 -6
- package/dist/esm/chat.js.map +1 -1
- package/dist/esm/index.d.ts +56 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +197 -58
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/src/broadcast.ts +52 -4
- package/src/chat.ts +28 -6
- package/src/index.ts +201 -53
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5F;;;;;;GAMG;AACH,OAAO,EAAU,KAAK,KAAK,IAAI,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAO5D,KAAK,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;AAK1C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAExF,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EASL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAe,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAOL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,UAAU,EAGf,KAAK,UAAU,EAEf,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAML,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACxH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACxH,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAChI,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjG,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjI,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1H,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE9D,oEAAoE;AACpE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iBAAiB,GAAG,qBAAqB,GAAG,uBAAuB,GAAG,WAAW,GAAG,MAAM,CAAC;IACnG,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,oGAAoG;IACpG,gBAAgB,EAAE,MAAM,CAAC;IACzB,kHAAkH;IAClH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,2FAA2F;AAC3F,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wHAAwH;AACxH,eAAO,MAAM,iBAAiB,wEAAwF,CAAC;AACvH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AAEtF,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5C,0GAA0G;IAC1G,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;IACxB,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,eAAe,CAAC;IACvC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oEAAoE;IACpE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,GAAG,UAAU,CAAC;CACnF;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAExG,0GAA0G;AAC1G,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,kGAAkG;IAClG,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;CAC1C;AAID,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,oGAAoG;IACpG,sBAAsB,EAAE,CAAC,CAAC,EAAE;QAAE,KAAK,EAAE,eAAe,CAAC;QAAC,QAAQ,EAAE,eAAe,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3F,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,KAAK,EAAE,CAAC,IAAI,EAAE;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QACxB,KAAK,EAAE,gBAAgB,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,wGAAwG;QACxG,MAAM,EAAE,WAAW,CAAC;KACrB,KAAK,IAAI,CAAC;IACX,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,8FAA8F;IAC9F,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACpI,iBAAiB,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,eAAe,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACpE,gBAAgB,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACpG,oEAAoE;IACpE,kBAAkB,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACzE,WAAW,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3D,UAAU,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxH;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACxF;;;;OAIG;IACH,YAAY,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,kHAAkH;IAClH,mBAAmB,EAAE,CAAC,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,aAAa,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/E,UAAU,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrD,kBAAkB,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,gBAAgB,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,SAAS,GAAG,aAAa,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE;;;;OAIG;IACH,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5B,iBAAiB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,yFAAyF;IACzF,kBAAkB,EAAE,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD,4FAA4F;IAC5F,iBAAiB,EAAE,CAAC,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnD;;;;OAIG;IACH,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,SAAS,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACxC;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,cAAc,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC9C;AAkBD,0DAA0D;AAC1D,eAAO,MAAM,aAAa,iCAAoE,CAAC;AA0D/F,qBAAa,YAAY;IAmIX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAyB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlInF,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,aAAa,CAA0B;IAK/C,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,SAAS,CAAgC;IAKjD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,cAAc,CAAsB;IAC5C,yFAAyF;IACzF,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,eAAe,CAAuB;IAC9C;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAAK;IAG3B,OAAO,CAAC,UAAU,CAAuC;IACzD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;IACrE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqC;IACtE,OAAO,CAAC,eAAe,CAAe;IACtC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,sBAAsB,CAAK;IACnC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,OAAO,CAAC,UAAU,CAAS;IAC3B;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,sFAAsF;IACtF,OAAO,CAAC,UAAU,CAAS;IAC3B,2EAA2E;IAC3E,OAAO,CAAC,eAAe,CAAgC;IAIvD,OAAO,CAAC,WAAW,CAAuC;IAI1D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAKzB;IACF,4DAA4D;IAC5D,OAAO,CAAC,KAAK,CAA2B;IACxC,qGAAqG;IACrG,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,UAAU,CAA8C;IAChE;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB,CAAK;IAChC,0IAA0I;IAC1I,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqF;IAChH,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IACnE,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,yDAAyD;IACzD,OAAO,CAAC,UAAU,CAAuB;IAEzC,OAAO,CAAC,QAAQ,CAAuC;IAEvD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAI3B;gBAE2B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAmB,OAAO,GAAE,aAAkB;IAKvG,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAkB3E,qFAAqF;IACrF,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,OAAO,CAAC,QAAQ;IAQhB,8DAA8D;IAC9D,OAAO,CAAC,MAAM;IAOd;;;;;;OAMG;IACH,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,IAAI;IAYN,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAmFpC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,UAAU;IAwDlB,OAAO,CAAC,YAAY;IAiBpB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAKrB;;;;OAIG;YACW,iBAAiB;IA8C/B,KAAK,IAAI,IAAI;IAkCb,OAAO,CAAC,aAAa;IAyBrB;;;;OAIG;IACH,IAAI,IAAI,IAAI,UAAU,GAAG,IAAI,CAE5B;IAED,yFAAyF;IACzF,IAAI,YAAY,IAAI,eAAe,EAAE,CAEpC;IAED,gDAAgD;IAChD,IAAI,YAAY,IAAI,WAAW,EAAE,CAWhC;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAED,0GAA0G;IAC1G,IAAI,WAAW,IAAI,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAE5C;IAID;;;;;;;;;;OAUG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IA0BvE,kGAAkG;IAClG,OAAO,CAAC,QAAQ;IAMhB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAoB7B,uFAAuF;IACvF,OAAO,CAAC,gBAAgB;IAIxB,4FAA4F;YAC9E,cAAc;IAY5B,OAAO,CAAC,GAAG;IAgBX,uDAAuD;IACvD,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,SAAS;YA2BH,OAAO;IAwLrB,qGAAqG;IACrG,OAAO,CAAC,YAAY;IAIpB,4FAA4F;IAC5F,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,mBAAmB;YASb,mBAAmB;IA2BjC,OAAO,CAAC,mBAAmB;YASb,mBAAmB;IAkBjC;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;YAanG,aAAa;IAuC3B;;;OAGG;IACH,IAAI,YAAY,IAAI,YAAY,CAG/B;IAED;;;;;;;OAOG;IACG,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAgBnE,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,OAAO;IAMf,mGAAmG;IACnG,OAAO,CAAC,eAAe;IAUvB;;;;OAIG;YACW,UAAU;IAwBxB,6FAA6F;YAC/E,YAAY;IAS1B,2EAA2E;IAC3E,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED;;;OAGG;IACH,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,0GAA0G;IAC1G,IAAI,cAAc,IAAI,EAAE,GAAG,EAAE,CAE5B;IAED;;;;;OAKG;IACG,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAYnE;;;;;;OAMG;IACG,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAsB7D,mDAAmD;IACnD,OAAO,CAAC,QAAQ;IAKhB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAUrB;;;;;;;;;;;;;OAaG;IACG,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C/D;;;;;;OAMG;YACW,kBAAkB;IAuBhC;;;;;;;OAOG;IACG,aAAa,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIrD;;;;OAIG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAe5E;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAe3F,iBAAiB;IAe/B,iGAAiG;IAC3F,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAenF,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,UAAU;IAMlB,kEAAkE;IAClE,OAAO,CAAC,eAAe;IAQvB,iGAAiG;YACnF,eAAe;IAW7B,iFAAiF;IACjF,OAAO,CAAC,UAAU;IAKlB;;;;OAIG;YACW,aAAa;IA2D3B;;;;OAIG;YACW,YAAY;IAS1B;;;;OAIG;YACW,aAAa;IAI3B;;;OAGG;YACW,WAAW;IAuBzB,oGAAoG;IACpG,OAAO,CAAC,mBAAmB;IAS3B,+EAA+E;YACjE,0BAA0B;IAcxC,kFAAkF;IAClF,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;YACW,SAAS;IAiDvB,4FAA4F;IACtF,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC;IA0C7E,wFAAwF;IAClF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,OAAO,CAAC,aAAa;YAWP,UAAU;YAWV,aAAa;IA2C3B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;YAgBN,YAAY;IA4B1B;;;;;;;;;OASG;IACG,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5E,OAAO,CAAC,SAAS;YAMH,YAAY;IA2B1B,uEAAuE;IACvE,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,YAAY,IAAI,OAAO,CAG1B;IAED,iFAAiF;IACjF,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,gFAAgF;IAC1E,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAKhC,+DAA+D;YACjD,UAAU;IAaxB,OAAO,CAAC,cAAc;YAQR,OAAO;IAyCrB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAIxB,sFAAsF;IACtF,OAAO,CAAC,cAAc;YAWR,UAAU;IA0DxB,4DAA4D;IAC5D,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,CAAC,YAAY;IAOpB;;;;OAIG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,OAAO,CAAC,oBAAoB;YAYd,cAAc;IAW5B,8DAA8D;IACxD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkChC,4FAA4F;IACtF,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,aAAa,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAK/C,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,CAE9B;IAID,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9C,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACnD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,MAAM,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAGtF,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IACvD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IACzD;;;;;;OAMG;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAO3B,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAShC;;;;;OAKG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,uDAAuD;IACjD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC;;;;OAIG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,sCAAsC;IAChC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,kFAAkF;IAC5E,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE;;;;;;;OAOG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAC1D,OAAO,CAAC,OAAO,CAAC;IAcnB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7F,6EAA6E;IACvE,WAAW,CAAC,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAKzF,4DAA4D;IAC5D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAClD,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC1D,8EAA8E;IAC9E,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5C,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CACnC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -141,6 +141,16 @@ class StreamClient {
|
|
|
141
141
|
/** In-app music being published, kept across reconnects so it can be published again. */
|
|
142
142
|
music = null;
|
|
143
143
|
musicProducerId = null;
|
|
144
|
+
/**
|
|
145
|
+
* Bumped by every publishMusic() and stopMusic(). A music producer still
|
|
146
|
+
* being made when it changes belongs to a publish that is over: it is
|
|
147
|
+
* closed, not kept. publishGeneration alone missed stopMusic(), and the
|
|
148
|
+
* music went out after stopMusic() had returned.
|
|
149
|
+
*/
|
|
150
|
+
musicOperation = 0;
|
|
151
|
+
// Music publishes run one at a time: the server takes one producer per
|
|
152
|
+
// source, so the next is produced only once the last one is settled.
|
|
153
|
+
musicQueue = Promise.resolve();
|
|
144
154
|
screenStream = null;
|
|
145
155
|
screenMode = 'detail';
|
|
146
156
|
screenAudioEnabled = true;
|
|
@@ -157,6 +167,8 @@ class StreamClient {
|
|
|
157
167
|
frameRateWarmupSamples = 2;
|
|
158
168
|
/** What each remote producer carries, so a pause can say "music" rather than just "audio". */
|
|
159
169
|
remoteSources = new Map();
|
|
170
|
+
/** Identity of each pending/active subscription; cleared on close/reconnect. */
|
|
171
|
+
subscriptions = new Map();
|
|
160
172
|
/**
|
|
161
173
|
* The layers asked for each remote video, by producerId. A reconnect
|
|
162
174
|
* consumes everything again, and the new consumer would otherwise start at
|
|
@@ -195,6 +207,17 @@ class StreamClient {
|
|
|
195
207
|
/** When the token held for reconnects expires (unix ms), and the timer that warns before it does. */
|
|
196
208
|
tokenExpiry;
|
|
197
209
|
tokenTimer = null;
|
|
210
|
+
/**
|
|
211
|
+
* Bumped whenever the server hands this client a token (its own refresh, a
|
|
212
|
+
* promotion's). An updateToken() that started before then keeps the token
|
|
213
|
+
* it was given only if nothing newer arrived while it waited: its reply,
|
|
214
|
+
* or its fallback once the socket closed, used to replace a promotion's
|
|
215
|
+
* token, and the reconnect joined with the old one.
|
|
216
|
+
*/
|
|
217
|
+
serverTokenRevision = 0;
|
|
218
|
+
/** updateToken() calls in call order, and the newest one whose token is held: a later call wins over an earlier one answered after it. */
|
|
219
|
+
tokenRequests = 0;
|
|
220
|
+
tokenRequestHeld = 0;
|
|
198
221
|
/** Whose each received track is and whether it is switched off, by producerId. */
|
|
199
222
|
remoteInfo = new Map();
|
|
200
223
|
/** Videos left unconsumed at the fan-out limit, oldest first; consumed as others end. */
|
|
@@ -256,6 +279,17 @@ class StreamClient {
|
|
|
256
279
|
this.setState('closed');
|
|
257
280
|
this.emit('closed', reason);
|
|
258
281
|
}
|
|
282
|
+
/**
|
|
283
|
+
* Over for good without the app asking: finish, then release everything
|
|
284
|
+
* local as close() does -- camera, microphone, screen, music, recording.
|
|
285
|
+
* kicked and roomClosed always did; a replaced socket, a close without
|
|
286
|
+
* roomClosed and a reconnect that gave up left them capturing (and the
|
|
287
|
+
* recording uploading) after `closed`, until the app called close().
|
|
288
|
+
*/
|
|
289
|
+
end(reason) {
|
|
290
|
+
this.finish(reason);
|
|
291
|
+
this.close();
|
|
292
|
+
}
|
|
259
293
|
stopTimers() {
|
|
260
294
|
if (this.tokenTimer)
|
|
261
295
|
clearTimeout(this.tokenTimer);
|
|
@@ -282,8 +316,13 @@ class StreamClient {
|
|
|
282
316
|
let result;
|
|
283
317
|
if (this.state === 'idle' || this.state === 'closed')
|
|
284
318
|
this.setState('connecting');
|
|
319
|
+
// The socket this call opens. A later connect() replaces it, and this
|
|
320
|
+
// call's failure must then leave the newer socket, and the state, alone.
|
|
321
|
+
let socket = null;
|
|
285
322
|
try {
|
|
286
|
-
|
|
323
|
+
const opening = this.openSocket();
|
|
324
|
+
socket = this.ws;
|
|
325
|
+
await opening;
|
|
287
326
|
result = (await this.rpc('join', { token: this.token }));
|
|
288
327
|
this.joinResult = result;
|
|
289
328
|
this.device = this.createDevice();
|
|
@@ -297,7 +336,8 @@ class StreamClient {
|
|
|
297
336
|
// A session that never got going: the app has the error. Left open,
|
|
298
337
|
// the socket would be closed by the server's join deadline instead, and
|
|
299
338
|
// that close would start reconnecting a session that never began.
|
|
300
|
-
|
|
339
|
+
const superseded = this.ws !== null && this.ws !== socket;
|
|
340
|
+
if (!this.joinedOnce && !superseded) {
|
|
301
341
|
this.detachSocket();
|
|
302
342
|
if (this.state === 'connecting')
|
|
303
343
|
this.setState('idle');
|
|
@@ -401,17 +441,16 @@ class StreamClient {
|
|
|
401
441
|
// Another session for this identity is live. Reconnecting would
|
|
402
442
|
// displace it, and it would displace us right back, forever.
|
|
403
443
|
this.emit('error', new errors_js_1.RpcError('replaced', 'this identity connected from somewhere else'));
|
|
404
|
-
// The
|
|
405
|
-
// videoLimited sampling must not, or it reports after `closed`.
|
|
444
|
+
// The videoLimited sampling stops first, or it reports after `closed`.
|
|
406
445
|
this.limitWatch.reset();
|
|
407
|
-
this.
|
|
446
|
+
this.end('replaced');
|
|
408
447
|
return;
|
|
409
448
|
}
|
|
410
449
|
if (ev.code === CLOSE_ENDED) {
|
|
411
450
|
// Normally roomClosed has already ended the session; this covers a
|
|
412
451
|
// close that arrived without it.
|
|
413
452
|
this.limitWatch.reset();
|
|
414
|
-
this.
|
|
453
|
+
this.end('room-closed');
|
|
415
454
|
return;
|
|
416
455
|
}
|
|
417
456
|
// Before a first successful join the app is still waiting on
|
|
@@ -424,10 +463,12 @@ class StreamClient {
|
|
|
424
463
|
});
|
|
425
464
|
});
|
|
426
465
|
}
|
|
427
|
-
detachSocket(reason = 'superseded') {
|
|
466
|
+
detachSocket(reason = 'superseded', why = 'the connection was replaced') {
|
|
428
467
|
const ws = this.ws;
|
|
429
468
|
this.ws = null;
|
|
430
|
-
if (ws
|
|
469
|
+
if (!ws)
|
|
470
|
+
return;
|
|
471
|
+
if (ws.readyState <= WebSocket.OPEN) {
|
|
431
472
|
try {
|
|
432
473
|
ws.close(1000, reason);
|
|
433
474
|
}
|
|
@@ -435,6 +476,10 @@ class StreamClient {
|
|
|
435
476
|
/* already closing */
|
|
436
477
|
}
|
|
437
478
|
}
|
|
479
|
+
// Its replies are no longer read, so what waits on it would only wait out
|
|
480
|
+
// its 15 s timeout: it fails now, as on a close. Never replayed -- the
|
|
481
|
+
// server may already have acted on it.
|
|
482
|
+
this.failPending(ws, new errors_js_1.RpcError('not-connected', why));
|
|
438
483
|
}
|
|
439
484
|
/**
|
|
440
485
|
* A reconnect that ends the session lets go of its socket. A refused join
|
|
@@ -443,7 +488,7 @@ class StreamClient {
|
|
|
443
488
|
* still sending.
|
|
444
489
|
*/
|
|
445
490
|
releaseSocket() {
|
|
446
|
-
this.detachSocket('gave up');
|
|
491
|
+
this.detachSocket('gave up', 'the session has ended');
|
|
447
492
|
this.failAllPending(new errors_js_1.RpcError('not-connected', 'the session has ended'));
|
|
448
493
|
}
|
|
449
494
|
/**
|
|
@@ -464,7 +509,7 @@ class StreamClient {
|
|
|
464
509
|
if (this.reconnectAttempt > MAX_RECONNECT_ATTEMPTS) {
|
|
465
510
|
this.emit('error', new errors_js_1.RpcError('reconnect-gave-up', `gave up after ${MAX_RECONNECT_ATTEMPTS} reconnect attempts`));
|
|
466
511
|
this.releaseSocket();
|
|
467
|
-
this.
|
|
512
|
+
this.end('gave-up');
|
|
468
513
|
return;
|
|
469
514
|
}
|
|
470
515
|
const backoff = Math.min(500 * 2 ** (this.reconnectAttempt - 1), 15_000);
|
|
@@ -492,7 +537,7 @@ class StreamClient {
|
|
|
492
537
|
// attempt forever and drowns out whatever actually went wrong.
|
|
493
538
|
if (err instanceof errors_js_1.RpcError && (0, errors_js_1.isTerminalError)(err.code)) {
|
|
494
539
|
this.releaseSocket();
|
|
495
|
-
this.
|
|
540
|
+
this.end('gave-up');
|
|
496
541
|
return;
|
|
497
542
|
}
|
|
498
543
|
}
|
|
@@ -537,6 +582,7 @@ class StreamClient {
|
|
|
537
582
|
this.emit('closed', 'left');
|
|
538
583
|
}
|
|
539
584
|
teardownMedia() {
|
|
585
|
+
this.subscriptions.clear();
|
|
540
586
|
for (const c of this.consumers.values())
|
|
541
587
|
c.close();
|
|
542
588
|
this.consumers.clear();
|
|
@@ -607,19 +653,29 @@ class StreamClient {
|
|
|
607
653
|
* `tokenExpiring`. On a live connection the server checks it like a join
|
|
608
654
|
* token (`bad-token`, or `token-mismatch` for another room or identity; the
|
|
609
655
|
* session then keeps its token); otherwise it is kept for the next join,
|
|
610
|
-
* which checks it there. Resolves to when
|
|
656
|
+
* which checks it there. Resolves to when the token now held expires (unix
|
|
657
|
+
* ms), when known. A newer token that arrives while this waits is kept
|
|
658
|
+
* instead of this one: the server's (its own refresh, or a promotion's,
|
|
659
|
+
* which carries the new role) or a later updateToken()'s.
|
|
611
660
|
*/
|
|
612
661
|
async updateToken(token) {
|
|
613
662
|
if (typeof token !== 'string' || token.trim() === '')
|
|
614
663
|
throw new TypeError('updateToken needs a token');
|
|
615
664
|
if (this.state === 'closed')
|
|
616
665
|
throw new errors_js_1.RpcError('not-connected', 'this session is closed; create a new client');
|
|
666
|
+
const request = ++this.tokenRequests;
|
|
667
|
+
const revision = this.serverTokenRevision;
|
|
668
|
+
const keep = (expiresAt) => {
|
|
669
|
+
if (revision === this.serverTokenRevision && request > this.tokenRequestHeld) {
|
|
670
|
+
this.tokenRequestHeld = request;
|
|
671
|
+
this.setToken(token, expiresAt);
|
|
672
|
+
}
|
|
673
|
+
return { expiresAt: this.tokenExpiry };
|
|
674
|
+
};
|
|
617
675
|
if (this.state === 'connected' && this.ws?.readyState === WebSocket.OPEN) {
|
|
618
676
|
try {
|
|
619
677
|
const res = (await this.rpc('refreshToken', { token }));
|
|
620
|
-
|
|
621
|
-
this.setToken(token, at);
|
|
622
|
-
return { expiresAt: this.tokenExpiry };
|
|
678
|
+
return keep(typeof res?.expiresAt === 'number' && res.expiresAt > 0 ? res.expiresAt * 1000 : null);
|
|
623
679
|
}
|
|
624
680
|
catch (err) {
|
|
625
681
|
// An older server has no refreshToken, and a socket that dropped
|
|
@@ -629,8 +685,7 @@ class StreamClient {
|
|
|
629
685
|
throw err;
|
|
630
686
|
}
|
|
631
687
|
}
|
|
632
|
-
|
|
633
|
-
return { expiresAt: this.tokenExpiry };
|
|
688
|
+
return keep(null);
|
|
634
689
|
}
|
|
635
690
|
/** The token reconnects use from now on, with its expiry (read from the token when not given). */
|
|
636
691
|
setToken(token, expiresAt) {
|
|
@@ -691,10 +746,20 @@ class StreamClient {
|
|
|
691
746
|
this.pending.delete(id);
|
|
692
747
|
reject(new errors_js_1.RpcError('timeout', `${method} timed out`));
|
|
693
748
|
}, RPC_TIMEOUT_MS);
|
|
694
|
-
this.pending.set(id, { resolve, reject, timer });
|
|
749
|
+
this.pending.set(id, { resolve, reject, timer, ws: this.ws });
|
|
695
750
|
this.ws.send(JSON.stringify({ id, method, params }));
|
|
696
751
|
});
|
|
697
752
|
}
|
|
753
|
+
/** Fail what was sent on `ws` and is still waiting. */
|
|
754
|
+
failPending(ws, err) {
|
|
755
|
+
for (const [id, p] of this.pending) {
|
|
756
|
+
if (p.ws !== ws)
|
|
757
|
+
continue;
|
|
758
|
+
clearTimeout(p.timer);
|
|
759
|
+
this.pending.delete(id);
|
|
760
|
+
p.reject(err);
|
|
761
|
+
}
|
|
762
|
+
}
|
|
698
763
|
failAllPending(err) {
|
|
699
764
|
for (const p of this.pending.values()) {
|
|
700
765
|
clearTimeout(p.timer);
|
|
@@ -739,23 +804,21 @@ class StreamClient {
|
|
|
739
804
|
break;
|
|
740
805
|
case 'producerClosed': {
|
|
741
806
|
const { producerId, identity } = data;
|
|
807
|
+
this.subscriptions.delete(producerId);
|
|
742
808
|
this.preferredLayers.delete(producerId);
|
|
743
809
|
this.receiveQualities.delete(producerId);
|
|
744
810
|
this.remoteVideoLayers.delete(producerId);
|
|
745
811
|
this.skippedVideos.delete(producerId);
|
|
746
812
|
const consumer = this.consumers.get(producerId);
|
|
747
|
-
|
|
748
|
-
break; // never consumed it, or already cleaned up
|
|
749
|
-
this.videoSlots.delete(producerId);
|
|
750
|
-
consumer.close();
|
|
813
|
+
consumer?.close();
|
|
751
814
|
this.consumers.delete(producerId);
|
|
752
815
|
this.remoteSources.delete(producerId);
|
|
753
816
|
this.remoteInfo.delete(producerId);
|
|
754
|
-
|
|
817
|
+
if (consumer)
|
|
818
|
+
this.emit('trackEnded', { producerId, identity });
|
|
755
819
|
// A video slot opened under the fan-out limit: the oldest video left
|
|
756
820
|
// waiting takes it.
|
|
757
|
-
|
|
758
|
-
void this.consumeSkipped().catch((err) => this.emit('error', err));
|
|
821
|
+
this.releaseVideoSlot(producerId);
|
|
759
822
|
break;
|
|
760
823
|
}
|
|
761
824
|
case 'producerPaused': {
|
|
@@ -853,15 +916,19 @@ class StreamClient {
|
|
|
853
916
|
// fresh one periodically so a reconnect at any point still works --
|
|
854
917
|
// without this, any disconnect after the token's lifetime is terminal.
|
|
855
918
|
const e = data;
|
|
856
|
-
if (e.token)
|
|
919
|
+
if (e.token) {
|
|
920
|
+
this.serverTokenRevision += 1;
|
|
857
921
|
this.setToken(e.token, typeof e.expiresAt === 'number' && e.expiresAt > 0 ? e.expiresAt * 1000 : null);
|
|
922
|
+
}
|
|
858
923
|
break;
|
|
859
924
|
}
|
|
860
925
|
case 'mustReconnect': {
|
|
861
926
|
const e = data;
|
|
862
927
|
// A promotion hands us a fresh token carrying the new role.
|
|
863
|
-
if (e.token)
|
|
928
|
+
if (e.token) {
|
|
929
|
+
this.serverTokenRevision += 1;
|
|
864
930
|
this.setToken(e.token, null);
|
|
931
|
+
}
|
|
865
932
|
this.emit('mustReconnect', e);
|
|
866
933
|
if (e.retry) {
|
|
867
934
|
this.teardownMedia();
|
|
@@ -1625,8 +1692,11 @@ class StreamClient {
|
|
|
1625
1692
|
await this.stopScreen('stopped');
|
|
1626
1693
|
this.emit('error', err);
|
|
1627
1694
|
});
|
|
1628
|
-
if (this.music)
|
|
1629
|
-
|
|
1695
|
+
if (this.music) {
|
|
1696
|
+
const music = this.music;
|
|
1697
|
+
const operation = this.musicOperation;
|
|
1698
|
+
await this.musicTask(() => this.produceMusic(music, generation, operation)).catch((err) => this.emit('error', err));
|
|
1699
|
+
}
|
|
1630
1700
|
if (generation !== this.publishGeneration)
|
|
1631
1701
|
return;
|
|
1632
1702
|
let stream = this.localStream;
|
|
@@ -1860,28 +1930,43 @@ class StreamClient {
|
|
|
1860
1930
|
if (!this.mediaPermissions.audio)
|
|
1861
1931
|
throw new errors_js_1.RpcError('media-disabled', 'audio is switched off for this project');
|
|
1862
1932
|
const generation = this.publishGeneration;
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
const
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
// Checked again here: an unpublish() after the producer was kept has
|
|
1869
|
-
// already closed it, and the music must not be remembered for a
|
|
1870
|
-
// reconnect to publish again.
|
|
1871
|
-
if (generation !== this.publishGeneration)
|
|
1933
|
+
// Taken now, in call order: a music publish still under way is over, and
|
|
1934
|
+
// a stopMusic() from here on ends this one.
|
|
1935
|
+
const operation = ++this.musicOperation;
|
|
1936
|
+
await this.musicTask(async () => {
|
|
1937
|
+
if (generation !== this.publishGeneration || operation !== this.musicOperation)
|
|
1872
1938
|
throw unpublishedWhile('music');
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
music.
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1939
|
+
if (this.music)
|
|
1940
|
+
await this.closeMusic();
|
|
1941
|
+
const music = new music_js_1.MusicSource(input, options);
|
|
1942
|
+
try {
|
|
1943
|
+
await this.produceMusic(music, generation, operation);
|
|
1944
|
+
// Checked again here: an unpublish() or stopMusic() after the
|
|
1945
|
+
// producer was kept has already closed it, and the music must not be
|
|
1946
|
+
// remembered for a reconnect to publish again.
|
|
1947
|
+
if (generation !== this.publishGeneration || operation !== this.musicOperation)
|
|
1948
|
+
throw unpublishedWhile('music');
|
|
1949
|
+
}
|
|
1950
|
+
catch (err) {
|
|
1951
|
+
music.close();
|
|
1952
|
+
throw err;
|
|
1953
|
+
}
|
|
1954
|
+
this.music = music;
|
|
1955
|
+
this.wasPublishing = true;
|
|
1956
|
+
this.emitLocalMedia();
|
|
1957
|
+
});
|
|
1881
1958
|
}
|
|
1882
|
-
|
|
1959
|
+
musicTask(task) {
|
|
1960
|
+
const run = this.musicQueue.then(task, task);
|
|
1961
|
+
this.musicQueue = run.catch(() => undefined);
|
|
1962
|
+
return run;
|
|
1963
|
+
}
|
|
1964
|
+
async produceMusic(music, generation, operation) {
|
|
1965
|
+
// unpublish(), stopMusic() or a newer publishMusic() can run at any wait
|
|
1966
|
+
// below, and wins.
|
|
1967
|
+
const current = () => generation === this.publishGeneration && operation === this.musicOperation;
|
|
1883
1968
|
const transport = await this.ensureSendTransport();
|
|
1884
|
-
if (
|
|
1969
|
+
if (!current())
|
|
1885
1970
|
throw unpublishedWhile('music');
|
|
1886
1971
|
const producer = await transport.produce({
|
|
1887
1972
|
track: music.track,
|
|
@@ -1891,7 +1976,14 @@ class StreamClient {
|
|
|
1891
1976
|
codecOptions: { opusStereo: true, opusDtx: false, opusFec: true, opusMaxAverageBitrate: 128_000 },
|
|
1892
1977
|
appData: { source: 'music' },
|
|
1893
1978
|
});
|
|
1894
|
-
|
|
1979
|
+
if (!current()) {
|
|
1980
|
+
producer.close();
|
|
1981
|
+
await this.rpc('closeProducer', { producerId: producer.id }).catch(() => undefined);
|
|
1982
|
+
throw unpublishedWhile('music');
|
|
1983
|
+
}
|
|
1984
|
+
// Kept and named the music in one step, with no wait between: stopMusic()
|
|
1985
|
+
// finds the music producer by that name.
|
|
1986
|
+
this.producers.set(producer.id, producer);
|
|
1895
1987
|
this.musicProducerId = producer.id;
|
|
1896
1988
|
// Music switched off before a reconnect comes back paused here.
|
|
1897
1989
|
await this.pauseOnServer(producer);
|
|
@@ -1920,8 +2012,17 @@ class StreamClient {
|
|
|
1920
2012
|
await this.rpc('pauseProducer', { producerId: producer.id, paused: !enabled });
|
|
1921
2013
|
this.emitLocalMedia();
|
|
1922
2014
|
}
|
|
1923
|
-
/**
|
|
2015
|
+
/**
|
|
2016
|
+
* Stop publishing music. The element or stream it came from is left as it
|
|
2017
|
+
* was. A publishMusic() still under way is stopped too: it rejects with
|
|
2018
|
+
* `unpublished` and publishes nothing.
|
|
2019
|
+
*/
|
|
1924
2020
|
async stopMusic() {
|
|
2021
|
+
this.musicOperation += 1;
|
|
2022
|
+
await this.closeMusic();
|
|
2023
|
+
}
|
|
2024
|
+
/** Close the music being published, here and at the server. */
|
|
2025
|
+
async closeMusic() {
|
|
1925
2026
|
const id = this.musicProducerId;
|
|
1926
2027
|
this.musicProducerId = null;
|
|
1927
2028
|
this.music?.close();
|
|
@@ -1941,9 +2042,11 @@ class StreamClient {
|
|
|
1941
2042
|
});
|
|
1942
2043
|
}
|
|
1943
2044
|
async consume(remote) {
|
|
2045
|
+
if (this.closedByUs)
|
|
2046
|
+
return;
|
|
1944
2047
|
if (!this.device)
|
|
1945
2048
|
throw new errors_js_1.RpcError('not-connected', 'not connected');
|
|
1946
|
-
if (this.
|
|
2049
|
+
if (this.subscriptions.has(remote.producerId))
|
|
1947
2050
|
return;
|
|
1948
2051
|
// Your own camera is already local; pulling it back off the SFU wastes a
|
|
1949
2052
|
// consumer and shows you a delayed copy of yourself.
|
|
@@ -1963,35 +2066,69 @@ class StreamClient {
|
|
|
1963
2066
|
}
|
|
1964
2067
|
this.videoSlots.add(remote.producerId);
|
|
1965
2068
|
}
|
|
2069
|
+
const operation = {};
|
|
2070
|
+
this.subscriptions.set(remote.producerId, operation);
|
|
1966
2071
|
try {
|
|
1967
|
-
await this.consumeNow(remote);
|
|
2072
|
+
await this.consumeNow(remote, operation);
|
|
1968
2073
|
}
|
|
1969
2074
|
catch (err) {
|
|
1970
|
-
|
|
1971
|
-
|
|
2075
|
+
// A closed producer or replaced session has already released its slot.
|
|
2076
|
+
// Its late failure must neither release a newer slot nor report a ghost error.
|
|
2077
|
+
if (this.subscriptions.get(remote.producerId) !== operation)
|
|
2078
|
+
return;
|
|
2079
|
+
this.subscriptions.delete(remote.producerId);
|
|
2080
|
+
this.consumers.get(remote.producerId)?.close();
|
|
2081
|
+
this.consumers.delete(remote.producerId);
|
|
2082
|
+
this.remoteVideoLayers.delete(remote.producerId);
|
|
2083
|
+
this.remoteSources.delete(remote.producerId);
|
|
2084
|
+
this.remoteInfo.delete(remote.producerId);
|
|
2085
|
+
this.releaseVideoSlot(remote.producerId);
|
|
1972
2086
|
throw err;
|
|
1973
2087
|
}
|
|
1974
2088
|
}
|
|
2089
|
+
/**
|
|
2090
|
+
* Free a video slot, and let the oldest video waiting take it -- whatever
|
|
2091
|
+
* freed it: an ended video, or a subscription that failed. Not while
|
|
2092
|
+
* reconnecting: a failure caused by the socket dropping would otherwise
|
|
2093
|
+
* start every waiting video on a dead connection, each failing with
|
|
2094
|
+
* not-connected; the reconnect's join lists them all again anyway.
|
|
2095
|
+
*/
|
|
2096
|
+
releaseVideoSlot(producerId) {
|
|
2097
|
+
if (this.videoSlots.delete(producerId) && !this.closedByUs && this.state !== 'reconnecting')
|
|
2098
|
+
this.consumeSkipped();
|
|
2099
|
+
}
|
|
1975
2100
|
/** The oldest videos left waiting at the fan-out limit take the slots that opened. */
|
|
1976
|
-
|
|
2101
|
+
consumeSkipped() {
|
|
1977
2102
|
for (const [producerId, remote] of this.skippedVideos) {
|
|
1978
2103
|
const limit = this.mediaPermissions.maxVideoSubscriptions;
|
|
1979
2104
|
if (limit !== null && this.videoSlots.size >= limit)
|
|
1980
2105
|
return;
|
|
1981
2106
|
this.skippedVideos.delete(producerId);
|
|
1982
|
-
await
|
|
2107
|
+
// consume reserves synchronously, before its first await. Consecutive
|
|
2108
|
+
// releases cannot admit the same producer or exceed the limit.
|
|
2109
|
+
void this.consume(remote).catch((err) => this.emit('error', err));
|
|
1983
2110
|
}
|
|
1984
2111
|
}
|
|
1985
|
-
async consumeNow(remote) {
|
|
2112
|
+
async consumeNow(remote, operation) {
|
|
1986
2113
|
if (!this.device)
|
|
1987
2114
|
throw new errors_js_1.RpcError('not-connected', 'not connected');
|
|
2115
|
+
const device = this.device;
|
|
2116
|
+
const current = (made) => {
|
|
2117
|
+
if (!this.closedByUs && this.subscriptions.get(remote.producerId) === operation)
|
|
2118
|
+
return;
|
|
2119
|
+
made?.close();
|
|
2120
|
+
throw new errors_js_1.RpcError('not-connected', 'subscription ended during setup');
|
|
2121
|
+
};
|
|
1988
2122
|
const transport = await this.ensureRecvTransport();
|
|
2123
|
+
current();
|
|
1989
2124
|
const params = (await this.rpc('consume', {
|
|
1990
2125
|
transportId: transport.id,
|
|
1991
2126
|
producerId: remote.producerId,
|
|
1992
|
-
rtpCapabilities:
|
|
2127
|
+
rtpCapabilities: device.rtpCapabilities,
|
|
1993
2128
|
}));
|
|
2129
|
+
current();
|
|
1994
2130
|
const consumer = await transport.consume(params);
|
|
2131
|
+
current(consumer);
|
|
1995
2132
|
this.consumers.set(remote.producerId, consumer);
|
|
1996
2133
|
this.remoteVideoLayers.set(remote.producerId, remote.videoLayers ?? remote.appData?.videoLayers ?? params.videoLayers ?? []);
|
|
1997
2134
|
// Layers asked for before a reconnect: the new consumer gets them before
|
|
@@ -2011,9 +2148,11 @@ class StreamClient {
|
|
|
2011
2148
|
if (layers) {
|
|
2012
2149
|
await this.rpc('setPreferredLayers', { consumerId: consumer.id, ...layers }).catch((err) => this.emit('error', err));
|
|
2013
2150
|
}
|
|
2151
|
+
current(consumer);
|
|
2014
2152
|
// The server created it paused. Resume only now that our end exists,
|
|
2015
2153
|
// otherwise the first frames arrive before there is anything to decode them.
|
|
2016
2154
|
await this.rpc('resumeConsumer', { consumerId: consumer.id });
|
|
2155
|
+
current(consumer);
|
|
2017
2156
|
const kind = consumer.kind;
|
|
2018
2157
|
const source = remote.source ?? defaultSource(kind);
|
|
2019
2158
|
this.remoteSources.set(remote.producerId, source);
|