@dxos/plugin-thread 0.8.4-main.28f8d3d → 0.8.4-main.2c6827d
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/browser/ChannelContainer-JI3ZRZ5S.mjs +17 -0
- package/dist/lib/browser/ChatContainer-6FVFME3R.mjs +16 -0
- package/dist/lib/browser/{app-graph-builder-AF3M7UWN.mjs → app-graph-builder-URVQHGMR.mjs} +32 -32
- package/dist/lib/browser/app-graph-builder-URVQHGMR.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs +101 -0
- package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs.map +7 -0
- package/dist/lib/browser/{call-manager-XRRCAVLI.mjs → call-manager-4YFT4XA6.mjs} +8 -7
- package/dist/lib/{node-esm/call-manager-EI7FXRAU.mjs.map → browser/call-manager-4YFT4XA6.mjs.map} +1 -1
- package/dist/lib/browser/chunk-6LWKNZUV.mjs +377 -0
- package/dist/lib/browser/chunk-6LWKNZUV.mjs.map +7 -0
- package/dist/lib/browser/chunk-CBUNHCOE.mjs +23 -0
- package/dist/lib/browser/chunk-CBUNHCOE.mjs.map +7 -0
- package/dist/lib/browser/chunk-CFC7LEPD.mjs +18 -0
- package/dist/lib/browser/chunk-CFC7LEPD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-GERVMFQW.mjs → chunk-CP7E2HRE.mjs} +2 -2
- package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZJ7QBXK6.mjs → chunk-F36NHPJG.mjs} +47 -42
- package/dist/lib/browser/chunk-F36NHPJG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JGKMMI65.mjs → chunk-ISCHODBV.mjs} +54 -4
- package/dist/lib/browser/chunk-ISCHODBV.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/{chunk-X5PIP5YR.mjs → chunk-KOBXMDCI.mjs} +74 -41
- package/dist/lib/browser/chunk-KOBXMDCI.mjs.map +7 -0
- package/dist/lib/browser/chunk-QM34EZQK.mjs +20 -0
- package/dist/lib/browser/chunk-QM34EZQK.mjs.map +7 -0
- package/dist/lib/browser/chunk-R5UOPOO7.mjs +142 -0
- package/dist/lib/browser/chunk-R5UOPOO7.mjs.map +7 -0
- package/dist/lib/browser/chunk-VIRD2QSK.mjs +611 -0
- package/dist/lib/browser/chunk-VIRD2QSK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TUFWPOVS.mjs → chunk-ZCW3NSDZ.mjs} +256 -161
- package/dist/lib/browser/chunk-ZCW3NSDZ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +48 -38
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-DCY4P4OX.mjs → intent-resolver-YR6W4CRP.mjs} +33 -51
- package/dist/lib/browser/intent-resolver-YR6W4CRP.mjs.map +7 -0
- package/dist/lib/browser/{markdown-WZSXCEZJ.mjs → markdown-GSOBOXA7.mjs} +26 -24
- package/dist/lib/browser/markdown-GSOBOXA7.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-RAWRPF7Z.mjs +29 -0
- package/dist/lib/browser/react-root-RAWRPF7Z.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-PYAMIADB.mjs → react-surface-GOEFSXQ6.mjs} +38 -36
- package/dist/lib/browser/react-surface-GOEFSXQ6.mjs.map +7 -0
- package/dist/lib/browser/{settings-AC6YSASL.mjs → settings-JN2HHORY.mjs} +6 -5
- package/dist/lib/{node-esm/settings-N52O7MLS.mjs.map → browser/settings-JN2HHORY.mjs.map} +1 -1
- package/dist/lib/browser/{state-2T4KDWBX.mjs → state-UYPLBGZJ.mjs} +6 -5
- package/dist/lib/{node-esm/state-62TQKQVB.mjs.map → browser/state-UYPLBGZJ.mjs.map} +1 -1
- package/dist/lib/browser/types/index.mjs +7 -10
- package/dist/lib/node-esm/ChannelContainer-RQY4PR4F.mjs +18 -0
- package/dist/lib/node-esm/ChatContainer-KWNON7EN.mjs +17 -0
- package/dist/lib/node-esm/ChatContainer-KWNON7EN.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-OLSJVCWY.mjs → app-graph-builder-2IH5RPR7.mjs} +32 -32
- package/dist/lib/node-esm/app-graph-builder-2IH5RPR7.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs +102 -0
- package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs.map +7 -0
- package/dist/lib/node-esm/{call-manager-EI7FXRAU.mjs → call-manager-UMUXEYH5.mjs} +8 -7
- package/dist/lib/{browser/call-manager-XRRCAVLI.mjs.map → node-esm/call-manager-UMUXEYH5.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-2AEIN5MI.mjs +22 -0
- package/dist/lib/node-esm/chunk-2AEIN5MI.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-4TME3BR4.mjs → chunk-7KZWZS2U.mjs} +256 -161
- package/dist/lib/node-esm/chunk-7KZWZS2U.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-57XR3LEF.mjs → chunk-ABUFOZVX.mjs} +2 -2
- package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-I3O6NXMN.mjs +25 -0
- package/dist/lib/node-esm/chunk-I3O6NXMN.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MEIWWPR2.mjs +143 -0
- package/dist/lib/node-esm/chunk-MEIWWPR2.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SED3O2XO.mjs → chunk-PZH2EDU5.mjs} +74 -41
- package/dist/lib/node-esm/chunk-PZH2EDU5.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-QFCIKJOD.mjs +612 -0
- package/dist/lib/node-esm/chunk-QFCIKJOD.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-RT6NRL2I.mjs +19 -0
- package/dist/lib/node-esm/chunk-RT6NRL2I.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-QBHKLWGR.mjs → chunk-VBI32FGI.mjs} +54 -4
- package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-YIDU3DXK.mjs → chunk-Y3F2SGNH.mjs} +47 -42
- package/dist/lib/node-esm/chunk-Y3F2SGNH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-Z4GUSLWL.mjs +378 -0
- package/dist/lib/node-esm/chunk-Z4GUSLWL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +48 -38
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-QGTPU6QB.mjs → intent-resolver-SJFABEE7.mjs} +33 -51
- package/dist/lib/node-esm/intent-resolver-SJFABEE7.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-3MZXUGUA.mjs → markdown-GG5566TL.mjs} +26 -24
- package/dist/lib/node-esm/markdown-GG5566TL.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-root-K5OGECUS.mjs +30 -0
- package/dist/lib/node-esm/react-root-K5OGECUS.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-UJFCSFNO.mjs → react-surface-5QDQD7MN.mjs} +38 -36
- package/dist/lib/node-esm/react-surface-5QDQD7MN.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-N52O7MLS.mjs → settings-VSPM3BIM.mjs} +6 -5
- package/dist/lib/{browser/settings-AC6YSASL.mjs.map → node-esm/settings-VSPM3BIM.mjs.map} +1 -1
- package/dist/lib/node-esm/{state-62TQKQVB.mjs → state-XNWOLBNE.mjs} +6 -5
- package/dist/lib/{browser/state-2T4KDWBX.mjs.map → node-esm/state-XNWOLBNE.mjs.map} +1 -1
- package/dist/lib/node-esm/types/index.mjs +7 -10
- package/dist/types/src/ThreadPlugin.d.ts +1 -1
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/calls/media-manager.d.ts +1 -1
- package/dist/types/src/calls/media-manager.d.ts.map +1 -1
- package/dist/types/src/calls/types.d.ts.map +1 -1
- package/dist/types/src/calls/util/calls-service.d.ts +3 -1
- package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
- package/dist/types/src/calls/util/stub-media-streams.d.ts.map +1 -1
- package/dist/types/src/calls-service.stories.d.ts +10 -9
- package/dist/types/src/calls-service.stories.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/call-manager.d.ts +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -2
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +11 -10
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +1 -1
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +1 -1
- package/dist/types/src/capabilities/state.d.ts +2 -2
- package/dist/types/src/components/Call/Toolbar.d.ts +2 -2
- package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/CallDebugPanel.d.ts +7 -0
- package/dist/types/src/components/CallDebugPanel.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.d.ts +2 -2
- package/dist/types/src/components/ChannelContainer.d.ts.map +1 -1
- package/dist/types/src/components/ChannelContainer.stories.d.ts +155 -5
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Chat.stories.d.ts +158 -5
- package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +6 -5
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/Comments.stories.d.ts +156 -4
- package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/components/CommentsContainer.d.ts +2 -2
- package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
- package/dist/types/src/components/CommentsThreadContainer.d.ts +9 -9
- package/dist/types/src/components/CommentsThreadContainer.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.d.ts +2 -2
- package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.stories.d.ts +18 -4
- package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
- package/dist/types/src/components/MessageContainer.d.ts +6 -3
- package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
- package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +155 -3
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +157 -4
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +1 -1
- package/dist/types/src/components/ThreadCompanion.d.ts +5 -0
- package/dist/types/src/components/ThreadCompanion.d.ts.map +1 -0
- package/dist/types/src/components/ThreadSettings.d.ts +1 -1
- package/dist/types/src/components/ThreadSettings.d.ts.map +1 -1
- package/dist/types/src/components/command-extension.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +3 -3
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +3 -2
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/functions/create-proposals.d.ts +6 -0
- package/dist/types/src/functions/create-proposals.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +2 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/hooks/analytics.d.ts +2 -2
- package/dist/types/src/hooks/analytics.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +2 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +2 -0
- package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +1 -0
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts +1 -1
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +75 -7
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Channel.d.ts +16 -0
- package/dist/types/src/types/Channel.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +206 -210
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +65 -59
- package/src/ThreadPlugin.tsx +139 -125
- package/src/calls/call-manager.ts +1 -1
- package/src/calls/media-manager.ts +64 -35
- package/src/calls/types.ts +7 -3
- package/src/calls/util/calls-service.ts +61 -11
- package/src/calls/util/stub-media-streams.ts +62 -5
- package/src/calls-service.stories.tsx +76 -63
- package/src/capabilities/app-graph-builder.ts +43 -30
- package/src/capabilities/blueprint-definition.ts +38 -0
- package/src/capabilities/capabilities.ts +7 -7
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/intent-resolver.ts +23 -30
- package/src/capabilities/markdown.ts +5 -3
- package/src/capabilities/react-root.tsx +2 -2
- package/src/capabilities/react-surface.tsx +25 -23
- package/src/components/Call/Call.tsx +1 -1
- package/src/components/Call/Toolbar.tsx +9 -9
- package/src/components/CallDebugPanel.tsx +112 -55
- package/src/components/CallSidebar.tsx +1 -1
- package/src/components/ChannelContainer.stories.tsx +13 -13
- package/src/components/ChannelContainer.tsx +19 -15
- package/src/components/Chat.stories.tsx +30 -34
- package/src/components/ChatContainer.tsx +32 -21
- package/src/components/Comments.stories.tsx +36 -39
- package/src/components/CommentsContainer.tsx +5 -7
- package/src/components/CommentsThreadContainer.tsx +38 -33
- package/src/components/Lobby/Lobby.tsx +1 -1
- package/src/components/Media/VideoObject.stories.tsx +35 -28
- package/src/components/Media/VideoObject.tsx +1 -1
- package/src/components/MessageContainer.tsx +45 -12
- package/src/components/Participant/Participant.tsx +14 -8
- package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +5 -6
- package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +2 -2
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +42 -41
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +5 -5
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +5 -2
- package/src/components/{ThreadComplementary.tsx → ThreadCompanion.tsx} +72 -35
- package/src/components/ThreadSettings.tsx +6 -7
- package/src/components/command-extension.ts +4 -1
- package/src/components/index.ts +4 -4
- package/src/components/testing.ts +26 -6
- package/src/extensions/threads.ts +26 -17
- package/src/functions/create-proposals.ts +56 -0
- package/src/functions/index.ts +5 -0
- package/src/hooks/analytics.ts +4 -7
- package/src/hooks/index.ts +3 -1
- package/src/hooks/useBlackCanvasStreamTrack.tsx +27 -0
- package/src/hooks/useVideoStreamTrack.tsx +6 -3
- package/src/meta.ts +9 -5
- package/src/testing/stories.ts +3 -6
- package/src/translations.ts +7 -4
- package/src/types/Channel.ts +26 -0
- package/src/types/index.ts +1 -1
- package/src/types/types.ts +27 -28
- package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
- package/src/util.ts +1 -1
- package/dist/lib/browser/ChannelContainer-O2SFQJU7.mjs +0 -16
- package/dist/lib/browser/ChatContainer-PVT3DUZJ.mjs +0 -15
- package/dist/lib/browser/app-graph-builder-AF3M7UWN.mjs.map +0 -7
- package/dist/lib/browser/chunk-2CWJBXBH.mjs +0 -21
- package/dist/lib/browser/chunk-2CWJBXBH.mjs.map +0 -7
- package/dist/lib/browser/chunk-4APCDRSH.mjs +0 -18
- package/dist/lib/browser/chunk-4APCDRSH.mjs.map +0 -7
- package/dist/lib/browser/chunk-DW7JD64V.mjs +0 -137
- package/dist/lib/browser/chunk-DW7JD64V.mjs.map +0 -7
- package/dist/lib/browser/chunk-EV4JWI7L.mjs +0 -17
- package/dist/lib/browser/chunk-EV4JWI7L.mjs.map +0 -7
- package/dist/lib/browser/chunk-FY4ZRD5X.mjs +0 -367
- package/dist/lib/browser/chunk-FY4ZRD5X.mjs.map +0 -7
- package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
- package/dist/lib/browser/chunk-J3JO5NWO.mjs +0 -477
- package/dist/lib/browser/chunk-J3JO5NWO.mjs.map +0 -7
- package/dist/lib/browser/chunk-JGKMMI65.mjs.map +0 -7
- package/dist/lib/browser/chunk-TUFWPOVS.mjs.map +0 -7
- package/dist/lib/browser/chunk-X5PIP5YR.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZJ7QBXK6.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-DCY4P4OX.mjs.map +0 -7
- package/dist/lib/browser/markdown-WZSXCEZJ.mjs.map +0 -7
- package/dist/lib/browser/react-root-QXPALOUQ.mjs +0 -28
- package/dist/lib/browser/react-root-QXPALOUQ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-PYAMIADB.mjs.map +0 -7
- package/dist/lib/node-esm/ChannelContainer-B2ZGAE4P.mjs +0 -17
- package/dist/lib/node-esm/ChatContainer-2CT4PJ7I.mjs +0 -16
- package/dist/lib/node-esm/app-graph-builder-OLSJVCWY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4TME3BR4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6CRHHOST.mjs +0 -23
- package/dist/lib/node-esm/chunk-6CRHHOST.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BF4UKS55.mjs +0 -368
- package/dist/lib/node-esm/chunk-BF4UKS55.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GRLRWTRU.mjs +0 -19
- package/dist/lib/node-esm/chunk-GRLRWTRU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PYTVBN5J.mjs +0 -19
- package/dist/lib/node-esm/chunk-PYTVBN5J.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QBHKLWGR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SED3O2XO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VNG6M2IY.mjs +0 -478
- package/dist/lib/node-esm/chunk-VNG6M2IY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XVKWHTH4.mjs +0 -138
- package/dist/lib/node-esm/chunk-XVKWHTH4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YIDU3DXK.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-QGTPU6QB.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-3MZXUGUA.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-7ZFJYVUZ.mjs +0 -29
- package/dist/lib/node-esm/react-root-7ZFJYVUZ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-UJFCSFNO.mjs.map +0 -7
- package/dist/types/src/components/ThreadComplementary.d.ts +0 -5
- package/dist/types/src/components/ThreadComplementary.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -164
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/types/schema.ts +0 -33
- /package/dist/lib/browser/{ChannelContainer-O2SFQJU7.mjs.map → ChannelContainer-JI3ZRZ5S.mjs.map} +0 -0
- /package/dist/lib/browser/{ChatContainer-PVT3DUZJ.mjs.map → ChatContainer-6FVFME3R.mjs.map} +0 -0
- /package/dist/lib/{node-esm/ChannelContainer-B2ZGAE4P.mjs.map → browser/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-2CT4PJ7I.mjs.map → ChannelContainer-RQY4PR4F.mjs.map} +0 -0
|
@@ -2,11 +2,13 @@ import { createRequire } from 'node:module';const require = createRequire(import
|
|
|
2
2
|
import {
|
|
3
3
|
createBlackCanvasStreamTrack,
|
|
4
4
|
createInaudibleAudioStreamTrack
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-VBI32FGI.mjs";
|
|
6
6
|
|
|
7
7
|
// src/calls/types.ts
|
|
8
|
+
import { invariant } from "@dxos/invariant";
|
|
8
9
|
import { buf } from "@dxos/protocols/buf";
|
|
9
10
|
import { UserStateSchema } from "@dxos/protocols/buf/dxos/edge/calls_pb";
|
|
11
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/types.ts";
|
|
10
12
|
var CALLS_URL = "https://calls-service.dxos.workers.dev";
|
|
11
13
|
var codec = {
|
|
12
14
|
encode: (message) => {
|
|
@@ -18,14 +20,42 @@ var codec = {
|
|
|
18
20
|
};
|
|
19
21
|
var TrackNameCodec = {
|
|
20
22
|
encode: (trackData) => {
|
|
21
|
-
|
|
23
|
+
invariant(trackData.sessionId, void 0, {
|
|
24
|
+
F: __dxlog_file,
|
|
25
|
+
L: 65,
|
|
26
|
+
S: void 0,
|
|
27
|
+
A: [
|
|
28
|
+
"trackData.sessionId",
|
|
29
|
+
""
|
|
30
|
+
]
|
|
31
|
+
});
|
|
32
|
+
invariant(trackData.trackName, void 0, {
|
|
33
|
+
F: __dxlog_file,
|
|
34
|
+
L: 66,
|
|
35
|
+
S: void 0,
|
|
36
|
+
A: [
|
|
37
|
+
"trackData.trackName",
|
|
38
|
+
""
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
invariant(trackData.mid, void 0, {
|
|
42
|
+
F: __dxlog_file,
|
|
43
|
+
L: 67,
|
|
44
|
+
S: void 0,
|
|
45
|
+
A: [
|
|
46
|
+
"trackData.mid",
|
|
47
|
+
""
|
|
48
|
+
]
|
|
49
|
+
});
|
|
50
|
+
return trackData.sessionId + "/" + trackData.trackName + "/" + trackData.mid;
|
|
22
51
|
},
|
|
23
52
|
decode: (name) => {
|
|
24
|
-
const [sessionId, trackName] = name.split("/");
|
|
53
|
+
const [sessionId, trackName, mid] = name.split("/");
|
|
25
54
|
return {
|
|
26
55
|
sessionId,
|
|
27
56
|
trackName,
|
|
28
|
-
location: "remote"
|
|
57
|
+
location: "remote",
|
|
58
|
+
mid
|
|
29
59
|
};
|
|
30
60
|
}
|
|
31
61
|
};
|
|
@@ -35,7 +65,7 @@ import md5Hex from "md5-hex";
|
|
|
35
65
|
import { DeferredTask, Event, scheduleTaskInterval, synchronized } from "@dxos/async";
|
|
36
66
|
import { Context, Resource } from "@dxos/context";
|
|
37
67
|
import { generateName } from "@dxos/display-name";
|
|
38
|
-
import { invariant } from "@dxos/invariant";
|
|
68
|
+
import { invariant as invariant2 } from "@dxos/invariant";
|
|
39
69
|
import { PublicKey } from "@dxos/keys";
|
|
40
70
|
import { log } from "@dxos/log";
|
|
41
71
|
import { buf as buf2 } from "@dxos/protocols/buf";
|
|
@@ -48,7 +78,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
48
78
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
49
79
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
50
80
|
}
|
|
51
|
-
var
|
|
81
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
|
|
52
82
|
var DISCONNECTED_ABRUPT_TIMEOUT = 1e4;
|
|
53
83
|
var CallSwarmSynchronizer = class extends Resource {
|
|
54
84
|
stateUpdated = new Event();
|
|
@@ -132,7 +162,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
132
162
|
log.verbose("joined to a different room", {
|
|
133
163
|
roomId
|
|
134
164
|
}, {
|
|
135
|
-
F:
|
|
165
|
+
F: __dxlog_file2,
|
|
136
166
|
L: 152,
|
|
137
167
|
S: this,
|
|
138
168
|
C: (f, a) => f(...a)
|
|
@@ -154,8 +184,8 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
154
184
|
this._reconcileSwarmStateTask = void 0;
|
|
155
185
|
}
|
|
156
186
|
async join() {
|
|
157
|
-
|
|
158
|
-
F:
|
|
187
|
+
invariant2(this._state.roomId, void 0, {
|
|
188
|
+
F: __dxlog_file2,
|
|
159
189
|
L: 176,
|
|
160
190
|
S: this,
|
|
161
191
|
A: [
|
|
@@ -163,8 +193,8 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
163
193
|
""
|
|
164
194
|
]
|
|
165
195
|
});
|
|
166
|
-
|
|
167
|
-
F:
|
|
196
|
+
invariant2(!this._swarmCtx, "Already joined", {
|
|
197
|
+
F: __dxlog_file2,
|
|
168
198
|
L: 177,
|
|
169
199
|
S: this,
|
|
170
200
|
A: [
|
|
@@ -173,7 +203,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
173
203
|
]
|
|
174
204
|
});
|
|
175
205
|
this._swarmCtx = new Context(void 0, {
|
|
176
|
-
F:
|
|
206
|
+
F: __dxlog_file2,
|
|
177
207
|
L: 179
|
|
178
208
|
});
|
|
179
209
|
const topic = getTopic(this._state.roomId);
|
|
@@ -184,7 +214,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
184
214
|
peerKey: this._deviceKey
|
|
185
215
|
}
|
|
186
216
|
}, {
|
|
187
|
-
F:
|
|
217
|
+
F: __dxlog_file2,
|
|
188
218
|
L: 181,
|
|
189
219
|
S: this,
|
|
190
220
|
C: (f, a) => f(...a)
|
|
@@ -203,7 +233,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
203
233
|
peerKey: this._deviceKey
|
|
204
234
|
}
|
|
205
235
|
}, {
|
|
206
|
-
F:
|
|
236
|
+
F: __dxlog_file2,
|
|
207
237
|
L: 188,
|
|
208
238
|
S: this,
|
|
209
239
|
C: (f, a) => f(...a)
|
|
@@ -215,7 +245,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
215
245
|
peerKey: this._deviceKey
|
|
216
246
|
}
|
|
217
247
|
}).catch((err) => log.catch(err, void 0, {
|
|
218
|
-
F:
|
|
248
|
+
F: __dxlog_file2,
|
|
219
249
|
L: 194,
|
|
220
250
|
S: this,
|
|
221
251
|
C: (f, a) => f(...a)
|
|
@@ -283,8 +313,8 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
283
313
|
}
|
|
284
314
|
async _reconcileSwarmState() {
|
|
285
315
|
const swarmEvent = this._lastSwarmEvent;
|
|
286
|
-
|
|
287
|
-
F:
|
|
316
|
+
invariant2(swarmEvent, void 0, {
|
|
317
|
+
F: __dxlog_file2,
|
|
288
318
|
L: 273,
|
|
289
319
|
S: this,
|
|
290
320
|
A: [
|
|
@@ -304,7 +334,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
304
334
|
error,
|
|
305
335
|
peer
|
|
306
336
|
}, {
|
|
307
|
-
F:
|
|
337
|
+
F: __dxlog_file2,
|
|
308
338
|
L: 290,
|
|
309
339
|
S: this,
|
|
310
340
|
C: (f, a) => f(...a)
|
|
@@ -317,7 +347,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
317
347
|
log("reconciling swarm state", {
|
|
318
348
|
users
|
|
319
349
|
}, {
|
|
320
|
-
F:
|
|
350
|
+
F: __dxlog_file2,
|
|
321
351
|
L: 297,
|
|
322
352
|
S: this,
|
|
323
353
|
C: (f, a) => f(...a)
|
|
@@ -405,9 +435,9 @@ var monitorAudioLevel = ({ mediaStreamTrack, intervalMs = 1e3 / 10, onMeasure })
|
|
|
405
435
|
};
|
|
406
436
|
|
|
407
437
|
// src/calls/util/calls-service.ts
|
|
408
|
-
import { PersistentLifecycle } from "@dxos/async";
|
|
438
|
+
import { PersistentLifecycle, Trigger, scheduleTask } from "@dxos/async";
|
|
409
439
|
import { Resource as Resource2 } from "@dxos/context";
|
|
410
|
-
import { invariant as
|
|
440
|
+
import { invariant as invariant3 } from "@dxos/invariant";
|
|
411
441
|
import { log as log2 } from "@dxos/log";
|
|
412
442
|
|
|
413
443
|
// src/calls/util/history-cache.ts
|
|
@@ -487,7 +517,7 @@ var BulkRequestDispatcher = class {
|
|
|
487
517
|
};
|
|
488
518
|
|
|
489
519
|
// src/calls/util/calls-service.ts
|
|
490
|
-
var
|
|
520
|
+
var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
|
|
491
521
|
var NETWORK_TIMEOUT = 5e3;
|
|
492
522
|
var CallsServicePeer = class extends Resource2 {
|
|
493
523
|
history = new HistoryCache(100);
|
|
@@ -531,11 +561,11 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
531
561
|
});
|
|
532
562
|
peerConnection.addEventListener("connectionstatechange", () => {
|
|
533
563
|
if (peerConnection.connectionState === "failed" || peerConnection.connectionState === "closed") {
|
|
534
|
-
log2.
|
|
564
|
+
log2.info("calls connection failed", {
|
|
535
565
|
state: peerConnection.connectionState
|
|
536
566
|
}, {
|
|
537
|
-
F:
|
|
538
|
-
L:
|
|
567
|
+
F: __dxlog_file3,
|
|
568
|
+
L: 121,
|
|
539
569
|
S: this,
|
|
540
570
|
C: (f, a) => f(...a)
|
|
541
571
|
});
|
|
@@ -546,11 +576,11 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
546
576
|
peerConnection.addEventListener("iceconnectionstatechange", () => {
|
|
547
577
|
clearTimeout(iceTimeout);
|
|
548
578
|
if (peerConnection.iceConnectionState === "failed" || peerConnection.iceConnectionState === "closed") {
|
|
549
|
-
log2.
|
|
579
|
+
log2.info("calls connection to ICEs failed", {
|
|
550
580
|
state: peerConnection.iceConnectionState
|
|
551
581
|
}, {
|
|
552
|
-
F:
|
|
553
|
-
L:
|
|
582
|
+
F: __dxlog_file3,
|
|
583
|
+
L: 130,
|
|
554
584
|
S: this,
|
|
555
585
|
C: (f, a) => f(...a)
|
|
556
586
|
});
|
|
@@ -560,19 +590,19 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
560
590
|
iceTimeout = window.setTimeout(() => {
|
|
561
591
|
if (peerConnection.iceConnectionState === "connected") {
|
|
562
592
|
log2.info("calls iceConnectionState is connected", void 0, {
|
|
563
|
-
F:
|
|
564
|
-
L:
|
|
593
|
+
F: __dxlog_file3,
|
|
594
|
+
L: 139,
|
|
565
595
|
S: this,
|
|
566
596
|
C: (f, a) => f(...a)
|
|
567
597
|
});
|
|
568
598
|
return;
|
|
569
599
|
}
|
|
570
|
-
log2.
|
|
600
|
+
log2.info("calls iceConnectionState timed out", {
|
|
571
601
|
state: peerConnection.iceConnectionState,
|
|
572
602
|
timeoutSeconds
|
|
573
603
|
}, {
|
|
574
|
-
F:
|
|
575
|
-
L:
|
|
604
|
+
F: __dxlog_file3,
|
|
605
|
+
L: 143,
|
|
576
606
|
S: this,
|
|
577
607
|
C: (f, a) => f(...a)
|
|
578
608
|
});
|
|
@@ -584,8 +614,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
584
614
|
}
|
|
585
615
|
async _initiateCallSession() {
|
|
586
616
|
log2("creating new session", void 0, {
|
|
587
|
-
F:
|
|
588
|
-
L:
|
|
617
|
+
F: __dxlog_file3,
|
|
618
|
+
L: 153,
|
|
589
619
|
S: this,
|
|
590
620
|
C: (f, a) => f(...a)
|
|
591
621
|
});
|
|
@@ -596,6 +626,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
596
626
|
}
|
|
597
627
|
async _fetch(relativePath, requestInit) {
|
|
598
628
|
this.history.push({
|
|
629
|
+
endpoint: relativePath,
|
|
599
630
|
type: "request",
|
|
600
631
|
time: (/* @__PURE__ */ new Date()).toISOString(),
|
|
601
632
|
method: requestInit?.method ?? "GET",
|
|
@@ -610,8 +641,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
610
641
|
status: response.status,
|
|
611
642
|
text: await response.text()
|
|
612
643
|
}, {
|
|
613
|
-
F:
|
|
614
|
-
L:
|
|
644
|
+
F: __dxlog_file3,
|
|
645
|
+
L: 169,
|
|
615
646
|
S: this,
|
|
616
647
|
C: (f, a) => f(...a)
|
|
617
648
|
});
|
|
@@ -620,6 +651,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
620
651
|
try {
|
|
621
652
|
const data = await response.clone().json();
|
|
622
653
|
this.history.push({
|
|
654
|
+
endpoint: relativePath,
|
|
623
655
|
type: "response",
|
|
624
656
|
time: (/* @__PURE__ */ new Date()).toISOString(),
|
|
625
657
|
status: response.status,
|
|
@@ -632,6 +664,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
632
664
|
} catch (error) {
|
|
633
665
|
const text = await response.text();
|
|
634
666
|
this.history.push({
|
|
667
|
+
endpoint: relativePath,
|
|
635
668
|
type: "response",
|
|
636
669
|
time: (/* @__PURE__ */ new Date()).toISOString(),
|
|
637
670
|
status: response.status,
|
|
@@ -642,8 +675,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
642
675
|
text,
|
|
643
676
|
status: response.status
|
|
644
677
|
}, {
|
|
645
|
-
F:
|
|
646
|
-
L:
|
|
678
|
+
F: __dxlog_file3,
|
|
679
|
+
L: 196,
|
|
647
680
|
S: this,
|
|
648
681
|
C: (f, a) => f(...a)
|
|
649
682
|
});
|
|
@@ -652,8 +685,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
652
685
|
}
|
|
653
686
|
async _pushTrackInBulk({ ctx, peerConnection, transceiver, sessionId, trackName }) {
|
|
654
687
|
log2.verbose("pushing track ", trackName, {
|
|
655
|
-
F:
|
|
656
|
-
L:
|
|
688
|
+
F: __dxlog_file3,
|
|
689
|
+
L: 218,
|
|
657
690
|
S: this,
|
|
658
691
|
C: (f, a) => f(...a)
|
|
659
692
|
});
|
|
@@ -678,9 +711,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
678
711
|
}))
|
|
679
712
|
})
|
|
680
713
|
});
|
|
681
|
-
|
|
682
|
-
F:
|
|
683
|
-
L:
|
|
714
|
+
invariant3(response.tracks !== void 0, void 0, {
|
|
715
|
+
F: __dxlog_file3,
|
|
716
|
+
L: 243,
|
|
684
717
|
S: this,
|
|
685
718
|
A: [
|
|
686
719
|
"response.tracks !== undefined",
|
|
@@ -694,7 +727,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
694
727
|
return {
|
|
695
728
|
tracks: response.tracks
|
|
696
729
|
};
|
|
697
|
-
})).then(({ tracks }) => {
|
|
730
|
+
})).then(async ({ tracks }) => {
|
|
698
731
|
const trackData = tracks.find((t) => t.mid === transceiver.mid);
|
|
699
732
|
if (trackData) {
|
|
700
733
|
return {
|
|
@@ -704,19 +737,12 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
704
737
|
};
|
|
705
738
|
} else {
|
|
706
739
|
log2.error("missing track data", void 0, {
|
|
707
|
-
F:
|
|
708
|
-
L:
|
|
740
|
+
F: __dxlog_file3,
|
|
741
|
+
L: 267,
|
|
709
742
|
S: this,
|
|
710
743
|
C: (f, a) => f(...a)
|
|
711
744
|
});
|
|
712
745
|
}
|
|
713
|
-
}).catch((err) => {
|
|
714
|
-
log2.catch(err, void 0, {
|
|
715
|
-
F: __dxlog_file2,
|
|
716
|
-
L: 262,
|
|
717
|
-
S: this,
|
|
718
|
-
C: (f, a) => f(...a)
|
|
719
|
-
});
|
|
720
746
|
});
|
|
721
747
|
const onDispose = async () => {
|
|
722
748
|
if (transceiver.mid) {
|
|
@@ -729,9 +755,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
729
755
|
}
|
|
730
756
|
async pushTrack({ track, encodings = [], ctx, previousTrack }) {
|
|
731
757
|
await this.waitUntilOpen();
|
|
732
|
-
|
|
733
|
-
F:
|
|
734
|
-
L:
|
|
758
|
+
invariant3(this.session, void 0, {
|
|
759
|
+
F: __dxlog_file3,
|
|
760
|
+
L: 295,
|
|
735
761
|
S: this,
|
|
736
762
|
A: [
|
|
737
763
|
"this.session",
|
|
@@ -743,8 +769,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
743
769
|
previousTrack,
|
|
744
770
|
encodings
|
|
745
771
|
}, {
|
|
746
|
-
F:
|
|
747
|
-
L:
|
|
772
|
+
F: __dxlog_file3,
|
|
773
|
+
L: 296,
|
|
748
774
|
S: this,
|
|
749
775
|
C: (f, a) => f(...a)
|
|
750
776
|
});
|
|
@@ -756,8 +782,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
756
782
|
previousTrack,
|
|
757
783
|
transceiver: transceiver2
|
|
758
784
|
}, {
|
|
759
|
-
F:
|
|
760
|
-
L:
|
|
785
|
+
F: __dxlog_file3,
|
|
786
|
+
L: 300,
|
|
761
787
|
S: this,
|
|
762
788
|
C: (f, a) => f(...a)
|
|
763
789
|
});
|
|
@@ -768,23 +794,23 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
768
794
|
previousTrack,
|
|
769
795
|
transceiver: transceiver2
|
|
770
796
|
}, {
|
|
771
|
-
F:
|
|
772
|
-
L:
|
|
797
|
+
F: __dxlog_file3,
|
|
798
|
+
L: 303,
|
|
773
799
|
S: this,
|
|
774
800
|
C: (f, a) => f(...a)
|
|
775
801
|
});
|
|
776
802
|
transceiver2.sender.replaceTrack(track).catch((err) => log2.catch(err, void 0, {
|
|
777
|
-
F:
|
|
778
|
-
L:
|
|
803
|
+
F: __dxlog_file3,
|
|
804
|
+
L: 304,
|
|
779
805
|
S: this,
|
|
780
806
|
C: (f, a) => f(...a)
|
|
781
807
|
}));
|
|
782
808
|
return previousTrack;
|
|
783
809
|
}
|
|
784
810
|
}
|
|
785
|
-
|
|
786
|
-
F:
|
|
787
|
-
L:
|
|
811
|
+
invariant3(track, void 0, {
|
|
812
|
+
F: __dxlog_file3,
|
|
813
|
+
L: 308,
|
|
788
814
|
S: this,
|
|
789
815
|
A: [
|
|
790
816
|
"track",
|
|
@@ -796,8 +822,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
796
822
|
direction: "sendonly"
|
|
797
823
|
});
|
|
798
824
|
log2.verbose("creating transceiver", void 0, {
|
|
799
|
-
F:
|
|
800
|
-
L:
|
|
825
|
+
F: __dxlog_file3,
|
|
826
|
+
L: 313,
|
|
801
827
|
S: this,
|
|
802
828
|
C: (f, a) => f(...a)
|
|
803
829
|
});
|
|
@@ -808,9 +834,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
808
834
|
sessionId: this.session.sessionId,
|
|
809
835
|
trackName: stableId
|
|
810
836
|
});
|
|
811
|
-
|
|
812
|
-
F:
|
|
813
|
-
L:
|
|
837
|
+
invariant3(pushedTrackData, void 0, {
|
|
838
|
+
F: __dxlog_file3,
|
|
839
|
+
L: 322,
|
|
814
840
|
S: this,
|
|
815
841
|
A: [
|
|
816
842
|
"pushedTrackData",
|
|
@@ -826,8 +852,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
826
852
|
};
|
|
827
853
|
});
|
|
828
854
|
transceiver.sender.setParameters(parameters).catch((err) => log2.catch(err, void 0, {
|
|
829
|
-
F:
|
|
830
|
-
L:
|
|
855
|
+
F: __dxlog_file3,
|
|
856
|
+
L: 329,
|
|
831
857
|
S: this,
|
|
832
858
|
C: (f, a) => f(...a)
|
|
833
859
|
}));
|
|
@@ -839,8 +865,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
839
865
|
log2("pulling track", {
|
|
840
866
|
trackName: trackData.trackName
|
|
841
867
|
}, {
|
|
842
|
-
F:
|
|
843
|
-
L:
|
|
868
|
+
F: __dxlog_file3,
|
|
869
|
+
L: 347,
|
|
844
870
|
S: this,
|
|
845
871
|
C: (f, a) => f(...a)
|
|
846
872
|
});
|
|
@@ -854,9 +880,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
854
880
|
if (newTrackResponse.errorCode) {
|
|
855
881
|
throw new Error(newTrackResponse.errorDescription);
|
|
856
882
|
}
|
|
857
|
-
|
|
858
|
-
F:
|
|
859
|
-
L:
|
|
883
|
+
invariant3(newTrackResponse.tracks, void 0, {
|
|
884
|
+
F: __dxlog_file3,
|
|
885
|
+
L: 360,
|
|
860
886
|
S: this,
|
|
861
887
|
A: [
|
|
862
888
|
"newTrackResponse.tracks",
|
|
@@ -902,18 +928,18 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
902
928
|
mid = trackInfo.mid;
|
|
903
929
|
return track;
|
|
904
930
|
}).catch((err) => log2.catch(err, void 0, {
|
|
905
|
-
F:
|
|
906
|
-
L:
|
|
931
|
+
F: __dxlog_file3,
|
|
932
|
+
L: 412,
|
|
907
933
|
S: this,
|
|
908
934
|
C: (f, a) => f(...a)
|
|
909
935
|
}));
|
|
910
936
|
} else {
|
|
911
|
-
log2.
|
|
937
|
+
log2.info("missing track info", {
|
|
912
938
|
trackData,
|
|
913
939
|
availableTracks: Array.from(trackMap.keys())
|
|
914
940
|
}, {
|
|
915
|
-
F:
|
|
916
|
-
L:
|
|
941
|
+
F: __dxlog_file3,
|
|
942
|
+
L: 414,
|
|
917
943
|
S: this,
|
|
918
944
|
C: (f, a) => f(...a)
|
|
919
945
|
});
|
|
@@ -922,8 +948,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
922
948
|
const onDispose = async () => {
|
|
923
949
|
if (mid) {
|
|
924
950
|
log2("closing pulled track ", trackData.trackName, {
|
|
925
|
-
F:
|
|
926
|
-
L:
|
|
951
|
+
F: __dxlog_file3,
|
|
952
|
+
L: 420,
|
|
927
953
|
S: this,
|
|
928
954
|
C: (f, a) => f(...a)
|
|
929
955
|
});
|
|
@@ -937,9 +963,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
937
963
|
}
|
|
938
964
|
async pullTrack({ ctx, trackData }) {
|
|
939
965
|
await this.waitUntilOpen();
|
|
940
|
-
|
|
941
|
-
F:
|
|
942
|
-
L:
|
|
966
|
+
invariant3(this.session, void 0, {
|
|
967
|
+
F: __dxlog_file3,
|
|
968
|
+
L: 441,
|
|
943
969
|
S: this,
|
|
944
970
|
A: [
|
|
945
971
|
"this.session",
|
|
@@ -1025,7 +1051,7 @@ var peerConnectionIsConnected = async (peerConnection) => {
|
|
|
1025
1051
|
|
|
1026
1052
|
// src/calls/util/media.ts
|
|
1027
1053
|
import { log as log3 } from "@dxos/log";
|
|
1028
|
-
var
|
|
1054
|
+
var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
|
|
1029
1055
|
var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
|
|
1030
1056
|
deviceList ??= (await getDeviceList()).filter((device) => device.kind === kind);
|
|
1031
1057
|
const firstDevice = deviceList[0];
|
|
@@ -1037,7 +1063,7 @@ var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
|
|
|
1037
1063
|
var acquireTrack = async (device, constraints) => {
|
|
1038
1064
|
const { deviceId, label } = device;
|
|
1039
1065
|
log3.info(`requesting ${label}`, void 0, {
|
|
1040
|
-
F:
|
|
1066
|
+
F: __dxlog_file4,
|
|
1041
1067
|
L: 23,
|
|
1042
1068
|
S: void 0,
|
|
1043
1069
|
C: (f, a) => f(...a)
|
|
@@ -1092,15 +1118,15 @@ var SpeakingMonitor = class extends Resource3 {
|
|
|
1092
1118
|
* Event that is emitted when the user starts or stops speaking.
|
|
1093
1119
|
* It is debounced to prevent rapid state changes.
|
|
1094
1120
|
*/
|
|
1095
|
-
speakingChanged;
|
|
1121
|
+
speakingChanged = new Event2();
|
|
1096
1122
|
/**
|
|
1097
1123
|
* Real state of the user speaking.
|
|
1098
1124
|
*/
|
|
1099
|
-
_isSpeaking;
|
|
1100
|
-
_lastEventTime;
|
|
1125
|
+
_isSpeaking = false;
|
|
1126
|
+
_lastEventTime = 0;
|
|
1101
1127
|
_deferredUpdate;
|
|
1102
1128
|
constructor(_mediaStreamTrack) {
|
|
1103
|
-
super(), this._mediaStreamTrack = _mediaStreamTrack
|
|
1129
|
+
super(), this._mediaStreamTrack = _mediaStreamTrack;
|
|
1104
1130
|
}
|
|
1105
1131
|
get isSpeaking() {
|
|
1106
1132
|
return this._isSpeaking;
|
|
@@ -1150,6 +1176,7 @@ var SpeakingMonitor = class extends Resource3 {
|
|
|
1150
1176
|
// src/calls/media-manager.ts
|
|
1151
1177
|
import { DeferredTask as DeferredTask3, Event as Event3, sleep as sleep2, synchronized as synchronized2 } from "@dxos/async";
|
|
1152
1178
|
import { Resource as Resource4, cancelWithContext } from "@dxos/context";
|
|
1179
|
+
import { invariant as invariant4 } from "@dxos/invariant";
|
|
1153
1180
|
import { log as log4 } from "@dxos/log";
|
|
1154
1181
|
function _ts_decorate2(decorators, target, key, desc) {
|
|
1155
1182
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -1157,13 +1184,13 @@ function _ts_decorate2(decorators, target, key, desc) {
|
|
|
1157
1184
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1158
1185
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1159
1186
|
}
|
|
1160
|
-
var
|
|
1187
|
+
var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
|
|
1161
1188
|
var VIDEO_WIDTH = 1280;
|
|
1162
1189
|
var VIDEO_HEIGHT = 720;
|
|
1163
1190
|
var MAX_WEB_CAM_FRAMERATE = 24;
|
|
1164
1191
|
var MAX_WEB_CAM_BITRATE = 12e5;
|
|
1165
|
-
var RETRY_INTERVAL =
|
|
1166
|
-
var USE_INAUDIBLE_AUDIO =
|
|
1192
|
+
var RETRY_INTERVAL = 100;
|
|
1193
|
+
var USE_INAUDIBLE_AUDIO = true;
|
|
1167
1194
|
var MediaManager = class extends Resource4 {
|
|
1168
1195
|
stateUpdated = new Event3();
|
|
1169
1196
|
_state = {
|
|
@@ -1314,8 +1341,8 @@ var MediaManager = class extends Resource4 {
|
|
|
1314
1341
|
}
|
|
1315
1342
|
async _reconcilePulledMedia() {
|
|
1316
1343
|
log4("reconciling tracks", void 0, {
|
|
1317
|
-
F:
|
|
1318
|
-
L:
|
|
1344
|
+
F: __dxlog_file5,
|
|
1345
|
+
L: 229,
|
|
1319
1346
|
S: this,
|
|
1320
1347
|
C: (f, a) => f(...a)
|
|
1321
1348
|
});
|
|
@@ -1332,12 +1359,12 @@ var MediaManager = class extends Resource4 {
|
|
|
1332
1359
|
currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
|
|
1333
1360
|
currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
|
|
1334
1361
|
}, {
|
|
1335
|
-
F:
|
|
1336
|
-
L:
|
|
1362
|
+
F: __dxlog_file5,
|
|
1363
|
+
L: 247,
|
|
1337
1364
|
S: this,
|
|
1338
1365
|
C: (f, a) => f(...a)
|
|
1339
1366
|
});
|
|
1340
|
-
await Promise.all(tracksToPull.map((name) => this._pullTrack(name)));
|
|
1367
|
+
const pullResults = await Promise.all(tracksToPull.map((name) => this._pullTrack(name)));
|
|
1341
1368
|
await Promise.all([
|
|
1342
1369
|
...audioTracksToClose,
|
|
1343
1370
|
...videoStreamsToClose
|
|
@@ -1346,55 +1373,102 @@ var MediaManager = class extends Resource4 {
|
|
|
1346
1373
|
currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
|
|
1347
1374
|
currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
|
|
1348
1375
|
}, {
|
|
1349
|
-
F:
|
|
1350
|
-
L:
|
|
1376
|
+
F: __dxlog_file5,
|
|
1377
|
+
L: 262,
|
|
1351
1378
|
S: this,
|
|
1352
1379
|
C: (f, a) => f(...a)
|
|
1353
1380
|
});
|
|
1354
1381
|
this.stateUpdated.emit(this._state);
|
|
1382
|
+
if (pullResults.some(({ shouldRetry }) => shouldRetry)) {
|
|
1383
|
+
await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
|
|
1384
|
+
log4.info("retrying pull tracks", {
|
|
1385
|
+
tracksToPull
|
|
1386
|
+
}, {
|
|
1387
|
+
F: __dxlog_file5,
|
|
1388
|
+
L: 270,
|
|
1389
|
+
S: this,
|
|
1390
|
+
C: (f, a) => f(...a)
|
|
1391
|
+
});
|
|
1392
|
+
invariant4(this._pullTracksTask, void 0, {
|
|
1393
|
+
F: __dxlog_file5,
|
|
1394
|
+
L: 271,
|
|
1395
|
+
S: this,
|
|
1396
|
+
A: [
|
|
1397
|
+
"this._pullTracksTask",
|
|
1398
|
+
""
|
|
1399
|
+
]
|
|
1400
|
+
});
|
|
1401
|
+
this._pullTracksTask.schedule();
|
|
1402
|
+
}
|
|
1355
1403
|
}
|
|
1356
1404
|
async _pushTracks() {
|
|
1357
1405
|
if (!this._state.peer?.isOpen) {
|
|
1358
1406
|
return;
|
|
1359
1407
|
}
|
|
1360
1408
|
let updated = false;
|
|
1361
|
-
const [
|
|
1362
|
-
this.
|
|
1409
|
+
const [pushVideoResult, pushAudioResult, pushScreenshareResult] = await Promise.all([
|
|
1410
|
+
this._maybePushTrack(this._state.videoTrack, this._state.pushedVideoTrack, [
|
|
1363
1411
|
{
|
|
1364
1412
|
maxFramerate: MAX_WEB_CAM_FRAMERATE,
|
|
1365
1413
|
maxBitrate: MAX_WEB_CAM_BITRATE
|
|
1366
1414
|
}
|
|
1367
1415
|
]),
|
|
1368
|
-
this.
|
|
1416
|
+
this._maybePushTrack(this._state.audioTrack, this._state.pushedAudioTrack, [
|
|
1369
1417
|
{
|
|
1370
1418
|
networkPriority: "high"
|
|
1371
1419
|
}
|
|
1372
1420
|
]),
|
|
1373
|
-
this.
|
|
1421
|
+
this._maybePushTrack(this._state.screenshareTrack, this._state.pushedScreenshareTrack)
|
|
1374
1422
|
]);
|
|
1375
|
-
if (
|
|
1376
|
-
this._state.pushedVideoTrack =
|
|
1423
|
+
if (pushVideoResult.track !== this._state.pushedVideoTrack) {
|
|
1424
|
+
this._state.pushedVideoTrack = pushVideoResult.track;
|
|
1377
1425
|
updated = true;
|
|
1378
1426
|
}
|
|
1379
|
-
if (
|
|
1380
|
-
this._state.pushedAudioTrack =
|
|
1427
|
+
if (pushAudioResult.track !== this._state.pushedAudioTrack) {
|
|
1428
|
+
this._state.pushedAudioTrack = pushAudioResult.track;
|
|
1381
1429
|
updated = true;
|
|
1382
1430
|
}
|
|
1383
|
-
if (
|
|
1384
|
-
this._state.pushedScreenshareTrack =
|
|
1431
|
+
if (pushScreenshareResult.track !== this._state.pushedScreenshareTrack) {
|
|
1432
|
+
this._state.pushedScreenshareTrack = pushScreenshareResult.track;
|
|
1385
1433
|
updated = true;
|
|
1386
1434
|
}
|
|
1387
|
-
|
|
1388
|
-
|
|
1435
|
+
const shouldRetry = pushVideoResult.shouldRetry || pushAudioResult.shouldRetry || pushScreenshareResult.shouldRetry;
|
|
1436
|
+
if (updated) {
|
|
1437
|
+
this.stateUpdated.emit(this._state);
|
|
1438
|
+
}
|
|
1439
|
+
if (shouldRetry) {
|
|
1440
|
+
await cancelWithContext(this._ctx, sleep2(RETRY_INTERVAL));
|
|
1441
|
+
log4.info("retrying push tracks", {
|
|
1442
|
+
pushVideoResult,
|
|
1443
|
+
pushAudioResult,
|
|
1444
|
+
pushScreenshareResult
|
|
1445
|
+
}, {
|
|
1446
|
+
F: __dxlog_file5,
|
|
1447
|
+
L: 310,
|
|
1448
|
+
S: this,
|
|
1449
|
+
C: (f, a) => f(...a)
|
|
1450
|
+
});
|
|
1451
|
+
invariant4(this._pushTracksTask, void 0, {
|
|
1452
|
+
F: __dxlog_file5,
|
|
1453
|
+
L: 311,
|
|
1454
|
+
S: this,
|
|
1455
|
+
A: [
|
|
1456
|
+
"this._pushTracksTask",
|
|
1457
|
+
""
|
|
1458
|
+
]
|
|
1459
|
+
});
|
|
1460
|
+
this._pushTracksTask.schedule();
|
|
1389
1461
|
}
|
|
1390
|
-
this.stateUpdated.emit(this._state);
|
|
1391
1462
|
}
|
|
1392
1463
|
async _pullTrack(name) {
|
|
1393
1464
|
const ctx = this._ctx.derive();
|
|
1394
1465
|
try {
|
|
1395
1466
|
const trackData = TrackNameCodec.decode(name);
|
|
1396
1467
|
const track = await this._state.peer.pullTrack({
|
|
1397
|
-
trackData
|
|
1468
|
+
trackData: {
|
|
1469
|
+
...trackData,
|
|
1470
|
+
mid: void 0
|
|
1471
|
+
},
|
|
1398
1472
|
ctx
|
|
1399
1473
|
});
|
|
1400
1474
|
if (track?.readyState === "ended") {
|
|
@@ -1407,7 +1481,9 @@ var MediaManager = class extends Resource4 {
|
|
|
1407
1481
|
ctx
|
|
1408
1482
|
};
|
|
1409
1483
|
ctx.onDispose(() => delete this._state.pulledAudioTracks[name]);
|
|
1410
|
-
|
|
1484
|
+
return {
|
|
1485
|
+
shouldRetry: false
|
|
1486
|
+
};
|
|
1411
1487
|
}
|
|
1412
1488
|
case "video": {
|
|
1413
1489
|
const mediaStream = new MediaStream();
|
|
@@ -1421,43 +1497,62 @@ var MediaManager = class extends Resource4 {
|
|
|
1421
1497
|
track.stop();
|
|
1422
1498
|
delete this._state.pulledVideoStreams[name];
|
|
1423
1499
|
});
|
|
1424
|
-
|
|
1500
|
+
return {
|
|
1501
|
+
shouldRetry: false
|
|
1502
|
+
};
|
|
1425
1503
|
}
|
|
1426
1504
|
default:
|
|
1427
1505
|
throw new Error(`Invalid track kind: ${track?.kind}`);
|
|
1428
1506
|
}
|
|
1429
1507
|
} catch (err) {
|
|
1430
|
-
log4.
|
|
1508
|
+
log4.info("failed to pull track", {
|
|
1431
1509
|
err,
|
|
1432
1510
|
name
|
|
1433
1511
|
}, {
|
|
1434
|
-
F:
|
|
1435
|
-
L:
|
|
1512
|
+
F: __dxlog_file5,
|
|
1513
|
+
L: 347,
|
|
1436
1514
|
S: this,
|
|
1437
1515
|
C: (f, a) => f(...a)
|
|
1438
1516
|
});
|
|
1439
1517
|
void ctx.dispose();
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1518
|
+
return {
|
|
1519
|
+
shouldRetry: true
|
|
1520
|
+
};
|
|
1521
|
+
}
|
|
1522
|
+
}
|
|
1523
|
+
async _maybePushTrack(track, previousTrack, encodings) {
|
|
1524
|
+
if (!track && !previousTrack) {
|
|
1525
|
+
return {
|
|
1526
|
+
track: void 0
|
|
1527
|
+
};
|
|
1528
|
+
}
|
|
1529
|
+
const ctx = this._ctx.derive();
|
|
1530
|
+
try {
|
|
1531
|
+
return {
|
|
1532
|
+
track: await this._state.peer.pushTrack({
|
|
1533
|
+
ctx,
|
|
1534
|
+
track: track ?? null,
|
|
1535
|
+
previousTrack,
|
|
1536
|
+
encodings
|
|
1537
|
+
})
|
|
1538
|
+
};
|
|
1539
|
+
} catch (err) {
|
|
1540
|
+
log4.info("failed to push track", {
|
|
1541
|
+
err,
|
|
1542
|
+
track,
|
|
1543
|
+
previousTrack,
|
|
1544
|
+
encodings
|
|
1443
1545
|
}, {
|
|
1444
|
-
F:
|
|
1445
|
-
L:
|
|
1546
|
+
F: __dxlog_file5,
|
|
1547
|
+
L: 373,
|
|
1446
1548
|
S: this,
|
|
1447
1549
|
C: (f, a) => f(...a)
|
|
1448
1550
|
});
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
if (!track && !previousTrack) {
|
|
1454
|
-
return;
|
|
1551
|
+
void ctx.dispose();
|
|
1552
|
+
return {
|
|
1553
|
+
shouldRetry: true
|
|
1554
|
+
};
|
|
1455
1555
|
}
|
|
1456
|
-
return this._state.peer.pushTrack({
|
|
1457
|
-
track: track ?? null,
|
|
1458
|
-
previousTrack,
|
|
1459
|
-
encodings
|
|
1460
|
-
});
|
|
1461
1556
|
}
|
|
1462
1557
|
};
|
|
1463
1558
|
_ts_decorate2([
|
|
@@ -1471,7 +1566,7 @@ _ts_decorate2([
|
|
|
1471
1566
|
import { computed } from "@preact/signals-core";
|
|
1472
1567
|
import { Event as Event4, synchronized as synchronized3 } from "@dxos/async";
|
|
1473
1568
|
import { Resource as Resource5 } from "@dxos/context";
|
|
1474
|
-
import { invariant as
|
|
1569
|
+
import { invariant as invariant5 } from "@dxos/invariant";
|
|
1475
1570
|
import { live } from "@dxos/live-object";
|
|
1476
1571
|
import { isNonNullable as isNonNullable2 } from "@dxos/util";
|
|
1477
1572
|
function _ts_decorate3(decorators, target, key, desc) {
|
|
@@ -1480,22 +1575,28 @@ function _ts_decorate3(decorators, target, key, desc) {
|
|
|
1480
1575
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1481
1576
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1482
1577
|
}
|
|
1483
|
-
var
|
|
1578
|
+
var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
|
|
1484
1579
|
var CallManager = class extends Resource5 {
|
|
1485
1580
|
_client;
|
|
1486
|
-
callStateUpdated;
|
|
1581
|
+
callStateUpdated = new Event4();
|
|
1487
1582
|
// TODO(wittjosiah): Consolidate isSpeaking into the MediaState type.
|
|
1488
|
-
mediaStateUpdated;
|
|
1489
|
-
left;
|
|
1583
|
+
mediaStateUpdated = new Event4();
|
|
1584
|
+
left = new Event4();
|
|
1490
1585
|
/**
|
|
1491
1586
|
* Live object state. Is changed on internal events.
|
|
1492
1587
|
* CAUTION: Do not change directly.
|
|
1493
1588
|
*/
|
|
1494
|
-
_state
|
|
1589
|
+
_state = live({
|
|
1590
|
+
call: {},
|
|
1591
|
+
media: {
|
|
1592
|
+
pulledAudioTracks: {},
|
|
1593
|
+
pulledVideoStreams: {}
|
|
1594
|
+
}
|
|
1595
|
+
});
|
|
1495
1596
|
// TODO(wittjosiah): This shouldn't be necessary, live-object's signals should be granular.
|
|
1496
|
-
_raisedHandSignal;
|
|
1497
|
-
_speakingSignal;
|
|
1498
|
-
_joinedSignal;
|
|
1597
|
+
_raisedHandSignal = computed(() => this._state.call.raisedHand ?? false);
|
|
1598
|
+
_speakingSignal = computed(() => this._state.call.speaking ?? false);
|
|
1599
|
+
_joinedSignal = computed(() => this._state.call.joined ?? false);
|
|
1499
1600
|
_swarmSynchronizer;
|
|
1500
1601
|
_mediaManager;
|
|
1501
1602
|
/** @reactive */
|
|
@@ -1578,17 +1679,11 @@ var CallManager = class extends Resource5 {
|
|
|
1578
1679
|
}
|
|
1579
1680
|
// TODO(burdon): Can this be mocked?
|
|
1580
1681
|
constructor(_client) {
|
|
1581
|
-
super(), this._client = _client
|
|
1582
|
-
call: {},
|
|
1583
|
-
media: {
|
|
1584
|
-
pulledAudioTracks: {},
|
|
1585
|
-
pulledVideoStreams: {}
|
|
1586
|
-
}
|
|
1587
|
-
}), this._raisedHandSignal = computed(() => this._state.call.raisedHand ?? false), this._speakingSignal = computed(() => this._state.call.speaking ?? false), this._joinedSignal = computed(() => this._state.call.joined ?? false);
|
|
1682
|
+
super(), this._client = _client;
|
|
1588
1683
|
this._client.config.getOrThrow("runtime.services.edge.url");
|
|
1589
1684
|
const networkService = this._client.services.services.NetworkService;
|
|
1590
|
-
|
|
1591
|
-
F:
|
|
1685
|
+
invariant5(networkService, "network service not found", {
|
|
1686
|
+
F: __dxlog_file6,
|
|
1592
1687
|
L: 159,
|
|
1593
1688
|
S: this,
|
|
1594
1689
|
A: [
|
|
@@ -1641,7 +1736,7 @@ var CallManager = class extends Resource5 {
|
|
|
1641
1736
|
this.roomId && this.left.emit(this.roomId);
|
|
1642
1737
|
}
|
|
1643
1738
|
_onCallStateUpdated(state) {
|
|
1644
|
-
const tracksToPull = state.users?.filter((user) => user.joined && user.id !== state.self
|
|
1739
|
+
const tracksToPull = state.users?.filter((user) => user.joined && user.id !== state.self.id)?.flatMap((user) => [
|
|
1645
1740
|
user.tracks?.video,
|
|
1646
1741
|
user.tracks?.audio,
|
|
1647
1742
|
user.tracks?.screenshare
|
|
@@ -1696,4 +1791,4 @@ export {
|
|
|
1696
1791
|
MediaManager,
|
|
1697
1792
|
CallManager
|
|
1698
1793
|
};
|
|
1699
|
-
//# sourceMappingURL=chunk-
|
|
1794
|
+
//# sourceMappingURL=chunk-7KZWZS2U.mjs.map
|