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