@dxos/plugin-thread 0.8.4-main.c1de068 → 0.8.4-main.c351d160a8
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/CallDebugPanel-BO3SLD4E.mjs +182 -0
- package/dist/lib/browser/CallDebugPanel-BO3SLD4E.mjs.map +7 -0
- package/dist/lib/browser/CallSidebar-KSOBZJGD.mjs +36 -0
- package/dist/lib/browser/CallSidebar-KSOBZJGD.mjs.map +7 -0
- package/dist/lib/browser/ChannelContainer-EQZXMQMV.mjs +17 -0
- package/dist/lib/browser/ChatContainer-VPCJ2AMF.mjs +18 -0
- package/dist/lib/browser/ThreadCompanion-7GTSEJQT.mjs +209 -0
- package/dist/lib/browser/ThreadCompanion-7GTSEJQT.mjs.map +7 -0
- package/dist/lib/browser/ThreadSettings-VL3HBE62.mjs +20 -0
- package/dist/lib/browser/ThreadSettings-VL3HBE62.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-ECTCB36F.mjs +189 -0
- package/dist/lib/browser/app-graph-builder-ECTCB36F.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-UJ4QH3LV.mjs +17 -0
- package/dist/lib/browser/blueprint-definition-UJ4QH3LV.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +8 -0
- package/dist/lib/browser/call-manager-3P6D7IH7.mjs +27 -0
- package/dist/lib/browser/call-manager-3P6D7IH7.mjs.map +7 -0
- package/dist/lib/browser/chunk-2M2HV5K4.mjs +35 -0
- package/dist/lib/browser/chunk-2M2HV5K4.mjs.map +7 -0
- package/dist/lib/browser/chunk-7GONB2BI.mjs +219 -0
- package/dist/lib/browser/chunk-7GONB2BI.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-D7PVIURR.mjs +1094 -0
- package/dist/lib/browser/chunk-D7PVIURR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZE7KWN36.mjs → chunk-ERK254BS.mjs} +381 -240
- package/dist/lib/browser/chunk-ERK254BS.mjs.map +7 -0
- package/dist/lib/browser/chunk-FGEVENLN.mjs +280 -0
- package/dist/lib/browser/chunk-FGEVENLN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ERWASUQK.mjs → chunk-HDLDMR54.mjs} +85 -50
- package/dist/lib/browser/chunk-HDLDMR54.mjs.map +7 -0
- package/dist/lib/browser/{chunk-6NSMBO3B.mjs → chunk-ISCHODBV.mjs} +55 -5
- package/dist/lib/browser/chunk-ISCHODBV.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J75MXJZN.mjs +105 -0
- package/dist/lib/browser/chunk-J75MXJZN.mjs.map +7 -0
- package/dist/lib/browser/chunk-JMH6UT5J.mjs +127 -0
- package/dist/lib/browser/chunk-JMH6UT5J.mjs.map +7 -0
- package/dist/lib/browser/chunk-PV5GYINX.mjs +135 -0
- package/dist/lib/browser/chunk-PV5GYINX.mjs.map +7 -0
- package/dist/lib/browser/chunk-QVJO3VJ4.mjs +20 -0
- package/dist/lib/browser/chunk-QVJO3VJ4.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +136 -137
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/markdown-J6H6EIZE.mjs +83 -0
- package/dist/lib/browser/markdown-J6H6EIZE.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operation-resolver-3JHO5DFX.mjs +434 -0
- package/dist/lib/browser/operation-resolver-3JHO5DFX.mjs.map +7 -0
- package/dist/lib/browser/react-root-AM3J34AK.mjs +27 -0
- package/dist/lib/browser/react-root-AM3J34AK.mjs.map +7 -0
- package/dist/lib/browser/react-surface-VNGEEVYP.mjs +115 -0
- package/dist/lib/browser/react-surface-VNGEEVYP.mjs.map +7 -0
- package/dist/lib/browser/settings-HYNYTOSX.mjs +35 -0
- package/dist/lib/browser/settings-HYNYTOSX.mjs.map +7 -0
- package/dist/lib/browser/state-NQZQCDFD.mjs +25 -0
- package/dist/lib/browser/state-NQZQCDFD.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +11 -12
- package/dist/lib/node-esm/CallDebugPanel-7OIL5FVT.mjs +183 -0
- package/dist/lib/node-esm/CallDebugPanel-7OIL5FVT.mjs.map +7 -0
- package/dist/lib/node-esm/CallSidebar-Y2I3UBBA.mjs +37 -0
- package/dist/lib/node-esm/CallSidebar-Y2I3UBBA.mjs.map +7 -0
- package/dist/lib/node-esm/ChannelContainer-WB5YYZKU.mjs +18 -0
- package/dist/lib/node-esm/ChannelContainer-WB5YYZKU.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-CP6PNF53.mjs +19 -0
- package/dist/lib/node-esm/ChatContainer-CP6PNF53.mjs.map +7 -0
- package/dist/lib/node-esm/ThreadCompanion-5MM3XACT.mjs +210 -0
- package/dist/lib/node-esm/ThreadCompanion-5MM3XACT.mjs.map +7 -0
- package/dist/lib/node-esm/ThreadSettings-TCZMYH3J.mjs +21 -0
- package/dist/lib/node-esm/ThreadSettings-TCZMYH3J.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-HSX4GHGQ.mjs +190 -0
- package/dist/lib/node-esm/app-graph-builder-HSX4GHGQ.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-SABUBK23.mjs +18 -0
- package/dist/lib/node-esm/blueprint-definition-SABUBK23.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +9 -0
- package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
- package/dist/lib/node-esm/call-manager-ENAYC5L3.mjs +28 -0
- package/dist/lib/node-esm/call-manager-ENAYC5L3.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-35G7Q243.mjs +1095 -0
- package/dist/lib/node-esm/chunk-35G7Q243.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4BOUHFEC.mjs +128 -0
- package/dist/lib/node-esm/chunk-4BOUHFEC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-A3SWGVF3.mjs +37 -0
- package/dist/lib/node-esm/chunk-A3SWGVF3.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-B7POKKGL.mjs +136 -0
- package/dist/lib/node-esm/chunk-B7POKKGL.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CSIDVJEC.mjs +220 -0
- package/dist/lib/node-esm/chunk-CSIDVJEC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HGIUKAXD.mjs +281 -0
- package/dist/lib/node-esm/chunk-HGIUKAXD.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-N2T5KLKB.mjs +22 -0
- package/dist/lib/node-esm/chunk-N2T5KLKB.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-NDSI2G7B.mjs +107 -0
- package/dist/lib/node-esm/chunk-NDSI2G7B.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IHDNQLLR.mjs → chunk-QP3KQOPQ.mjs} +381 -240
- package/dist/lib/node-esm/chunk-QP3KQOPQ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-OU5BYIDO.mjs → chunk-VBI32FGI.mjs} +55 -5
- package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-25ABSYP2.mjs → chunk-YN2Y7GPW.mjs} +85 -50
- package/dist/lib/node-esm/chunk-YN2Y7GPW.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +136 -137
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/markdown-P2WSGZJB.mjs +84 -0
- package/dist/lib/node-esm/markdown-P2WSGZJB.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operation-resolver-I3RCYCC4.mjs +435 -0
- package/dist/lib/node-esm/operation-resolver-I3RCYCC4.mjs.map +7 -0
- package/dist/lib/node-esm/react-root-TFDOAH6Z.mjs +28 -0
- package/dist/lib/node-esm/react-root-TFDOAH6Z.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-3C7PBXXD.mjs +116 -0
- package/dist/lib/node-esm/react-surface-3C7PBXXD.mjs.map +7 -0
- package/dist/lib/node-esm/settings-FV2O6HDY.mjs +36 -0
- package/dist/lib/node-esm/settings-FV2O6HDY.mjs.map +7 -0
- package/dist/lib/node-esm/state-IODNXJEB.mjs +26 -0
- package/dist/lib/node-esm/state-IODNXJEB.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +11 -12
- package/dist/types/src/ThreadPlugin.d.ts +2 -1
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/index.d.ts +2 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
- package/dist/types/src/calls/call-manager.d.ts +40 -30
- package/dist/types/src/calls/call-manager.d.ts.map +1 -1
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts +2 -2
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
- package/dist/types/src/calls/media-manager.d.ts +2 -2
- package/dist/types/src/calls/media-manager.d.ts.map +1 -1
- package/dist/types/src/calls/types.d.ts +1 -1
- package/dist/types/src/calls/types.d.ts.map +1 -1
- package/dist/types/src/calls/util/calls-service.d.ts +5 -3
- 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/util/task-scheduling.d.ts +2 -2
- package/dist/types/src/calls/util/task-scheduling.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/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/call-manager/call-manager.d.ts +6 -0
- package/dist/types/src/capabilities/call-manager/call-manager.d.ts.map +1 -0
- package/dist/types/src/capabilities/call-manager/index.d.ts +3 -0
- package/dist/types/src/capabilities/call-manager/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +9 -15
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown/index.d.ts +3 -0
- package/dist/types/src/capabilities/markdown/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/markdown/markdown.d.ts +5 -0
- package/dist/types/src/capabilities/markdown/markdown.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
- package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +3 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +6 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/index.d.ts +3 -0
- package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/state.d.ts +7 -0
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
- package/dist/types/src/components/Call/Call.d.ts.map +1 -1
- 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/CommentsPanel/CommentsPanel.d.ts +13 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +164 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
- package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts +14 -0
- package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
- package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
- package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
- package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.d.ts +3 -3
- 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/MessagePanel/MessagePanel.d.ts +15 -0
- package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
- package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
- package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
- package/dist/types/src/components/Participant/Participant.d.ts.map +1 -1
- package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +163 -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/ResponsiveGrid/{ResponsiveContainer.d.ts → ResponsivePanel.d.ts} +4 -4
- package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +168 -0
- package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -0
- package/dist/types/src/components/ResponsiveGrid/index.d.ts +1 -1
- package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -9
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts +15 -0
- package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -0
- package/dist/types/src/containers/CallDebugPanel/index.d.ts +3 -0
- package/dist/types/src/containers/CallDebugPanel/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/CallSidebar}/CallSidebar.d.ts +0 -1
- package/dist/types/src/containers/CallSidebar/CallSidebar.d.ts.map +1 -0
- package/dist/types/src/containers/CallSidebar/index.d.ts +3 -0
- package/dist/types/src/containers/CallSidebar/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +12 -0
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +166 -0
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelContainer/index.d.ts +3 -0
- package/dist/types/src/containers/ChannelContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +17 -0
- package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
- package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts +166 -0
- package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ChatContainer/index.d.ts +4 -0
- package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts +6 -0
- package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadCompanion/index.d.ts +3 -0
- package/dist/types/src/containers/ThreadCompanion/index.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts +8 -0
- package/dist/types/src/containers/ThreadSettings/ThreadSettings.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadSettings/index.d.ts +3 -0
- package/dist/types/src/containers/ThreadSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +8 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
- package/dist/types/src/extensions/command.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +1 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/extensions/threads.d.ts +8 -3
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/functions/create-proposals.d.ts +13 -0
- package/dist/types/src/functions/create-proposals.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +14 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/hooks/analytics.d.ts +2 -3
- 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/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +3 -4
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/data.d.ts +5 -0
- package/dist/types/src/testing/data.d.ts.map +1 -0
- package/dist/types/src/testing/stories.d.ts +2 -1
- package/dist/types/src/testing/stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +81 -7
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Channel.d.ts +711 -0
- package/dist/types/src/types/Channel.d.ts.map +1 -0
- package/dist/types/src/types/capabilities.d.ts +23 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +3300 -365
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +93 -66
- package/src/ThreadPlugin.tsx +92 -130
- package/src/blueprints/index.ts +5 -0
- package/src/blueprints/thread-blueprint.ts +40 -0
- package/src/calls/call-manager.ts +78 -54
- package/src/calls/call-swarm-synchronizer.ts +3 -3
- package/src/calls/media-manager.ts +67 -38
- package/src/calls/types.ts +8 -4
- package/src/calls/util/calls-service.ts +66 -15
- package/src/calls/util/stub-media-streams.ts +64 -7
- package/src/calls/util/task-scheduling.ts +4 -4
- package/src/calls-service.stories.tsx +79 -66
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +203 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
- package/src/capabilities/blueprint-definition/index.ts +7 -0
- package/src/capabilities/call-manager/call-manager.ts +26 -0
- package/src/capabilities/call-manager/index.ts +7 -0
- package/src/capabilities/index.ts +9 -12
- package/src/capabilities/markdown/index.ts +7 -0
- package/src/capabilities/markdown/markdown.ts +81 -0
- package/src/capabilities/operation-resolver/index.ts +7 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +392 -0
- package/src/capabilities/react-root/index.ts +7 -0
- package/src/capabilities/react-root/react-root.tsx +20 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +101 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +34 -0
- package/src/capabilities/state/index.ts +7 -0
- package/src/capabilities/state/state.ts +22 -0
- package/src/components/Call/Call.tsx +11 -6
- package/src/components/Call/Toolbar.tsx +40 -33
- package/src/components/CommentsPanel/CommentsPanel.stories.tsx +93 -0
- package/src/components/CommentsPanel/CommentsPanel.tsx +71 -0
- package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +60 -55
- package/src/components/CommentsPanel/index.ts +6 -0
- package/src/components/Lobby/Lobby.tsx +13 -11
- package/src/components/Media/AudioStream.tsx +2 -2
- package/src/components/Media/VideoObject.stories.tsx +37 -29
- package/src/components/Media/VideoObject.tsx +1 -1
- package/src/components/MessagePanel/MessagePanel.tsx +216 -0
- package/src/components/MessagePanel/index.ts +5 -0
- package/src/components/Participant/Participant.tsx +34 -15
- package/src/components/Participant/ParticipantGrid.tsx +2 -1
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +45 -43
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +5 -5
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +9 -6
- package/src/components/ResponsiveGrid/{ResponsiveContainer.stories.tsx → ResponsivePanel.stories.tsx} +11 -11
- package/src/components/ResponsiveGrid/{ResponsiveContainer.tsx → ResponsivePanel.tsx} +4 -4
- package/src/components/ResponsiveGrid/index.ts +1 -1
- package/src/components/index.ts +2 -13
- package/src/containers/CallDebugPanel/CallDebugPanel.tsx +172 -0
- package/src/containers/CallDebugPanel/index.ts +7 -0
- package/src/containers/CallSidebar/CallSidebar.tsx +17 -0
- package/src/containers/CallSidebar/index.ts +7 -0
- package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +59 -0
- package/src/{components → containers/ChannelContainer}/ChannelContainer.tsx +81 -59
- package/src/containers/ChannelContainer/index.ts +7 -0
- package/src/containers/ChatContainer/ChatContainer.stories.tsx +87 -0
- package/src/{components → containers/ChatContainer}/ChatContainer.tsx +67 -63
- package/src/containers/ChatContainer/index.ts +8 -0
- package/src/containers/ThreadCompanion/ThreadCompanion.tsx +199 -0
- package/src/containers/ThreadCompanion/index.ts +7 -0
- package/src/containers/ThreadSettings/ThreadSettings.tsx +22 -0
- package/src/containers/ThreadSettings/index.ts +7 -0
- package/src/containers/index.ts +12 -0
- package/src/{components/command-extension.ts → extensions/command.ts} +7 -4
- package/src/extensions/index.ts +1 -0
- package/src/extensions/threads.ts +88 -44
- package/src/functions/create-proposals.ts +57 -0
- package/src/functions/index.ts +9 -0
- package/src/hooks/analytics.ts +22 -21
- package/src/hooks/index.ts +3 -1
- package/src/hooks/useBlackCanvasStreamTrack.tsx +27 -0
- package/src/hooks/useDebugMode.ts +1 -1
- package/src/hooks/useVideoStreamTrack.tsx +6 -3
- package/src/index.ts +1 -1
- package/src/meta.ts +11 -7
- package/src/testing/data.ts +49 -0
- package/src/testing/stories.ts +18 -16
- package/src/translations.ts +10 -4
- package/src/types/Channel.ts +36 -0
- package/src/types/capabilities.ts +34 -0
- package/src/types/index.ts +2 -1
- package/src/types/types.ts +170 -82
- package/src/typings/peermetrics-webrtc-stats.d.ts +17 -1
- package/src/typings.d.ts +8 -0
- package/src/util.ts +1 -1
- package/dist/lib/browser/ChannelContainer-IY2UIRLF.mjs +0 -16
- package/dist/lib/browser/ChatContainer-AIGIWAUG.mjs +0 -15
- package/dist/lib/browser/app-graph-builder-N7BE5TYW.mjs +0 -171
- package/dist/lib/browser/app-graph-builder-N7BE5TYW.mjs.map +0 -7
- package/dist/lib/browser/call-manager-NIPDYUVD.mjs +0 -24
- package/dist/lib/browser/call-manager-NIPDYUVD.mjs.map +0 -7
- package/dist/lib/browser/chunk-4OYAYON2.mjs +0 -21
- package/dist/lib/browser/chunk-4OYAYON2.mjs.map +0 -7
- package/dist/lib/browser/chunk-6NSMBO3B.mjs.map +0 -7
- package/dist/lib/browser/chunk-ERWASUQK.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-GCLD5ESP.mjs +0 -137
- package/dist/lib/browser/chunk-GCLD5ESP.mjs.map +0 -7
- package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
- package/dist/lib/browser/chunk-KWPRNHTK.mjs +0 -984
- package/dist/lib/browser/chunk-KWPRNHTK.mjs.map +0 -7
- package/dist/lib/browser/chunk-LGSDKXPF.mjs +0 -18
- package/dist/lib/browser/chunk-LGSDKXPF.mjs.map +0 -7
- package/dist/lib/browser/chunk-VUWC4IJM.mjs +0 -479
- package/dist/lib/browser/chunk-VUWC4IJM.mjs.map +0 -7
- package/dist/lib/browser/chunk-XLPJXUKO.mjs +0 -367
- package/dist/lib/browser/chunk-XLPJXUKO.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZE7KWN36.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-JFGLZ6VI.mjs +0 -369
- package/dist/lib/browser/intent-resolver-JFGLZ6VI.mjs.map +0 -7
- package/dist/lib/browser/markdown-GEXBVJYN.mjs +0 -169
- package/dist/lib/browser/markdown-GEXBVJYN.mjs.map +0 -7
- package/dist/lib/browser/react-root-X4UIVGTX.mjs +0 -28
- package/dist/lib/browser/react-root-X4UIVGTX.mjs.map +0 -7
- package/dist/lib/browser/react-surface-YCYEFBPM.mjs +0 -109
- package/dist/lib/browser/react-surface-YCYEFBPM.mjs.map +0 -7
- package/dist/lib/browser/settings-E32MTL7A.mjs +0 -22
- package/dist/lib/browser/settings-E32MTL7A.mjs.map +0 -7
- package/dist/lib/browser/state-H6CYONWE.mjs +0 -34
- package/dist/lib/browser/state-H6CYONWE.mjs.map +0 -7
- package/dist/lib/node-esm/ChannelContainer-DET6T5N2.mjs +0 -17
- package/dist/lib/node-esm/ChatContainer-IQUWU426.mjs +0 -16
- package/dist/lib/node-esm/app-graph-builder-VCW76Z6V.mjs +0 -172
- package/dist/lib/node-esm/app-graph-builder-VCW76Z6V.mjs.map +0 -7
- package/dist/lib/node-esm/call-manager-D6O5ZJJ4.mjs +0 -25
- package/dist/lib/node-esm/call-manager-D6O5ZJJ4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-25ABSYP2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2MFNK53T.mjs +0 -480
- package/dist/lib/node-esm/chunk-2MFNK53T.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-75RJ5DJI.mjs +0 -19
- package/dist/lib/node-esm/chunk-75RJ5DJI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-C3XFMUAY.mjs +0 -985
- package/dist/lib/node-esm/chunk-C3XFMUAY.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-GW37AAM4.mjs +0 -23
- package/dist/lib/node-esm/chunk-GW37AAM4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IHDNQLLR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-J4NSON5Q.mjs +0 -368
- package/dist/lib/node-esm/chunk-J4NSON5Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OU5BYIDO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TDFHTCZZ.mjs +0 -138
- package/dist/lib/node-esm/chunk-TDFHTCZZ.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-OXGNQ44Y.mjs +0 -370
- package/dist/lib/node-esm/intent-resolver-OXGNQ44Y.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-LIJZDK2J.mjs +0 -170
- package/dist/lib/node-esm/markdown-LIJZDK2J.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-M7J6PZVW.mjs +0 -29
- package/dist/lib/node-esm/react-root-M7J6PZVW.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-IRSEKM42.mjs +0 -110
- package/dist/lib/node-esm/react-surface-IRSEKM42.mjs.map +0 -7
- package/dist/lib/node-esm/settings-SJ24YG7M.mjs +0 -23
- package/dist/lib/node-esm/settings-SJ24YG7M.mjs.map +0 -7
- package/dist/lib/node-esm/state-D7WNDT3N.mjs +0 -35
- package/dist/lib/node-esm/state-D7WNDT3N.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/call-manager.d.ts +0 -5
- package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
- package/dist/types/src/capabilities/capabilities.d.ts +0 -27
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/markdown.d.ts +0 -4
- package/dist/types/src/capabilities/markdown.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-root.d.ts +0 -7
- package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/capabilities/state.d.ts +0 -7
- package/dist/types/src/capabilities/state.d.ts.map +0 -1
- package/dist/types/src/components/CallDebugPanel.d.ts +0 -8
- package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
- package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
- package/dist/types/src/components/ChannelContainer.d.ts +0 -14
- package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -10
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/Chat.stories.d.ts +0 -7
- package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
- package/dist/types/src/components/ChatContainer.d.ts +0 -17
- package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
- package/dist/types/src/components/Comments.stories.d.ts +0 -6
- package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
- package/dist/types/src/components/CommentsContainer.d.ts +0 -13
- package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
- package/dist/types/src/components/CommentsThreadContainer.d.ts +0 -14
- package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
- package/dist/types/src/components/MessageContainer.d.ts +0 -11
- package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -10
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
- 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/components/ThreadSettings.d.ts +0 -6
- package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
- package/dist/types/src/components/command-extension.d.ts.map +0 -1
- package/dist/types/src/components/testing.d.ts +0 -4
- package/dist/types/src/components/testing.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -162
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder.ts +0 -180
- package/src/capabilities/call-manager.ts +0 -19
- package/src/capabilities/capabilities.ts +0 -33
- package/src/capabilities/intent-resolver.ts +0 -314
- package/src/capabilities/markdown.ts +0 -68
- package/src/capabilities/react-root.tsx +0 -17
- package/src/capabilities/react-surface.tsx +0 -88
- package/src/capabilities/settings.ts +0 -19
- package/src/capabilities/state.ts +0 -25
- package/src/components/CallDebugPanel.tsx +0 -115
- package/src/components/CallSidebar.tsx +0 -17
- package/src/components/ChannelContainer.stories.tsx +0 -58
- package/src/components/Chat.stories.tsx +0 -88
- package/src/components/Comments.stories.tsx +0 -92
- package/src/components/CommentsContainer.tsx +0 -71
- package/src/components/MessageContainer.tsx +0 -151
- package/src/components/ThreadComplementary.tsx +0 -151
- package/src/components/ThreadSettings.tsx +0 -17
- package/src/components/testing.ts +0 -29
- package/src/types/schema.ts +0 -33
- /package/dist/lib/browser/{ChannelContainer-IY2UIRLF.mjs.map → ChannelContainer-EQZXMQMV.mjs.map} +0 -0
- /package/dist/lib/browser/{ChatContainer-AIGIWAUG.mjs.map → ChatContainer-VPCJ2AMF.mjs.map} +0 -0
- /package/dist/lib/{node-esm/ChannelContainer-DET6T5N2.mjs.map → browser/blueprints/index.mjs.map} +0 -0
- /package/dist/lib/{node-esm/ChatContainer-IQUWU426.mjs.map → browser/chunk-J5LGTIGS.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,22 +78,23 @@ 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 {
|
|
84
|
+
stateUpdated = new Event();
|
|
85
|
+
_state = {
|
|
86
|
+
activities: {}
|
|
87
|
+
};
|
|
88
|
+
_networkService;
|
|
89
|
+
_lastSwarmEvent = void 0;
|
|
90
|
+
_reconcileSwarmStateTask = void 0;
|
|
91
|
+
_identityKey = void 0;
|
|
92
|
+
_deviceKey = void 0;
|
|
93
|
+
_displayName = void 0;
|
|
94
|
+
_swarmCtx = void 0;
|
|
95
|
+
_sendStateTask = void 0;
|
|
54
96
|
constructor({ networkService }) {
|
|
55
97
|
super();
|
|
56
|
-
this.stateUpdated = new Event();
|
|
57
|
-
this._state = {
|
|
58
|
-
activities: {}
|
|
59
|
-
};
|
|
60
|
-
this._lastSwarmEvent = void 0;
|
|
61
|
-
this._reconcileSwarmStateTask = void 0;
|
|
62
|
-
this._identityKey = void 0;
|
|
63
|
-
this._deviceKey = void 0;
|
|
64
|
-
this._displayName = void 0;
|
|
65
|
-
this._swarmCtx = void 0;
|
|
66
|
-
this._sendStateTask = void 0;
|
|
67
98
|
this._networkService = networkService;
|
|
68
99
|
}
|
|
69
100
|
/**
|
|
@@ -131,7 +162,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
131
162
|
log.verbose("joined to a different room", {
|
|
132
163
|
roomId
|
|
133
164
|
}, {
|
|
134
|
-
F:
|
|
165
|
+
F: __dxlog_file2,
|
|
135
166
|
L: 152,
|
|
136
167
|
S: this,
|
|
137
168
|
C: (f, a) => f(...a)
|
|
@@ -153,8 +184,8 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
153
184
|
this._reconcileSwarmStateTask = void 0;
|
|
154
185
|
}
|
|
155
186
|
async join() {
|
|
156
|
-
|
|
157
|
-
F:
|
|
187
|
+
invariant2(this._state.roomId, void 0, {
|
|
188
|
+
F: __dxlog_file2,
|
|
158
189
|
L: 176,
|
|
159
190
|
S: this,
|
|
160
191
|
A: [
|
|
@@ -162,8 +193,8 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
162
193
|
""
|
|
163
194
|
]
|
|
164
195
|
});
|
|
165
|
-
|
|
166
|
-
F:
|
|
196
|
+
invariant2(!this._swarmCtx, "Already joined", {
|
|
197
|
+
F: __dxlog_file2,
|
|
167
198
|
L: 177,
|
|
168
199
|
S: this,
|
|
169
200
|
A: [
|
|
@@ -172,7 +203,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
172
203
|
]
|
|
173
204
|
});
|
|
174
205
|
this._swarmCtx = new Context(void 0, {
|
|
175
|
-
F:
|
|
206
|
+
F: __dxlog_file2,
|
|
176
207
|
L: 179
|
|
177
208
|
});
|
|
178
209
|
const topic = getTopic(this._state.roomId);
|
|
@@ -183,7 +214,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
183
214
|
peerKey: this._deviceKey
|
|
184
215
|
}
|
|
185
216
|
}, {
|
|
186
|
-
F:
|
|
217
|
+
F: __dxlog_file2,
|
|
187
218
|
L: 181,
|
|
188
219
|
S: this,
|
|
189
220
|
C: (f, a) => f(...a)
|
|
@@ -202,7 +233,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
202
233
|
peerKey: this._deviceKey
|
|
203
234
|
}
|
|
204
235
|
}, {
|
|
205
|
-
F:
|
|
236
|
+
F: __dxlog_file2,
|
|
206
237
|
L: 188,
|
|
207
238
|
S: this,
|
|
208
239
|
C: (f, a) => f(...a)
|
|
@@ -214,7 +245,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
214
245
|
peerKey: this._deviceKey
|
|
215
246
|
}
|
|
216
247
|
}).catch((err) => log.catch(err, void 0, {
|
|
217
|
-
F:
|
|
248
|
+
F: __dxlog_file2,
|
|
218
249
|
L: 194,
|
|
219
250
|
S: this,
|
|
220
251
|
C: (f, a) => f(...a)
|
|
@@ -282,8 +313,8 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
282
313
|
}
|
|
283
314
|
async _reconcileSwarmState() {
|
|
284
315
|
const swarmEvent = this._lastSwarmEvent;
|
|
285
|
-
|
|
286
|
-
F:
|
|
316
|
+
invariant2(swarmEvent, void 0, {
|
|
317
|
+
F: __dxlog_file2,
|
|
287
318
|
L: 273,
|
|
288
319
|
S: this,
|
|
289
320
|
A: [
|
|
@@ -303,7 +334,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
303
334
|
error,
|
|
304
335
|
peer
|
|
305
336
|
}, {
|
|
306
|
-
F:
|
|
337
|
+
F: __dxlog_file2,
|
|
307
338
|
L: 290,
|
|
308
339
|
S: this,
|
|
309
340
|
C: (f, a) => f(...a)
|
|
@@ -316,7 +347,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
316
347
|
log("reconciling swarm state", {
|
|
317
348
|
users
|
|
318
349
|
}, {
|
|
319
|
-
F:
|
|
350
|
+
F: __dxlog_file2,
|
|
320
351
|
L: 297,
|
|
321
352
|
S: this,
|
|
322
353
|
C: (f, a) => f(...a)
|
|
@@ -404,13 +435,15 @@ var monitorAudioLevel = ({ mediaStreamTrack, intervalMs = 1e3 / 10, onMeasure })
|
|
|
404
435
|
};
|
|
405
436
|
|
|
406
437
|
// src/calls/util/calls-service.ts
|
|
407
|
-
import { PersistentLifecycle } from "@dxos/async";
|
|
438
|
+
import { PersistentLifecycle, Trigger, scheduleTask } from "@dxos/async";
|
|
408
439
|
import { Resource as Resource2 } from "@dxos/context";
|
|
409
|
-
import { invariant as
|
|
440
|
+
import { invariant as invariant3 } from "@dxos/invariant";
|
|
410
441
|
import { log as log2 } from "@dxos/log";
|
|
411
442
|
|
|
412
443
|
// src/calls/util/history-cache.ts
|
|
413
444
|
var HistoryCache = class {
|
|
445
|
+
_limit;
|
|
446
|
+
_messages;
|
|
414
447
|
constructor(limit = 100) {
|
|
415
448
|
this._limit = limit;
|
|
416
449
|
this._messages = [];
|
|
@@ -484,20 +517,21 @@ var BulkRequestDispatcher = class {
|
|
|
484
517
|
};
|
|
485
518
|
|
|
486
519
|
// src/calls/util/calls-service.ts
|
|
487
|
-
var
|
|
520
|
+
var __dxlog_file3 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/calls-service.ts";
|
|
488
521
|
var NETWORK_TIMEOUT = 5e3;
|
|
489
522
|
var CallsServicePeer = class extends Resource2 {
|
|
523
|
+
history = new HistoryCache(100);
|
|
524
|
+
_persistentLifecycle = new PersistentLifecycle({
|
|
525
|
+
start: () => this._startSession(),
|
|
526
|
+
stop: (session) => this._stopSession(session)
|
|
527
|
+
});
|
|
528
|
+
_config;
|
|
529
|
+
taskScheduler = new FIFOScheduler();
|
|
530
|
+
pushTrackDispatcher = new BulkRequestDispatcher(32);
|
|
531
|
+
pullTrackDispatcher = new BulkRequestDispatcher(32);
|
|
532
|
+
closeTrackDispatcher = new BulkRequestDispatcher(32);
|
|
490
533
|
constructor(config) {
|
|
491
534
|
super();
|
|
492
|
-
this.history = new HistoryCache(100);
|
|
493
|
-
this._persistentLifecycle = new PersistentLifecycle({
|
|
494
|
-
start: () => this._startSession(),
|
|
495
|
-
stop: (session) => this._stopSession(session)
|
|
496
|
-
});
|
|
497
|
-
this.taskScheduler = new FIFOScheduler();
|
|
498
|
-
this.pushTrackDispatcher = new BulkRequestDispatcher(32);
|
|
499
|
-
this.pullTrackDispatcher = new BulkRequestDispatcher(32);
|
|
500
|
-
this.closeTrackDispatcher = new BulkRequestDispatcher(32);
|
|
501
535
|
this._config = config;
|
|
502
536
|
}
|
|
503
537
|
async _open(ctx) {
|
|
@@ -527,11 +561,11 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
527
561
|
});
|
|
528
562
|
peerConnection.addEventListener("connectionstatechange", () => {
|
|
529
563
|
if (peerConnection.connectionState === "failed" || peerConnection.connectionState === "closed") {
|
|
530
|
-
log2.
|
|
564
|
+
log2.info("calls connection failed", {
|
|
531
565
|
state: peerConnection.connectionState
|
|
532
566
|
}, {
|
|
533
|
-
F:
|
|
534
|
-
L:
|
|
567
|
+
F: __dxlog_file3,
|
|
568
|
+
L: 121,
|
|
535
569
|
S: this,
|
|
536
570
|
C: (f, a) => f(...a)
|
|
537
571
|
});
|
|
@@ -542,11 +576,11 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
542
576
|
peerConnection.addEventListener("iceconnectionstatechange", () => {
|
|
543
577
|
clearTimeout(iceTimeout);
|
|
544
578
|
if (peerConnection.iceConnectionState === "failed" || peerConnection.iceConnectionState === "closed") {
|
|
545
|
-
log2.
|
|
579
|
+
log2.info("calls connection to ICEs failed", {
|
|
546
580
|
state: peerConnection.iceConnectionState
|
|
547
581
|
}, {
|
|
548
|
-
F:
|
|
549
|
-
L:
|
|
582
|
+
F: __dxlog_file3,
|
|
583
|
+
L: 130,
|
|
550
584
|
S: this,
|
|
551
585
|
C: (f, a) => f(...a)
|
|
552
586
|
});
|
|
@@ -556,19 +590,19 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
556
590
|
iceTimeout = window.setTimeout(() => {
|
|
557
591
|
if (peerConnection.iceConnectionState === "connected") {
|
|
558
592
|
log2.info("calls iceConnectionState is connected", void 0, {
|
|
559
|
-
F:
|
|
560
|
-
L:
|
|
593
|
+
F: __dxlog_file3,
|
|
594
|
+
L: 139,
|
|
561
595
|
S: this,
|
|
562
596
|
C: (f, a) => f(...a)
|
|
563
597
|
});
|
|
564
598
|
return;
|
|
565
599
|
}
|
|
566
|
-
log2.
|
|
600
|
+
log2.info("calls iceConnectionState timed out", {
|
|
567
601
|
state: peerConnection.iceConnectionState,
|
|
568
602
|
timeoutSeconds
|
|
569
603
|
}, {
|
|
570
|
-
F:
|
|
571
|
-
L:
|
|
604
|
+
F: __dxlog_file3,
|
|
605
|
+
L: 143,
|
|
572
606
|
S: this,
|
|
573
607
|
C: (f, a) => f(...a)
|
|
574
608
|
});
|
|
@@ -580,8 +614,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
580
614
|
}
|
|
581
615
|
async _initiateCallSession() {
|
|
582
616
|
log2("creating new session", void 0, {
|
|
583
|
-
F:
|
|
584
|
-
L:
|
|
617
|
+
F: __dxlog_file3,
|
|
618
|
+
L: 153,
|
|
585
619
|
S: this,
|
|
586
620
|
C: (f, a) => f(...a)
|
|
587
621
|
});
|
|
@@ -592,6 +626,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
592
626
|
}
|
|
593
627
|
async _fetch(relativePath, requestInit) {
|
|
594
628
|
this.history.push({
|
|
629
|
+
endpoint: relativePath,
|
|
595
630
|
type: "request",
|
|
596
631
|
time: (/* @__PURE__ */ new Date()).toISOString(),
|
|
597
632
|
method: requestInit?.method ?? "GET",
|
|
@@ -606,8 +641,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
606
641
|
status: response.status,
|
|
607
642
|
text: await response.text()
|
|
608
643
|
}, {
|
|
609
|
-
F:
|
|
610
|
-
L:
|
|
644
|
+
F: __dxlog_file3,
|
|
645
|
+
L: 169,
|
|
611
646
|
S: this,
|
|
612
647
|
C: (f, a) => f(...a)
|
|
613
648
|
});
|
|
@@ -616,6 +651,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
616
651
|
try {
|
|
617
652
|
const data = await response.clone().json();
|
|
618
653
|
this.history.push({
|
|
654
|
+
endpoint: relativePath,
|
|
619
655
|
type: "response",
|
|
620
656
|
time: (/* @__PURE__ */ new Date()).toISOString(),
|
|
621
657
|
status: response.status,
|
|
@@ -628,6 +664,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
628
664
|
} catch (error) {
|
|
629
665
|
const text = await response.text();
|
|
630
666
|
this.history.push({
|
|
667
|
+
endpoint: relativePath,
|
|
631
668
|
type: "response",
|
|
632
669
|
time: (/* @__PURE__ */ new Date()).toISOString(),
|
|
633
670
|
status: response.status,
|
|
@@ -638,8 +675,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
638
675
|
text,
|
|
639
676
|
status: response.status
|
|
640
677
|
}, {
|
|
641
|
-
F:
|
|
642
|
-
L:
|
|
678
|
+
F: __dxlog_file3,
|
|
679
|
+
L: 196,
|
|
643
680
|
S: this,
|
|
644
681
|
C: (f, a) => f(...a)
|
|
645
682
|
});
|
|
@@ -648,8 +685,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
648
685
|
}
|
|
649
686
|
async _pushTrackInBulk({ ctx, peerConnection, transceiver, sessionId, trackName }) {
|
|
650
687
|
log2.verbose("pushing track ", trackName, {
|
|
651
|
-
F:
|
|
652
|
-
L:
|
|
688
|
+
F: __dxlog_file3,
|
|
689
|
+
L: 218,
|
|
653
690
|
S: this,
|
|
654
691
|
C: (f, a) => f(...a)
|
|
655
692
|
});
|
|
@@ -674,9 +711,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
674
711
|
}))
|
|
675
712
|
})
|
|
676
713
|
});
|
|
677
|
-
|
|
678
|
-
F:
|
|
679
|
-
L:
|
|
714
|
+
invariant3(response.tracks !== void 0, void 0, {
|
|
715
|
+
F: __dxlog_file3,
|
|
716
|
+
L: 243,
|
|
680
717
|
S: this,
|
|
681
718
|
A: [
|
|
682
719
|
"response.tracks !== undefined",
|
|
@@ -690,7 +727,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
690
727
|
return {
|
|
691
728
|
tracks: response.tracks
|
|
692
729
|
};
|
|
693
|
-
})).then(({ tracks }) => {
|
|
730
|
+
})).then(async ({ tracks }) => {
|
|
694
731
|
const trackData = tracks.find((t) => t.mid === transceiver.mid);
|
|
695
732
|
if (trackData) {
|
|
696
733
|
return {
|
|
@@ -700,19 +737,12 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
700
737
|
};
|
|
701
738
|
} else {
|
|
702
739
|
log2.error("missing track data", void 0, {
|
|
703
|
-
F:
|
|
704
|
-
L:
|
|
740
|
+
F: __dxlog_file3,
|
|
741
|
+
L: 267,
|
|
705
742
|
S: this,
|
|
706
743
|
C: (f, a) => f(...a)
|
|
707
744
|
});
|
|
708
745
|
}
|
|
709
|
-
}).catch((err) => {
|
|
710
|
-
log2.catch(err, void 0, {
|
|
711
|
-
F: __dxlog_file2,
|
|
712
|
-
L: 261,
|
|
713
|
-
S: this,
|
|
714
|
-
C: (f, a) => f(...a)
|
|
715
|
-
});
|
|
716
746
|
});
|
|
717
747
|
const onDispose = async () => {
|
|
718
748
|
if (transceiver.mid) {
|
|
@@ -725,9 +755,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
725
755
|
}
|
|
726
756
|
async pushTrack({ track, encodings = [], ctx, previousTrack }) {
|
|
727
757
|
await this.waitUntilOpen();
|
|
728
|
-
|
|
729
|
-
F:
|
|
730
|
-
L:
|
|
758
|
+
invariant3(this.session, void 0, {
|
|
759
|
+
F: __dxlog_file3,
|
|
760
|
+
L: 295,
|
|
731
761
|
S: this,
|
|
732
762
|
A: [
|
|
733
763
|
"this.session",
|
|
@@ -739,8 +769,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
739
769
|
previousTrack,
|
|
740
770
|
encodings
|
|
741
771
|
}, {
|
|
742
|
-
F:
|
|
743
|
-
L:
|
|
772
|
+
F: __dxlog_file3,
|
|
773
|
+
L: 296,
|
|
744
774
|
S: this,
|
|
745
775
|
C: (f, a) => f(...a)
|
|
746
776
|
});
|
|
@@ -752,8 +782,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
752
782
|
previousTrack,
|
|
753
783
|
transceiver: transceiver2
|
|
754
784
|
}, {
|
|
755
|
-
F:
|
|
756
|
-
L:
|
|
785
|
+
F: __dxlog_file3,
|
|
786
|
+
L: 300,
|
|
757
787
|
S: this,
|
|
758
788
|
C: (f, a) => f(...a)
|
|
759
789
|
});
|
|
@@ -764,23 +794,23 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
764
794
|
previousTrack,
|
|
765
795
|
transceiver: transceiver2
|
|
766
796
|
}, {
|
|
767
|
-
F:
|
|
768
|
-
L:
|
|
797
|
+
F: __dxlog_file3,
|
|
798
|
+
L: 303,
|
|
769
799
|
S: this,
|
|
770
800
|
C: (f, a) => f(...a)
|
|
771
801
|
});
|
|
772
802
|
transceiver2.sender.replaceTrack(track).catch((err) => log2.catch(err, void 0, {
|
|
773
|
-
F:
|
|
774
|
-
L:
|
|
803
|
+
F: __dxlog_file3,
|
|
804
|
+
L: 304,
|
|
775
805
|
S: this,
|
|
776
806
|
C: (f, a) => f(...a)
|
|
777
807
|
}));
|
|
778
808
|
return previousTrack;
|
|
779
809
|
}
|
|
780
810
|
}
|
|
781
|
-
|
|
782
|
-
F:
|
|
783
|
-
L:
|
|
811
|
+
invariant3(track, void 0, {
|
|
812
|
+
F: __dxlog_file3,
|
|
813
|
+
L: 308,
|
|
784
814
|
S: this,
|
|
785
815
|
A: [
|
|
786
816
|
"track",
|
|
@@ -792,8 +822,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
792
822
|
direction: "sendonly"
|
|
793
823
|
});
|
|
794
824
|
log2.verbose("creating transceiver", void 0, {
|
|
795
|
-
F:
|
|
796
|
-
L:
|
|
825
|
+
F: __dxlog_file3,
|
|
826
|
+
L: 313,
|
|
797
827
|
S: this,
|
|
798
828
|
C: (f, a) => f(...a)
|
|
799
829
|
});
|
|
@@ -804,9 +834,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
804
834
|
sessionId: this.session.sessionId,
|
|
805
835
|
trackName: stableId
|
|
806
836
|
});
|
|
807
|
-
|
|
808
|
-
F:
|
|
809
|
-
L:
|
|
837
|
+
invariant3(pushedTrackData, void 0, {
|
|
838
|
+
F: __dxlog_file3,
|
|
839
|
+
L: 322,
|
|
810
840
|
S: this,
|
|
811
841
|
A: [
|
|
812
842
|
"pushedTrackData",
|
|
@@ -822,8 +852,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
822
852
|
};
|
|
823
853
|
});
|
|
824
854
|
transceiver.sender.setParameters(parameters).catch((err) => log2.catch(err, void 0, {
|
|
825
|
-
F:
|
|
826
|
-
L:
|
|
855
|
+
F: __dxlog_file3,
|
|
856
|
+
L: 329,
|
|
827
857
|
S: this,
|
|
828
858
|
C: (f, a) => f(...a)
|
|
829
859
|
}));
|
|
@@ -835,8 +865,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
835
865
|
log2("pulling track", {
|
|
836
866
|
trackName: trackData.trackName
|
|
837
867
|
}, {
|
|
838
|
-
F:
|
|
839
|
-
L:
|
|
868
|
+
F: __dxlog_file3,
|
|
869
|
+
L: 347,
|
|
840
870
|
S: this,
|
|
841
871
|
C: (f, a) => f(...a)
|
|
842
872
|
});
|
|
@@ -850,9 +880,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
850
880
|
if (newTrackResponse.errorCode) {
|
|
851
881
|
throw new Error(newTrackResponse.errorDescription);
|
|
852
882
|
}
|
|
853
|
-
|
|
854
|
-
F:
|
|
855
|
-
L:
|
|
883
|
+
invariant3(newTrackResponse.tracks, void 0, {
|
|
884
|
+
F: __dxlog_file3,
|
|
885
|
+
L: 360,
|
|
856
886
|
S: this,
|
|
857
887
|
A: [
|
|
858
888
|
"newTrackResponse.tracks",
|
|
@@ -898,18 +928,18 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
898
928
|
mid = trackInfo.mid;
|
|
899
929
|
return track;
|
|
900
930
|
}).catch((err) => log2.catch(err, void 0, {
|
|
901
|
-
F:
|
|
902
|
-
L:
|
|
931
|
+
F: __dxlog_file3,
|
|
932
|
+
L: 412,
|
|
903
933
|
S: this,
|
|
904
934
|
C: (f, a) => f(...a)
|
|
905
935
|
}));
|
|
906
936
|
} else {
|
|
907
|
-
log2.
|
|
937
|
+
log2.info("missing track info", {
|
|
908
938
|
trackData,
|
|
909
939
|
availableTracks: Array.from(trackMap.keys())
|
|
910
940
|
}, {
|
|
911
|
-
F:
|
|
912
|
-
L:
|
|
941
|
+
F: __dxlog_file3,
|
|
942
|
+
L: 414,
|
|
913
943
|
S: this,
|
|
914
944
|
C: (f, a) => f(...a)
|
|
915
945
|
});
|
|
@@ -918,8 +948,8 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
918
948
|
const onDispose = async () => {
|
|
919
949
|
if (mid) {
|
|
920
950
|
log2("closing pulled track ", trackData.trackName, {
|
|
921
|
-
F:
|
|
922
|
-
L:
|
|
951
|
+
F: __dxlog_file3,
|
|
952
|
+
L: 420,
|
|
923
953
|
S: this,
|
|
924
954
|
C: (f, a) => f(...a)
|
|
925
955
|
});
|
|
@@ -933,9 +963,9 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
933
963
|
}
|
|
934
964
|
async pullTrack({ ctx, trackData }) {
|
|
935
965
|
await this.waitUntilOpen();
|
|
936
|
-
|
|
937
|
-
F:
|
|
938
|
-
L:
|
|
966
|
+
invariant3(this.session, void 0, {
|
|
967
|
+
F: __dxlog_file3,
|
|
968
|
+
L: 441,
|
|
939
969
|
S: this,
|
|
940
970
|
A: [
|
|
941
971
|
"this.session",
|
|
@@ -1021,7 +1051,7 @@ var peerConnectionIsConnected = async (peerConnection) => {
|
|
|
1021
1051
|
|
|
1022
1052
|
// src/calls/util/media.ts
|
|
1023
1053
|
import { log as log3 } from "@dxos/log";
|
|
1024
|
-
var
|
|
1054
|
+
var __dxlog_file4 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/util/media.ts";
|
|
1025
1055
|
var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
|
|
1026
1056
|
deviceList ??= (await getDeviceList()).filter((device) => device.kind === kind);
|
|
1027
1057
|
const firstDevice = deviceList[0];
|
|
@@ -1033,7 +1063,7 @@ var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
|
|
|
1033
1063
|
var acquireTrack = async (device, constraints) => {
|
|
1034
1064
|
const { deviceId, label } = device;
|
|
1035
1065
|
log3.info(`requesting ${label}`, void 0, {
|
|
1036
|
-
F:
|
|
1066
|
+
F: __dxlog_file4,
|
|
1037
1067
|
L: 23,
|
|
1038
1068
|
S: void 0,
|
|
1039
1069
|
C: (f, a) => f(...a)
|
|
@@ -1083,8 +1113,20 @@ var START_SPEAKING_THRESHOLD = 0.05;
|
|
|
1083
1113
|
var CONTINUE_SPEAKING_THRESHOLD = 0.02;
|
|
1084
1114
|
var MIN_EVENT_INTERVAL = 100;
|
|
1085
1115
|
var SpeakingMonitor = class extends Resource3 {
|
|
1116
|
+
_mediaStreamTrack;
|
|
1117
|
+
/**
|
|
1118
|
+
* Event that is emitted when the user starts or stops speaking.
|
|
1119
|
+
* It is debounced to prevent rapid state changes.
|
|
1120
|
+
*/
|
|
1121
|
+
speakingChanged = new Event2();
|
|
1122
|
+
/**
|
|
1123
|
+
* Real state of the user speaking.
|
|
1124
|
+
*/
|
|
1125
|
+
_isSpeaking = false;
|
|
1126
|
+
_lastEventTime = 0;
|
|
1127
|
+
_deferredUpdate;
|
|
1086
1128
|
constructor(_mediaStreamTrack) {
|
|
1087
|
-
super(), this._mediaStreamTrack = _mediaStreamTrack
|
|
1129
|
+
super(), this._mediaStreamTrack = _mediaStreamTrack;
|
|
1088
1130
|
}
|
|
1089
1131
|
get isSpeaking() {
|
|
1090
1132
|
return this._isSpeaking;
|
|
@@ -1133,7 +1175,8 @@ var SpeakingMonitor = class extends Resource3 {
|
|
|
1133
1175
|
|
|
1134
1176
|
// src/calls/media-manager.ts
|
|
1135
1177
|
import { DeferredTask as DeferredTask3, Event as Event3, sleep as sleep2, synchronized as synchronized2 } from "@dxos/async";
|
|
1136
|
-
import {
|
|
1178
|
+
import { Resource as Resource4, cancelWithContext } from "@dxos/context";
|
|
1179
|
+
import { invariant as invariant4 } from "@dxos/invariant";
|
|
1137
1180
|
import { log as log4 } from "@dxos/log";
|
|
1138
1181
|
function _ts_decorate2(decorators, target, key, desc) {
|
|
1139
1182
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -1141,28 +1184,25 @@ function _ts_decorate2(decorators, target, key, desc) {
|
|
|
1141
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;
|
|
1142
1185
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1143
1186
|
}
|
|
1144
|
-
var
|
|
1187
|
+
var __dxlog_file5 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
|
|
1145
1188
|
var VIDEO_WIDTH = 1280;
|
|
1146
1189
|
var VIDEO_HEIGHT = 720;
|
|
1147
1190
|
var MAX_WEB_CAM_FRAMERATE = 24;
|
|
1148
1191
|
var MAX_WEB_CAM_BITRATE = 12e5;
|
|
1149
|
-
var RETRY_INTERVAL =
|
|
1150
|
-
var USE_INAUDIBLE_AUDIO =
|
|
1192
|
+
var RETRY_INTERVAL = 100;
|
|
1193
|
+
var USE_INAUDIBLE_AUDIO = true;
|
|
1151
1194
|
var MediaManager = class extends Resource4 {
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
this._pushTracksTask = void 0;
|
|
1164
|
-
this._pullTracksTask = void 0;
|
|
1165
|
-
}
|
|
1195
|
+
stateUpdated = new Event3();
|
|
1196
|
+
_state = {
|
|
1197
|
+
pulledVideoStreams: {},
|
|
1198
|
+
pulledAudioTracks: {}
|
|
1199
|
+
};
|
|
1200
|
+
_speakingMonitor = void 0;
|
|
1201
|
+
_trackToReconcile = [];
|
|
1202
|
+
_blackCanvasStreamTrack = void 0;
|
|
1203
|
+
_inaudibleAudioStreamTrack = void 0;
|
|
1204
|
+
_pushTracksTask = void 0;
|
|
1205
|
+
_pullTracksTask = void 0;
|
|
1166
1206
|
get isSpeaking() {
|
|
1167
1207
|
return this._speakingMonitor?.isSpeaking;
|
|
1168
1208
|
}
|
|
@@ -1301,8 +1341,8 @@ var MediaManager = class extends Resource4 {
|
|
|
1301
1341
|
}
|
|
1302
1342
|
async _reconcilePulledMedia() {
|
|
1303
1343
|
log4("reconciling tracks", void 0, {
|
|
1304
|
-
F:
|
|
1305
|
-
L:
|
|
1344
|
+
F: __dxlog_file5,
|
|
1345
|
+
L: 229,
|
|
1306
1346
|
S: this,
|
|
1307
1347
|
C: (f, a) => f(...a)
|
|
1308
1348
|
});
|
|
@@ -1319,12 +1359,12 @@ var MediaManager = class extends Resource4 {
|
|
|
1319
1359
|
currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
|
|
1320
1360
|
currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
|
|
1321
1361
|
}, {
|
|
1322
|
-
F:
|
|
1323
|
-
L:
|
|
1362
|
+
F: __dxlog_file5,
|
|
1363
|
+
L: 247,
|
|
1324
1364
|
S: this,
|
|
1325
1365
|
C: (f, a) => f(...a)
|
|
1326
1366
|
});
|
|
1327
|
-
await Promise.all(tracksToPull.map((name) => this._pullTrack(name)));
|
|
1367
|
+
const pullResults = await Promise.all(tracksToPull.map((name) => this._pullTrack(name)));
|
|
1328
1368
|
await Promise.all([
|
|
1329
1369
|
...audioTracksToClose,
|
|
1330
1370
|
...videoStreamsToClose
|
|
@@ -1333,55 +1373,102 @@ var MediaManager = class extends Resource4 {
|
|
|
1333
1373
|
currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
|
|
1334
1374
|
currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
|
|
1335
1375
|
}, {
|
|
1336
|
-
F:
|
|
1337
|
-
L:
|
|
1376
|
+
F: __dxlog_file5,
|
|
1377
|
+
L: 262,
|
|
1338
1378
|
S: this,
|
|
1339
1379
|
C: (f, a) => f(...a)
|
|
1340
1380
|
});
|
|
1341
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
|
+
}
|
|
1342
1403
|
}
|
|
1343
1404
|
async _pushTracks() {
|
|
1344
1405
|
if (!this._state.peer?.isOpen) {
|
|
1345
1406
|
return;
|
|
1346
1407
|
}
|
|
1347
1408
|
let updated = false;
|
|
1348
|
-
const [
|
|
1349
|
-
this.
|
|
1409
|
+
const [pushVideoResult, pushAudioResult, pushScreenshareResult] = await Promise.all([
|
|
1410
|
+
this._maybePushTrack(this._state.videoTrack, this._state.pushedVideoTrack, [
|
|
1350
1411
|
{
|
|
1351
1412
|
maxFramerate: MAX_WEB_CAM_FRAMERATE,
|
|
1352
1413
|
maxBitrate: MAX_WEB_CAM_BITRATE
|
|
1353
1414
|
}
|
|
1354
1415
|
]),
|
|
1355
|
-
this.
|
|
1416
|
+
this._maybePushTrack(this._state.audioTrack, this._state.pushedAudioTrack, [
|
|
1356
1417
|
{
|
|
1357
1418
|
networkPriority: "high"
|
|
1358
1419
|
}
|
|
1359
1420
|
]),
|
|
1360
|
-
this.
|
|
1421
|
+
this._maybePushTrack(this._state.screenshareTrack, this._state.pushedScreenshareTrack)
|
|
1361
1422
|
]);
|
|
1362
|
-
if (
|
|
1363
|
-
this._state.pushedVideoTrack =
|
|
1423
|
+
if (pushVideoResult.track !== this._state.pushedVideoTrack) {
|
|
1424
|
+
this._state.pushedVideoTrack = pushVideoResult.track;
|
|
1364
1425
|
updated = true;
|
|
1365
1426
|
}
|
|
1366
|
-
if (
|
|
1367
|
-
this._state.pushedAudioTrack =
|
|
1427
|
+
if (pushAudioResult.track !== this._state.pushedAudioTrack) {
|
|
1428
|
+
this._state.pushedAudioTrack = pushAudioResult.track;
|
|
1368
1429
|
updated = true;
|
|
1369
1430
|
}
|
|
1370
|
-
if (
|
|
1371
|
-
this._state.pushedScreenshareTrack =
|
|
1431
|
+
if (pushScreenshareResult.track !== this._state.pushedScreenshareTrack) {
|
|
1432
|
+
this._state.pushedScreenshareTrack = pushScreenshareResult.track;
|
|
1372
1433
|
updated = true;
|
|
1373
1434
|
}
|
|
1374
|
-
|
|
1375
|
-
|
|
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();
|
|
1376
1461
|
}
|
|
1377
|
-
this.stateUpdated.emit(this._state);
|
|
1378
1462
|
}
|
|
1379
1463
|
async _pullTrack(name) {
|
|
1380
1464
|
const ctx = this._ctx.derive();
|
|
1381
1465
|
try {
|
|
1382
1466
|
const trackData = TrackNameCodec.decode(name);
|
|
1383
1467
|
const track = await this._state.peer.pullTrack({
|
|
1384
|
-
trackData
|
|
1468
|
+
trackData: {
|
|
1469
|
+
...trackData,
|
|
1470
|
+
mid: void 0
|
|
1471
|
+
},
|
|
1385
1472
|
ctx
|
|
1386
1473
|
});
|
|
1387
1474
|
if (track?.readyState === "ended") {
|
|
@@ -1394,7 +1481,9 @@ var MediaManager = class extends Resource4 {
|
|
|
1394
1481
|
ctx
|
|
1395
1482
|
};
|
|
1396
1483
|
ctx.onDispose(() => delete this._state.pulledAudioTracks[name]);
|
|
1397
|
-
|
|
1484
|
+
return {
|
|
1485
|
+
shouldRetry: false
|
|
1486
|
+
};
|
|
1398
1487
|
}
|
|
1399
1488
|
case "video": {
|
|
1400
1489
|
const mediaStream = new MediaStream();
|
|
@@ -1408,43 +1497,62 @@ var MediaManager = class extends Resource4 {
|
|
|
1408
1497
|
track.stop();
|
|
1409
1498
|
delete this._state.pulledVideoStreams[name];
|
|
1410
1499
|
});
|
|
1411
|
-
|
|
1500
|
+
return {
|
|
1501
|
+
shouldRetry: false
|
|
1502
|
+
};
|
|
1412
1503
|
}
|
|
1413
1504
|
default:
|
|
1414
1505
|
throw new Error(`Invalid track kind: ${track?.kind}`);
|
|
1415
1506
|
}
|
|
1416
1507
|
} catch (err) {
|
|
1417
|
-
log4.
|
|
1508
|
+
log4.info("failed to pull track", {
|
|
1418
1509
|
err,
|
|
1419
1510
|
name
|
|
1420
1511
|
}, {
|
|
1421
|
-
F:
|
|
1422
|
-
L:
|
|
1512
|
+
F: __dxlog_file5,
|
|
1513
|
+
L: 347,
|
|
1423
1514
|
S: this,
|
|
1424
1515
|
C: (f, a) => f(...a)
|
|
1425
1516
|
});
|
|
1426
1517
|
void ctx.dispose();
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
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
|
|
1430
1545
|
}, {
|
|
1431
|
-
F:
|
|
1432
|
-
L:
|
|
1546
|
+
F: __dxlog_file5,
|
|
1547
|
+
L: 373,
|
|
1433
1548
|
S: this,
|
|
1434
1549
|
C: (f, a) => f(...a)
|
|
1435
1550
|
});
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
if (!track && !previousTrack) {
|
|
1441
|
-
return;
|
|
1551
|
+
void ctx.dispose();
|
|
1552
|
+
return {
|
|
1553
|
+
shouldRetry: true
|
|
1554
|
+
};
|
|
1442
1555
|
}
|
|
1443
|
-
return this._state.peer.pushTrack({
|
|
1444
|
-
track: track ?? null,
|
|
1445
|
-
previousTrack,
|
|
1446
|
-
encodings
|
|
1447
|
-
});
|
|
1448
1556
|
}
|
|
1449
1557
|
};
|
|
1450
1558
|
_ts_decorate2([
|
|
@@ -1455,11 +1563,10 @@ _ts_decorate2([
|
|
|
1455
1563
|
], MediaManager.prototype, "leave", null);
|
|
1456
1564
|
|
|
1457
1565
|
// src/calls/call-manager.ts
|
|
1458
|
-
import {
|
|
1566
|
+
import { Atom } from "@effect-atom/atom-react";
|
|
1459
1567
|
import { Event as Event4, synchronized as synchronized3 } from "@dxos/async";
|
|
1460
1568
|
import { Resource as Resource5 } from "@dxos/context";
|
|
1461
|
-
import { invariant as
|
|
1462
|
-
import { live } from "@dxos/live-object";
|
|
1569
|
+
import { invariant as invariant5 } from "@dxos/invariant";
|
|
1463
1570
|
import { isNonNullable as isNonNullable2 } from "@dxos/util";
|
|
1464
1571
|
function _ts_decorate3(decorators, target, key, desc) {
|
|
1465
1572
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -1467,55 +1574,92 @@ function _ts_decorate3(decorators, target, key, desc) {
|
|
|
1467
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;
|
|
1468
1575
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1469
1576
|
}
|
|
1470
|
-
var
|
|
1577
|
+
var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
|
|
1471
1578
|
var CallManager = class extends Resource5 {
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
get
|
|
1494
|
-
|
|
1495
|
-
}
|
|
1496
|
-
|
|
1497
|
-
get
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1579
|
+
_client;
|
|
1580
|
+
_registry;
|
|
1581
|
+
callStateUpdated = new Event4();
|
|
1582
|
+
// TODO(wittjosiah): Consolidate isSpeaking into the MediaState type.
|
|
1583
|
+
mediaStateUpdated = new Event4();
|
|
1584
|
+
left = new Event4();
|
|
1585
|
+
/**
|
|
1586
|
+
* Atom-based state. Updated via `_updateState()`.
|
|
1587
|
+
* CAUTION: Do not change directly.
|
|
1588
|
+
*/
|
|
1589
|
+
_stateAtom = Atom.make({
|
|
1590
|
+
call: {},
|
|
1591
|
+
media: {
|
|
1592
|
+
pulledAudioTracks: {},
|
|
1593
|
+
pulledVideoStreams: {}
|
|
1594
|
+
}
|
|
1595
|
+
});
|
|
1596
|
+
// Derived atoms for reactive subscriptions.
|
|
1597
|
+
_roomIdAtom = Atom.make((get) => get(this._stateAtom).call.roomId);
|
|
1598
|
+
_raisedHandAtom = Atom.make((get) => get(this._stateAtom).call.raisedHand ?? false);
|
|
1599
|
+
_speakingAtom = Atom.make((get) => get(this._stateAtom).call.speaking ?? false);
|
|
1600
|
+
_joinedAtom = Atom.make((get) => get(this._stateAtom).call.joined ?? false);
|
|
1601
|
+
_selfAtom = Atom.make((get) => get(this._stateAtom).call.self ?? {});
|
|
1602
|
+
_tracksAtom = Atom.make((get) => get(this._stateAtom).call.tracks ?? {});
|
|
1603
|
+
_usersAtom = Atom.make((get) => get(this._stateAtom).call.users ?? []);
|
|
1604
|
+
_mediaAtom = Atom.make((get) => get(this._stateAtom).media);
|
|
1605
|
+
_audioTracksToPlayAtom = Atom.make((get) => {
|
|
1606
|
+
const state = get(this._stateAtom);
|
|
1607
|
+
return (state.call.users ?? []).map((user) => user.tracks?.audioEnabled ? user.tracks?.audio : void 0).filter(isNonNullable2).map((track) => state.media.pulledAudioTracks[track]?.track).filter(isNonNullable2);
|
|
1608
|
+
});
|
|
1609
|
+
_videoStreamAtomFamily = Atom.family((name) => Atom.make((get) => get(this._stateAtom).media.pulledVideoStreams[name]?.stream));
|
|
1610
|
+
_activityAtomFamily = Atom.family((key) => Atom.make((get) => get(this._stateAtom).call.activities?.[key]));
|
|
1611
|
+
_swarmSynchronizer;
|
|
1612
|
+
_mediaManager;
|
|
1613
|
+
//
|
|
1614
|
+
// Derived atoms for reactive UI subscriptions.
|
|
1615
|
+
//
|
|
1616
|
+
/** Derived atom for roomId. */
|
|
1617
|
+
get roomIdAtom() {
|
|
1618
|
+
return this._roomIdAtom;
|
|
1619
|
+
}
|
|
1620
|
+
/** Derived atom for raisedHand. */
|
|
1621
|
+
get raisedHandAtom() {
|
|
1622
|
+
return this._raisedHandAtom;
|
|
1623
|
+
}
|
|
1624
|
+
/** Derived atom for speaking. */
|
|
1625
|
+
get speakingAtom() {
|
|
1626
|
+
return this._speakingAtom;
|
|
1627
|
+
}
|
|
1628
|
+
/** Derived atom for joined. */
|
|
1629
|
+
get joinedAtom() {
|
|
1630
|
+
return this._joinedAtom;
|
|
1631
|
+
}
|
|
1632
|
+
/** Derived atom for self. */
|
|
1633
|
+
get selfAtom() {
|
|
1634
|
+
return this._selfAtom;
|
|
1635
|
+
}
|
|
1636
|
+
/** Derived atom for tracks. */
|
|
1637
|
+
get tracksAtom() {
|
|
1638
|
+
return this._tracksAtom;
|
|
1639
|
+
}
|
|
1640
|
+
/** Derived atom for users. */
|
|
1641
|
+
get usersAtom() {
|
|
1642
|
+
return this._usersAtom;
|
|
1643
|
+
}
|
|
1644
|
+
/** Derived atom for media. */
|
|
1645
|
+
get mediaAtom() {
|
|
1646
|
+
return this._mediaAtom;
|
|
1647
|
+
}
|
|
1648
|
+
/** Derived atom for audioTracksToPlay. */
|
|
1649
|
+
get audioTracksToPlayAtom() {
|
|
1650
|
+
return this._audioTracksToPlayAtom;
|
|
1651
|
+
}
|
|
1652
|
+
/** Returns the full state atom for reactive subscriptions. */
|
|
1653
|
+
get stateAtom() {
|
|
1654
|
+
return this._stateAtom;
|
|
1655
|
+
}
|
|
1656
|
+
/** Returns a derived atom for a video stream by name. */
|
|
1657
|
+
videoStreamAtom(name) {
|
|
1658
|
+
return this._videoStreamAtomFamily(name);
|
|
1659
|
+
}
|
|
1660
|
+
/** Returns a derived atom for an activity by key. */
|
|
1661
|
+
activityAtom(key) {
|
|
1662
|
+
return this._activityAtomFamily(key);
|
|
1519
1663
|
}
|
|
1520
1664
|
setRoomId(roomId) {
|
|
1521
1665
|
this._swarmSynchronizer._setRoomId(roomId);
|
|
@@ -1548,19 +1692,13 @@ var CallManager = class extends Resource5 {
|
|
|
1548
1692
|
return this._mediaManager.turnScreenshareOff();
|
|
1549
1693
|
}
|
|
1550
1694
|
// TODO(burdon): Can this be mocked?
|
|
1551
|
-
constructor(_client) {
|
|
1552
|
-
super(), this._client = _client, this.
|
|
1553
|
-
call: {},
|
|
1554
|
-
media: {
|
|
1555
|
-
pulledAudioTracks: {},
|
|
1556
|
-
pulledVideoStreams: {}
|
|
1557
|
-
}
|
|
1558
|
-
}), this._raisedHandSignal = computed(() => this._state.call.raisedHand ?? false), this._speakingSignal = computed(() => this._state.call.speaking ?? false), this._joinedSignal = computed(() => this._state.call.joined ?? false);
|
|
1695
|
+
constructor(_client, _registry) {
|
|
1696
|
+
super(), this._client = _client, this._registry = _registry;
|
|
1559
1697
|
this._client.config.getOrThrow("runtime.services.edge.url");
|
|
1560
1698
|
const networkService = this._client.services.services.NetworkService;
|
|
1561
|
-
|
|
1562
|
-
F:
|
|
1563
|
-
L:
|
|
1699
|
+
invariant5(networkService, "network service not found", {
|
|
1700
|
+
F: __dxlog_file6,
|
|
1701
|
+
L: 180,
|
|
1564
1702
|
S: this,
|
|
1565
1703
|
A: [
|
|
1566
1704
|
"networkService",
|
|
@@ -1609,10 +1747,11 @@ var CallManager = class extends Resource5 {
|
|
|
1609
1747
|
this._swarmSynchronizer.setJoined(false);
|
|
1610
1748
|
await this._swarmSynchronizer.leave();
|
|
1611
1749
|
await this._mediaManager.leave();
|
|
1612
|
-
|
|
1750
|
+
const roomId = this._registry.get(this._roomIdAtom);
|
|
1751
|
+
roomId && this.left.emit(roomId);
|
|
1613
1752
|
}
|
|
1614
1753
|
_onCallStateUpdated(state) {
|
|
1615
|
-
const tracksToPull = state.users?.filter((user) => user.joined && user.id !== state.self
|
|
1754
|
+
const tracksToPull = state.users?.filter((user) => user.joined && user.id !== state.self.id)?.flatMap((user) => [
|
|
1616
1755
|
user.tracks?.video,
|
|
1617
1756
|
user.tracks?.audio,
|
|
1618
1757
|
user.tracks?.screenshare
|
|
@@ -1642,8 +1781,10 @@ var CallManager = class extends Resource5 {
|
|
|
1642
1781
|
* Only this method is allowed to change state.
|
|
1643
1782
|
*/
|
|
1644
1783
|
_updateState() {
|
|
1645
|
-
this.
|
|
1646
|
-
|
|
1784
|
+
this._registry.set(this._stateAtom, {
|
|
1785
|
+
call: this._swarmSynchronizer._getState(),
|
|
1786
|
+
media: this._mediaManager._getState()
|
|
1787
|
+
});
|
|
1647
1788
|
}
|
|
1648
1789
|
};
|
|
1649
1790
|
_ts_decorate3([
|
|
@@ -1667,4 +1808,4 @@ export {
|
|
|
1667
1808
|
MediaManager,
|
|
1668
1809
|
CallManager
|
|
1669
1810
|
};
|
|
1670
|
-
//# sourceMappingURL=chunk-
|
|
1811
|
+
//# sourceMappingURL=chunk-QP3KQOPQ.mjs.map
|