@dxos/plugin-thread 0.8.4-main.9be5663bfe → 0.8.4-main.abd8ff62ef
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/{add-message-A33GVGQX.mjs → add-message-LRVGIHDH.mjs} +9 -17
- package/dist/lib/browser/add-message-LRVGIHDH.mjs.map +7 -0
- package/dist/lib/browser/append-channel-message-CO3M6FSA.mjs +40 -0
- package/dist/lib/browser/append-channel-message-CO3M6FSA.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +1 -1
- package/dist/lib/browser/blueprints/index.mjs.map +3 -3
- package/dist/lib/browser/chunk-E4GG3NX2.mjs +29 -0
- package/dist/lib/browser/chunk-E4GG3NX2.mjs.map +7 -0
- package/dist/lib/browser/{chunk-2QNKWX4H.mjs → chunk-TPNZ43NB.mjs} +15 -16
- package/dist/lib/browser/chunk-TPNZ43NB.mjs.map +7 -0
- package/dist/lib/browser/{create-N2ZVTONJ.mjs → create-BTGLHLBA.mjs} +9 -9
- package/dist/lib/browser/create-BTGLHLBA.mjs.map +7 -0
- package/dist/lib/browser/{create-channel-Y4H3535D.mjs → create-channel-ZXKSLHGN.mjs} +5 -7
- package/dist/lib/browser/create-channel-ZXKSLHGN.mjs.map +7 -0
- package/dist/lib/browser/{create-proposals-VTOSWUOX.mjs → create-proposals-AV5CREPV.mjs} +3 -4
- package/dist/lib/browser/create-proposals-AV5CREPV.mjs.map +7 -0
- package/dist/lib/browser/{delete-QZZE655Y.mjs → delete-GLYEP7NE.mjs} +6 -6
- package/dist/lib/browser/delete-GLYEP7NE.mjs.map +7 -0
- package/dist/lib/browser/{delete-message-WQAZLYBO.mjs → delete-message-RQ72ZY5D.mjs} +5 -14
- package/dist/lib/browser/delete-message-RQ72ZY5D.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +79 -592
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{on-create-space-2UGS234J.mjs → on-create-space-SPE3QVFZ.mjs} +3 -4
- package/dist/lib/browser/on-create-space-SPE3QVFZ.mjs.map +7 -0
- package/dist/lib/browser/operations/index.mjs +3 -4
- package/dist/lib/browser/operations/index.mjs.map +3 -3
- package/dist/lib/browser/{restore-KKQHFLYO.mjs → restore-VX7FLZOZ.mjs} +3 -4
- package/dist/lib/browser/restore-VX7FLZOZ.mjs.map +7 -0
- package/dist/lib/browser/{restore-message-VOP2UE7N.mjs → restore-message-D65NSWUA.mjs} +5 -14
- package/dist/lib/browser/restore-message-D65NSWUA.mjs.map +7 -0
- package/dist/lib/browser/{select-VBJ3MBLN.mjs → select-AT4L7EBU.mjs} +6 -6
- package/dist/lib/browser/{select-VBJ3MBLN.mjs.map → select-AT4L7EBU.mjs.map} +1 -1
- package/dist/lib/browser/{toggle-resolved-GIYF3KWJ.mjs → toggle-resolved-JD3D4WBZ.mjs} +5 -14
- package/dist/lib/browser/toggle-resolved-JD3D4WBZ.mjs.map +7 -0
- package/dist/lib/browser/translations.mjs +90 -0
- package/dist/lib/browser/translations.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +1 -3
- package/dist/lib/node-esm/{add-message-E6XC6E3Z.mjs → add-message-4EAQ2ZPI.mjs} +9 -17
- package/dist/lib/node-esm/add-message-4EAQ2ZPI.mjs.map +7 -0
- package/dist/lib/node-esm/append-channel-message-F7KGBSWP.mjs +41 -0
- package/dist/lib/node-esm/append-channel-message-F7KGBSWP.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +1 -1
- package/dist/lib/node-esm/blueprints/index.mjs.map +3 -3
- package/dist/lib/node-esm/chunk-BVEZBGIY.mjs +30 -0
- package/dist/lib/node-esm/chunk-BVEZBGIY.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-I6LAZYVU.mjs → chunk-XKUMDYGR.mjs} +15 -16
- package/dist/lib/node-esm/chunk-XKUMDYGR.mjs.map +7 -0
- package/dist/lib/node-esm/{create-A6XQZR7M.mjs → create-DEZFPN2Y.mjs} +9 -9
- package/dist/lib/node-esm/create-DEZFPN2Y.mjs.map +7 -0
- package/dist/lib/node-esm/{create-channel-KA5T23ZS.mjs → create-channel-6VHTC2OR.mjs} +5 -7
- package/dist/lib/node-esm/create-channel-6VHTC2OR.mjs.map +7 -0
- package/dist/lib/node-esm/{create-proposals-HDBVDNUX.mjs → create-proposals-P5O2ICOL.mjs} +3 -4
- package/dist/lib/{browser/create-proposals-VTOSWUOX.mjs.map → node-esm/create-proposals-P5O2ICOL.mjs.map} +3 -3
- package/dist/lib/node-esm/{delete-3RAWD5GG.mjs → delete-QG45QLPY.mjs} +6 -6
- package/dist/lib/node-esm/delete-QG45QLPY.mjs.map +7 -0
- package/dist/lib/node-esm/{delete-message-W4XFE4KW.mjs → delete-message-PGNLB6TL.mjs} +5 -14
- package/dist/lib/node-esm/delete-message-PGNLB6TL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +79 -592
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{on-create-space-ZURB6UKR.mjs → on-create-space-TFBSHWQ4.mjs} +3 -4
- package/dist/lib/{browser/on-create-space-2UGS234J.mjs.map → node-esm/on-create-space-TFBSHWQ4.mjs.map} +1 -1
- package/dist/lib/node-esm/operations/index.mjs +3 -4
- package/dist/lib/node-esm/operations/index.mjs.map +3 -3
- package/dist/lib/node-esm/{restore-PDYEKDE3.mjs → restore-E27OAIFJ.mjs} +3 -4
- package/dist/lib/node-esm/restore-E27OAIFJ.mjs.map +7 -0
- package/dist/lib/node-esm/{restore-message-O5XC34MW.mjs → restore-message-J3CH6NGI.mjs} +5 -14
- package/dist/lib/node-esm/restore-message-J3CH6NGI.mjs.map +7 -0
- package/dist/lib/node-esm/{select-6KETLVWY.mjs → select-UU6Q2XAB.mjs} +6 -6
- package/dist/lib/node-esm/{select-6KETLVWY.mjs.map → select-UU6Q2XAB.mjs.map} +1 -1
- package/dist/lib/node-esm/{toggle-resolved-QR3SOXR7.mjs → toggle-resolved-VS6NKXL3.mjs} +5 -14
- package/dist/lib/node-esm/toggle-resolved-VS6NKXL3.mjs.map +7 -0
- package/dist/lib/node-esm/translations.mjs +91 -0
- package/dist/lib/node-esm/translations.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +1 -3
- package/dist/types/src/ThreadPlugin.d.ts +1 -0
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
- package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
- package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
- package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/thread-blueprint.d.ts +2 -2
- package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -1
- package/dist/types/src/calls/call-manager.d.ts.map +1 -1
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +1 -1
- package/dist/types/src/calls/media-manager.d.ts.map +1 -1
- package/dist/types/src/calls/speaking-monitor.d.ts +0 -3
- package/dist/types/src/calls/speaking-monitor.d.ts.map +1 -1
- package/dist/types/src/calls/types.d.ts.map +1 -1
- package/dist/types/src/calls/util/audio.d.ts.map +1 -1
- package/dist/types/src/calls/util/calls-service.d.ts +2 -2
- package/dist/types/src/calls/util/calls-service.d.ts.map +1 -1
- package/dist/types/src/calls/util/history-cache.d.ts.map +1 -1
- package/dist/types/src/calls/util/media.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.map +1 -1
- package/dist/types/src/calls-service.stories.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +2 -2
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/call-manager.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +4 -4
- package/dist/types/src/capabilities/index.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/operation-handler.d.ts +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +2 -1
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -1
- package/dist/types/src/components/Call/Call.d.ts +32 -4
- package/dist/types/src/components/Call/Call.d.ts.map +1 -1
- package/dist/types/src/components/Call/Toolbar.d.ts +5 -5
- package/dist/types/src/components/Call/Toolbar.d.ts.map +1 -1
- package/dist/types/src/components/Chat/Chat.d.ts +44 -0
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
- package/dist/types/src/components/Chat/index.d.ts +2 -0
- package/dist/types/src/components/Chat/index.d.ts.map +1 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -1
- package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +70 -70
- package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -1
- package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -1
- package/dist/types/src/components/Lobby/Lobby.d.ts +24 -3
- package/dist/types/src/components/Lobby/Lobby.d.ts.map +1 -1
- package/dist/types/src/components/Media/VideoObject.d.ts +1 -1
- package/dist/types/src/components/Media/VideoObject.stories.d.ts +1 -1
- package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
- package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -1
- package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +70 -70
- 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/ResponsivePanel.d.ts.map +1 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts +70 -70
- package/dist/types/src/components/ResponsiveGrid/ResponsivePanel.stories.d.ts.map +1 -1
- package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -1
- package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +70 -70
- package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/CallDebugPanel/CallDebugPanel.d.ts.map +1 -1
- package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +16 -0
- package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
- package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts +1 -1
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.d.ts.map +1 -1
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts +70 -70
- package/dist/types/src/containers/ChannelContainer/ChannelContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ThreadCompanion/ThreadCompanion.d.ts.map +1 -1
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
- package/dist/types/src/containers/{ChatContainer/ChatContainer.stories.d.ts → ThreadContainer/ThreadContainer.stories.d.ts} +71 -71
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
- package/dist/types/src/containers/ThreadContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +2 -1
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/extensions/threads.d.ts +2 -2
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/hooks/analytics.d.ts.map +1 -1
- package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/operations/add-message.d.ts +1 -1
- package/dist/types/src/operations/add-message.d.ts.map +1 -1
- package/dist/types/src/operations/append-channel-message.d.ts +5 -0
- package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
- package/dist/types/src/operations/create-channel.d.ts +1 -1
- package/dist/types/src/operations/create-channel.d.ts.map +1 -1
- package/dist/types/src/operations/create-proposals.d.ts +1 -1
- package/dist/types/src/operations/create-proposals.d.ts.map +1 -1
- package/dist/types/src/operations/create.d.ts +1 -1
- package/dist/types/src/operations/create.d.ts.map +1 -1
- package/dist/types/src/operations/definitions.d.ts +855 -1649
- package/dist/types/src/operations/definitions.d.ts.map +1 -1
- package/dist/types/src/operations/delete-message.d.ts +1 -1
- package/dist/types/src/operations/delete-message.d.ts.map +1 -1
- package/dist/types/src/operations/delete.d.ts +1 -1
- package/dist/types/src/operations/delete.d.ts.map +1 -1
- package/dist/types/src/operations/index.d.ts +1 -1
- package/dist/types/src/operations/index.d.ts.map +1 -1
- package/dist/types/src/operations/on-create-space.d.ts +1 -1
- package/dist/types/src/operations/on-create-space.d.ts.map +1 -1
- package/dist/types/src/operations/restore-message.d.ts +1 -1
- package/dist/types/src/operations/restore-message.d.ts.map +1 -1
- package/dist/types/src/operations/restore.d.ts +1 -1
- package/dist/types/src/operations/restore.d.ts.map +1 -1
- package/dist/types/src/operations/select.d.ts +1 -1
- package/dist/types/src/operations/select.d.ts.map +1 -1
- package/dist/types/src/operations/toggle-resolved.d.ts +1 -1
- package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -1
- package/dist/types/src/testing/data.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +1 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +70 -70
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Settings.d.ts +2 -1
- package/dist/types/src/types/Settings.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +4 -2
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +0 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +2 -2
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +65 -67
- package/src/ThreadPlugin.node.ts +84 -0
- package/src/ThreadPlugin.test.ts +37 -0
- package/src/ThreadPlugin.tsx +8 -8
- package/src/blueprints/thread-blueprint.ts +2 -3
- package/src/calls/util/calls-service.ts +3 -1
- package/src/calls/util/stub-media-streams.ts +3 -1
- package/src/calls-service.stories.tsx +4 -4
- package/src/capabilities/app-graph-builder.ts +3 -2
- package/src/capabilities/blueprint-definition.ts +2 -0
- package/src/capabilities/index.ts +2 -1
- package/src/capabilities/markdown.ts +10 -6
- package/src/capabilities/operation-handler.ts +1 -1
- package/src/capabilities/react-surface.tsx +24 -17
- package/src/components/Call/Call.tsx +5 -5
- package/src/components/Call/Toolbar.tsx +1 -1
- package/src/components/Chat/Chat.tsx +218 -0
- package/src/components/Chat/index.ts +5 -0
- package/src/components/CommentsPanel/CommentsPanel.stories.tsx +5 -3
- package/src/components/Lobby/Lobby.tsx +5 -4
- package/src/components/MessagePanel/MessagePanel.tsx +3 -3
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +2 -1
- package/src/components/ResponsiveGrid/ResponsivePanel.stories.tsx +2 -1
- package/src/components/ThreadSettings/ThreadSettings.stories.tsx +2 -1
- package/src/components/index.ts +1 -0
- package/src/containers/ChannelChat/ChannelChat.tsx +65 -0
- package/src/containers/ChannelChat/index.ts +8 -0
- package/src/containers/ChannelContainer/ChannelContainer.stories.tsx +54 -10
- package/src/containers/ChannelContainer/ChannelContainer.tsx +4 -4
- package/src/containers/{ChatContainer/ChatContainer.stories.tsx → ThreadContainer/ThreadContainer.stories.tsx} +10 -11
- package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
- package/src/containers/ThreadContainer/index.ts +8 -0
- package/src/containers/index.ts +2 -1
- package/src/extensions/threads.ts +7 -7
- package/src/index.ts +10 -3
- package/src/operations/add-message.ts +3 -3
- package/src/operations/append-channel-message.ts +36 -0
- package/src/operations/create-channel.ts +2 -2
- package/src/operations/create-proposals.ts +1 -1
- package/src/operations/create.ts +4 -4
- package/src/operations/definitions.ts +9 -9
- package/src/operations/delete-message.ts +2 -2
- package/src/operations/delete.ts +1 -1
- package/src/operations/index.ts +2 -2
- package/src/operations/on-create-space.ts +1 -1
- package/src/operations/restore-message.ts +2 -2
- package/src/operations/restore.ts +1 -1
- package/src/operations/select.ts +1 -1
- package/src/operations/toggle-resolved.ts +2 -2
- package/src/testing/index.ts +1 -1
- package/src/translations.ts +1 -1
- package/src/types/Settings.ts +1 -1
- package/src/types/capabilities.ts +2 -1
- package/src/types/index.ts +0 -1
- package/dist/lib/browser/add-message-A33GVGQX.mjs.map +0 -7
- package/dist/lib/browser/chunk-2QNKWX4H.mjs.map +0 -7
- package/dist/lib/browser/chunk-7T7J6ZR6.mjs +0 -61
- package/dist/lib/browser/chunk-7T7J6ZR6.mjs.map +0 -7
- package/dist/lib/browser/create-N2ZVTONJ.mjs.map +0 -7
- package/dist/lib/browser/create-channel-Y4H3535D.mjs.map +0 -7
- package/dist/lib/browser/create-channel-thread-6N7TKEAW.mjs +0 -28
- package/dist/lib/browser/create-channel-thread-6N7TKEAW.mjs.map +0 -7
- package/dist/lib/browser/delete-QZZE655Y.mjs.map +0 -7
- package/dist/lib/browser/delete-message-WQAZLYBO.mjs.map +0 -7
- package/dist/lib/browser/restore-KKQHFLYO.mjs.map +0 -7
- package/dist/lib/browser/restore-message-VOP2UE7N.mjs.map +0 -7
- package/dist/lib/browser/toggle-resolved-GIYF3KWJ.mjs.map +0 -7
- package/dist/lib/node-esm/add-message-E6XC6E3Z.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-I6LAZYVU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UGSMYQLZ.mjs +0 -62
- package/dist/lib/node-esm/chunk-UGSMYQLZ.mjs.map +0 -7
- package/dist/lib/node-esm/create-A6XQZR7M.mjs.map +0 -7
- package/dist/lib/node-esm/create-channel-KA5T23ZS.mjs.map +0 -7
- package/dist/lib/node-esm/create-channel-thread-44PXAPGM.mjs +0 -29
- package/dist/lib/node-esm/create-channel-thread-44PXAPGM.mjs.map +0 -7
- package/dist/lib/node-esm/create-proposals-HDBVDNUX.mjs.map +0 -7
- package/dist/lib/node-esm/delete-3RAWD5GG.mjs.map +0 -7
- package/dist/lib/node-esm/delete-message-W4XFE4KW.mjs.map +0 -7
- package/dist/lib/node-esm/on-create-space-ZURB6UKR.mjs.map +0 -7
- package/dist/lib/node-esm/restore-PDYEKDE3.mjs.map +0 -7
- package/dist/lib/node-esm/restore-message-O5XC34MW.mjs.map +0 -7
- package/dist/lib/node-esm/toggle-resolved-QR3SOXR7.mjs.map +0 -7
- package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +0 -16
- package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +0 -1
- package/dist/types/src/containers/ChatContainer/ChatContainer.stories.d.ts.map +0 -1
- package/dist/types/src/containers/ChatContainer/index.d.ts +0 -4
- package/dist/types/src/containers/ChatContainer/index.d.ts.map +0 -1
- package/dist/types/src/operations/create-channel-thread.d.ts +0 -5
- package/dist/types/src/operations/create-channel-thread.d.ts.map +0 -1
- package/dist/types/src/testing/stories.d.ts +0 -3
- package/dist/types/src/testing/stories.d.ts.map +0 -1
- package/dist/types/src/types/Channel.d.ts +0 -711
- package/dist/types/src/types/Channel.d.ts.map +0 -1
- package/src/containers/ChatContainer/ChatContainer.tsx +0 -131
- package/src/containers/ChatContainer/index.ts +0 -8
- package/src/operations/create-channel-thread.ts +0 -26
- package/src/testing/stories.ts +0 -51
- package/src/types/Channel.ts +0 -37
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ThreadCapabilities
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-E4GG3NX2.mjs";
|
|
4
4
|
import "./chunk-J5LGTIGS.mjs";
|
|
5
5
|
|
|
6
|
+
// src/index.ts
|
|
7
|
+
import { Plugin } from "@dxos/app-framework";
|
|
8
|
+
|
|
9
|
+
// src/meta.ts
|
|
10
|
+
import { trim } from "@dxos/util";
|
|
11
|
+
var meta = {
|
|
12
|
+
id: "org.dxos.plugin.thread",
|
|
13
|
+
name: "Chat",
|
|
14
|
+
description: trim`
|
|
15
|
+
Multi-modal communication platform supporting text chat, voice, and video conferencing.
|
|
16
|
+
Create threaded conversations and add contextual comments directly on any workspace object.
|
|
17
|
+
`,
|
|
18
|
+
icon: "ph--video-conference--regular",
|
|
19
|
+
iconHue: "rose",
|
|
20
|
+
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread"
|
|
21
|
+
};
|
|
22
|
+
var THREAD_ITEM = `${meta.id}.item`;
|
|
23
|
+
|
|
6
24
|
// src/calls/call-manager.ts
|
|
7
25
|
import { Atom } from "@effect-atom/atom-react";
|
|
8
26
|
import { Event as Event4, synchronized as synchronized3 } from "@dxos/async";
|
|
@@ -39,33 +57,9 @@ var codec = {
|
|
|
39
57
|
};
|
|
40
58
|
var TrackNameCodec = {
|
|
41
59
|
encode: (trackData) => {
|
|
42
|
-
invariant(trackData.sessionId, void 0, {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
S: void 0,
|
|
46
|
-
A: [
|
|
47
|
-
"trackData.sessionId",
|
|
48
|
-
""
|
|
49
|
-
]
|
|
50
|
-
});
|
|
51
|
-
invariant(trackData.trackName, void 0, {
|
|
52
|
-
F: __dxlog_file,
|
|
53
|
-
L: 66,
|
|
54
|
-
S: void 0,
|
|
55
|
-
A: [
|
|
56
|
-
"trackData.trackName",
|
|
57
|
-
""
|
|
58
|
-
]
|
|
59
|
-
});
|
|
60
|
-
invariant(trackData.mid, void 0, {
|
|
61
|
-
F: __dxlog_file,
|
|
62
|
-
L: 67,
|
|
63
|
-
S: void 0,
|
|
64
|
-
A: [
|
|
65
|
-
"trackData.mid",
|
|
66
|
-
""
|
|
67
|
-
]
|
|
68
|
-
});
|
|
60
|
+
invariant(trackData.sessionId, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 20, S: void 0, A: ["trackData.sessionId", ""] });
|
|
61
|
+
invariant(trackData.trackName, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 21, S: void 0, A: ["trackData.trackName", ""] });
|
|
62
|
+
invariant(trackData.mid, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 22, S: void 0, A: ["trackData.mid", ""] });
|
|
69
63
|
return trackData.sessionId + "/" + trackData.trackName + "/" + trackData.mid;
|
|
70
64
|
},
|
|
71
65
|
decode: (name) => {
|
|
@@ -80,13 +74,13 @@ var TrackNameCodec = {
|
|
|
80
74
|
};
|
|
81
75
|
|
|
82
76
|
// src/calls/call-swarm-synchronizer.ts
|
|
77
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
|
|
83
78
|
function _ts_decorate(decorators, target, key, desc) {
|
|
84
79
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
85
80
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
86
81
|
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;
|
|
87
82
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
88
83
|
}
|
|
89
|
-
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-swarm-synchronizer.ts";
|
|
90
84
|
var DISCONNECTED_ABRUPT_TIMEOUT = 1e4;
|
|
91
85
|
var CallSwarmSynchronizer = class extends Resource {
|
|
92
86
|
stateUpdated = new Event();
|
|
@@ -169,12 +163,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
169
163
|
if (this._swarmCtx) {
|
|
170
164
|
log.verbose("joined to a different room", {
|
|
171
165
|
roomId
|
|
172
|
-
}, {
|
|
173
|
-
F: __dxlog_file2,
|
|
174
|
-
L: 152,
|
|
175
|
-
S: this,
|
|
176
|
-
C: (f, a) => f(...a)
|
|
177
|
-
});
|
|
166
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 102, S: this });
|
|
178
167
|
return;
|
|
179
168
|
}
|
|
180
169
|
this._state.roomId = roomId;
|
|
@@ -192,28 +181,9 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
192
181
|
this._reconcileSwarmStateTask = void 0;
|
|
193
182
|
}
|
|
194
183
|
async join() {
|
|
195
|
-
invariant2(this._state.roomId, void 0, {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
S: this,
|
|
199
|
-
A: [
|
|
200
|
-
"this._state.roomId",
|
|
201
|
-
""
|
|
202
|
-
]
|
|
203
|
-
});
|
|
204
|
-
invariant2(!this._swarmCtx, "Already joined", {
|
|
205
|
-
F: __dxlog_file2,
|
|
206
|
-
L: 177,
|
|
207
|
-
S: this,
|
|
208
|
-
A: [
|
|
209
|
-
"!this._swarmCtx",
|
|
210
|
-
"'Already joined'"
|
|
211
|
-
]
|
|
212
|
-
});
|
|
213
|
-
this._swarmCtx = new Context(void 0, {
|
|
214
|
-
F: __dxlog_file2,
|
|
215
|
-
L: 179
|
|
216
|
-
});
|
|
184
|
+
invariant2(this._state.roomId, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 122, S: this, A: ["this._state.roomId", ""] });
|
|
185
|
+
invariant2(!this._swarmCtx, "Already joined", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 123, S: this, A: ["!this._swarmCtx", "'Already joined'"] });
|
|
186
|
+
this._swarmCtx = new Context(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 124 });
|
|
217
187
|
const topic = getTopic(this._state.roomId);
|
|
218
188
|
log("joining swarm", {
|
|
219
189
|
topic,
|
|
@@ -221,12 +191,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
221
191
|
identityKey: this._identityKey,
|
|
222
192
|
peerKey: this._deviceKey
|
|
223
193
|
}
|
|
224
|
-
}, {
|
|
225
|
-
F: __dxlog_file2,
|
|
226
|
-
L: 181,
|
|
227
|
-
S: this,
|
|
228
|
-
C: (f, a) => f(...a)
|
|
229
|
-
});
|
|
194
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 126, S: this });
|
|
230
195
|
const stream = this._networkService.subscribeSwarmState({
|
|
231
196
|
topic
|
|
232
197
|
});
|
|
@@ -240,24 +205,14 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
240
205
|
identityKey: this._identityKey,
|
|
241
206
|
peerKey: this._deviceKey
|
|
242
207
|
}
|
|
243
|
-
}, {
|
|
244
|
-
F: __dxlog_file2,
|
|
245
|
-
L: 188,
|
|
246
|
-
S: this,
|
|
247
|
-
C: (f, a) => f(...a)
|
|
248
|
-
});
|
|
208
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 140, S: this });
|
|
249
209
|
void this._networkService.leaveSwarm({
|
|
250
210
|
topic,
|
|
251
211
|
peer: {
|
|
252
212
|
identityKey: this._identityKey,
|
|
253
213
|
peerKey: this._deviceKey
|
|
254
214
|
}
|
|
255
|
-
}).catch((err) => log.catch(err, void 0, {
|
|
256
|
-
F: __dxlog_file2,
|
|
257
|
-
L: 194,
|
|
258
|
-
S: this,
|
|
259
|
-
C: (f, a) => f(...a)
|
|
260
|
-
}));
|
|
215
|
+
}).catch((err) => log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 153, S: this }));
|
|
261
216
|
}
|
|
262
217
|
window.removeEventListener("beforeunload", cleanup);
|
|
263
218
|
};
|
|
@@ -321,15 +276,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
321
276
|
}
|
|
322
277
|
async _reconcileSwarmState() {
|
|
323
278
|
const swarmEvent = this._lastSwarmEvent;
|
|
324
|
-
invariant2(swarmEvent, void 0, {
|
|
325
|
-
F: __dxlog_file2,
|
|
326
|
-
L: 273,
|
|
327
|
-
S: this,
|
|
328
|
-
A: [
|
|
329
|
-
"swarmEvent",
|
|
330
|
-
""
|
|
331
|
-
]
|
|
332
|
-
});
|
|
279
|
+
invariant2(swarmEvent, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 216, S: this, A: ["swarmEvent", ""] });
|
|
333
280
|
const peers = [
|
|
334
281
|
...swarmEvent.peers ?? [],
|
|
335
282
|
...(swarmEvent.inactivePeers ?? []).filter(({ disconnected, connectionState }) => connectionState === ConnectionState.DISCONNECTED_ABRUPT && disconnected && disconnected > Date.now() - DISCONNECTED_ABRUPT_TIMEOUT)
|
|
@@ -341,12 +288,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
341
288
|
log.error("error decoding peer state", {
|
|
342
289
|
error,
|
|
343
290
|
peer
|
|
344
|
-
}, {
|
|
345
|
-
F: __dxlog_file2,
|
|
346
|
-
L: 290,
|
|
347
|
-
S: this,
|
|
348
|
-
C: (f, a) => f(...a)
|
|
349
|
-
});
|
|
291
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 227, S: this });
|
|
350
292
|
return void 0;
|
|
351
293
|
}
|
|
352
294
|
}).filter(isNonNullable);
|
|
@@ -354,12 +296,7 @@ var CallSwarmSynchronizer = class extends Resource {
|
|
|
354
296
|
this._state.self = users.find((user) => user.id === this._deviceKey);
|
|
355
297
|
log("reconciling swarm state", {
|
|
356
298
|
users
|
|
357
|
-
}, {
|
|
358
|
-
F: __dxlog_file2,
|
|
359
|
-
L: 297,
|
|
360
|
-
S: this,
|
|
361
|
-
C: (f, a) => f(...a)
|
|
362
|
-
});
|
|
299
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 236, S: this });
|
|
363
300
|
if (users.length === 0) {
|
|
364
301
|
return;
|
|
365
302
|
}
|
|
@@ -581,12 +518,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
581
518
|
if (peerConnection.connectionState === "failed" || peerConnection.connectionState === "closed") {
|
|
582
519
|
log2.info("calls connection failed", {
|
|
583
520
|
state: peerConnection.connectionState
|
|
584
|
-
}, {
|
|
585
|
-
F: __dxlog_file3,
|
|
586
|
-
L: 120,
|
|
587
|
-
S: this,
|
|
588
|
-
C: (f, a) => f(...a)
|
|
589
|
-
});
|
|
521
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 58, S: this });
|
|
590
522
|
void this._persistentLifecycle.scheduleRestart();
|
|
591
523
|
}
|
|
592
524
|
});
|
|
@@ -596,34 +528,19 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
596
528
|
if (peerConnection.iceConnectionState === "failed" || peerConnection.iceConnectionState === "closed") {
|
|
597
529
|
log2.info("calls connection to ICEs failed", {
|
|
598
530
|
state: peerConnection.iceConnectionState
|
|
599
|
-
}, {
|
|
600
|
-
F: __dxlog_file3,
|
|
601
|
-
L: 129,
|
|
602
|
-
S: this,
|
|
603
|
-
C: (f, a) => f(...a)
|
|
604
|
-
});
|
|
531
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 68, S: this });
|
|
605
532
|
void this._persistentLifecycle.scheduleRestart();
|
|
606
533
|
} else if (peerConnection.iceConnectionState === "disconnected") {
|
|
607
534
|
const timeoutSeconds = 7;
|
|
608
535
|
iceTimeout = window.setTimeout(() => {
|
|
609
536
|
if (peerConnection.iceConnectionState === "connected") {
|
|
610
|
-
log2.info("calls iceConnectionState is connected", void 0, {
|
|
611
|
-
F: __dxlog_file3,
|
|
612
|
-
L: 138,
|
|
613
|
-
S: this,
|
|
614
|
-
C: (f, a) => f(...a)
|
|
615
|
-
});
|
|
537
|
+
log2.info("calls iceConnectionState is connected", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 79, S: this });
|
|
616
538
|
return;
|
|
617
539
|
}
|
|
618
540
|
log2.info("calls iceConnectionState timed out", {
|
|
619
541
|
state: peerConnection.iceConnectionState,
|
|
620
542
|
timeoutSeconds
|
|
621
|
-
}, {
|
|
622
|
-
F: __dxlog_file3,
|
|
623
|
-
L: 142,
|
|
624
|
-
S: this,
|
|
625
|
-
C: (f, a) => f(...a)
|
|
626
|
-
});
|
|
543
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 82, S: this });
|
|
627
544
|
void this._persistentLifecycle.scheduleRestart();
|
|
628
545
|
}, timeoutSeconds * 1e3);
|
|
629
546
|
}
|
|
@@ -631,12 +548,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
631
548
|
return peerConnection;
|
|
632
549
|
}
|
|
633
550
|
async _initiateCallSession() {
|
|
634
|
-
log2("creating new session", void 0, {
|
|
635
|
-
F: __dxlog_file3,
|
|
636
|
-
L: 152,
|
|
637
|
-
S: this,
|
|
638
|
-
C: (f, a) => f(...a)
|
|
639
|
-
});
|
|
551
|
+
log2("creating new session", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 93, S: this });
|
|
640
552
|
const { sessionId } = await this._fetch("/sessions/new?SESSION", {
|
|
641
553
|
method: "POST"
|
|
642
554
|
});
|
|
@@ -658,12 +570,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
658
570
|
log2.error("error while fetching from Calls service", {
|
|
659
571
|
status: response.status,
|
|
660
572
|
text: await response.text()
|
|
661
|
-
}, {
|
|
662
|
-
F: __dxlog_file3,
|
|
663
|
-
L: 168,
|
|
664
|
-
S: this,
|
|
665
|
-
C: (f, a) => f(...a)
|
|
666
|
-
});
|
|
573
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 113, S: this });
|
|
667
574
|
throw new Error("Error while fetching from Calls service");
|
|
668
575
|
}
|
|
669
576
|
try {
|
|
@@ -692,22 +599,12 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
692
599
|
error,
|
|
693
600
|
text,
|
|
694
601
|
status: response.status
|
|
695
|
-
}, {
|
|
696
|
-
F: __dxlog_file3,
|
|
697
|
-
L: 195,
|
|
698
|
-
S: this,
|
|
699
|
-
C: (f, a) => f(...a)
|
|
700
|
-
});
|
|
602
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 141, S: this });
|
|
701
603
|
throw error;
|
|
702
604
|
}
|
|
703
605
|
}
|
|
704
606
|
async _pushTrackInBulk({ ctx, peerConnection, transceiver, sessionId, trackName }) {
|
|
705
|
-
log2.verbose("pushing track ", trackName, {
|
|
706
|
-
F: __dxlog_file3,
|
|
707
|
-
L: 217,
|
|
708
|
-
S: this,
|
|
709
|
-
C: (f, a) => f(...a)
|
|
710
|
-
});
|
|
607
|
+
log2.verbose("pushing track ", trackName, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 150, S: this });
|
|
711
608
|
const pushedTrackPromise = this.pushTrackDispatcher.doBulkRequest({
|
|
712
609
|
trackName,
|
|
713
610
|
transceiver
|
|
@@ -729,15 +626,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
729
626
|
}))
|
|
730
627
|
})
|
|
731
628
|
});
|
|
732
|
-
invariant3(response.tracks !== void 0, void 0, {
|
|
733
|
-
F: __dxlog_file3,
|
|
734
|
-
L: 242,
|
|
735
|
-
S: this,
|
|
736
|
-
A: [
|
|
737
|
-
"response.tracks !== undefined",
|
|
738
|
-
""
|
|
739
|
-
]
|
|
740
|
-
});
|
|
629
|
+
invariant3(response.tracks !== void 0, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 174, S: this, A: ["response.tracks !== undefined", ""] });
|
|
741
630
|
if (!response.errorCode) {
|
|
742
631
|
await peerConnection.setRemoteDescription(new RTCSessionDescription(response.sessionDescription));
|
|
743
632
|
await peerConnectionIsConnected(peerConnection);
|
|
@@ -754,12 +643,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
754
643
|
location: "remote"
|
|
755
644
|
};
|
|
756
645
|
} else {
|
|
757
|
-
log2.error("missing track data", void 0, {
|
|
758
|
-
F: __dxlog_file3,
|
|
759
|
-
L: 266,
|
|
760
|
-
S: this,
|
|
761
|
-
C: (f, a) => f(...a)
|
|
762
|
-
});
|
|
646
|
+
log2.error("missing track data", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 195, S: this });
|
|
763
647
|
}
|
|
764
648
|
});
|
|
765
649
|
const onDispose = async () => {
|
|
@@ -773,25 +657,12 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
773
657
|
}
|
|
774
658
|
async pushTrack({ track, encodings = [], ctx, previousTrack }) {
|
|
775
659
|
await this.waitUntilOpen();
|
|
776
|
-
invariant3(this.session, void 0, {
|
|
777
|
-
F: __dxlog_file3,
|
|
778
|
-
L: 294,
|
|
779
|
-
S: this,
|
|
780
|
-
A: [
|
|
781
|
-
"this.session",
|
|
782
|
-
""
|
|
783
|
-
]
|
|
784
|
-
});
|
|
660
|
+
invariant3(this.session, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 209, S: this, A: ["this.session", ""] });
|
|
785
661
|
log2("trying to push track", {
|
|
786
662
|
track,
|
|
787
663
|
previousTrack,
|
|
788
664
|
encodings
|
|
789
|
-
}, {
|
|
790
|
-
F: __dxlog_file3,
|
|
791
|
-
L: 295,
|
|
792
|
-
S: this,
|
|
793
|
-
C: (f, a) => f(...a)
|
|
794
|
-
});
|
|
665
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 210, S: this });
|
|
795
666
|
if (previousTrack) {
|
|
796
667
|
const transceiver2 = this.session.peerConnection.getTransceivers().find((t) => t.mid === previousTrack.mid);
|
|
797
668
|
if (transceiver2?.sender.track === track) {
|
|
@@ -799,52 +670,24 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
799
670
|
track,
|
|
800
671
|
previousTrack,
|
|
801
672
|
transceiver: transceiver2
|
|
802
|
-
}, {
|
|
803
|
-
F: __dxlog_file3,
|
|
804
|
-
L: 299,
|
|
805
|
-
S: this,
|
|
806
|
-
C: (f, a) => f(...a)
|
|
807
|
-
});
|
|
673
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 218, S: this });
|
|
808
674
|
return previousTrack;
|
|
809
675
|
} else if (transceiver2) {
|
|
810
676
|
log2.verbose("replacing track", {
|
|
811
677
|
track,
|
|
812
678
|
previousTrack,
|
|
813
679
|
transceiver: transceiver2
|
|
814
|
-
}, {
|
|
815
|
-
|
|
816
|
-
L: 302,
|
|
817
|
-
S: this,
|
|
818
|
-
C: (f, a) => f(...a)
|
|
819
|
-
});
|
|
820
|
-
transceiver2.sender.replaceTrack(track).catch((err) => log2.catch(err, void 0, {
|
|
821
|
-
F: __dxlog_file3,
|
|
822
|
-
L: 303,
|
|
823
|
-
S: this,
|
|
824
|
-
C: (f, a) => f(...a)
|
|
825
|
-
}));
|
|
680
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 225, S: this });
|
|
681
|
+
transceiver2.sender.replaceTrack(track).catch((err) => log2.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 230, S: this }));
|
|
826
682
|
return previousTrack;
|
|
827
683
|
}
|
|
828
684
|
}
|
|
829
|
-
invariant3(track, void 0, {
|
|
830
|
-
F: __dxlog_file3,
|
|
831
|
-
L: 307,
|
|
832
|
-
S: this,
|
|
833
|
-
A: [
|
|
834
|
-
"track",
|
|
835
|
-
""
|
|
836
|
-
]
|
|
837
|
-
});
|
|
685
|
+
invariant3(track, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 234, S: this, A: ["track", ""] });
|
|
838
686
|
const stableId = crypto.randomUUID();
|
|
839
687
|
const transceiver = this.session.peerConnection.addTransceiver(track, {
|
|
840
688
|
direction: "sendonly"
|
|
841
689
|
});
|
|
842
|
-
log2.verbose("creating transceiver", void 0, {
|
|
843
|
-
F: __dxlog_file3,
|
|
844
|
-
L: 312,
|
|
845
|
-
S: this,
|
|
846
|
-
C: (f, a) => f(...a)
|
|
847
|
-
});
|
|
690
|
+
log2.verbose("creating transceiver", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 240, S: this });
|
|
848
691
|
const pushedTrackData = await this._pushTrackInBulk({
|
|
849
692
|
ctx,
|
|
850
693
|
peerConnection: this.session.peerConnection,
|
|
@@ -852,15 +695,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
852
695
|
sessionId: this.session.sessionId,
|
|
853
696
|
trackName: stableId
|
|
854
697
|
});
|
|
855
|
-
invariant3(pushedTrackData, void 0, {
|
|
856
|
-
F: __dxlog_file3,
|
|
857
|
-
L: 321,
|
|
858
|
-
S: this,
|
|
859
|
-
A: [
|
|
860
|
-
"pushedTrackData",
|
|
861
|
-
""
|
|
862
|
-
]
|
|
863
|
-
});
|
|
698
|
+
invariant3(pushedTrackData, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 248, S: this, A: ["pushedTrackData", ""] });
|
|
864
699
|
const parameters = transceiver.sender.getParameters();
|
|
865
700
|
encodings.forEach((encoding, i) => {
|
|
866
701
|
const existing = parameters.encodings[i];
|
|
@@ -869,12 +704,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
869
704
|
...encoding
|
|
870
705
|
};
|
|
871
706
|
});
|
|
872
|
-
transceiver.sender.setParameters(parameters).catch((err) => log2.catch(err, void 0, {
|
|
873
|
-
F: __dxlog_file3,
|
|
874
|
-
L: 328,
|
|
875
|
-
S: this,
|
|
876
|
-
C: (f, a) => f(...a)
|
|
877
|
-
}));
|
|
707
|
+
transceiver.sender.setParameters(parameters).catch((err) => log2.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 257, S: this }));
|
|
878
708
|
return pushedTrackData;
|
|
879
709
|
}
|
|
880
710
|
// TODO(mykola): Add retry logic if the tracks fails to pull.
|
|
@@ -882,12 +712,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
882
712
|
let mid = "";
|
|
883
713
|
log2("pulling track", {
|
|
884
714
|
trackName: trackData.trackName
|
|
885
|
-
}, {
|
|
886
|
-
F: __dxlog_file3,
|
|
887
|
-
L: 346,
|
|
888
|
-
S: this,
|
|
889
|
-
C: (f, a) => f(...a)
|
|
890
|
-
});
|
|
715
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 263, S: this });
|
|
891
716
|
const pulledTrackPromise = this.pullTrackDispatcher.doBulkRequest(trackData, (tracks) => this.taskScheduler.schedule(async () => {
|
|
892
717
|
const newTrackResponse = await this._fetch(`/sessions/${sessionId}/tracks/new?PULLING`, {
|
|
893
718
|
method: "POST",
|
|
@@ -898,15 +723,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
898
723
|
if (newTrackResponse.errorCode) {
|
|
899
724
|
throw new Error(newTrackResponse.errorDescription);
|
|
900
725
|
}
|
|
901
|
-
invariant3(newTrackResponse.tracks, void 0, {
|
|
902
|
-
F: __dxlog_file3,
|
|
903
|
-
L: 359,
|
|
904
|
-
S: this,
|
|
905
|
-
A: [
|
|
906
|
-
"newTrackResponse.tracks",
|
|
907
|
-
""
|
|
908
|
-
]
|
|
909
|
-
});
|
|
726
|
+
invariant3(newTrackResponse.tracks, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 276, S: this, A: ["newTrackResponse.tracks", ""] });
|
|
910
727
|
const trackMap = tracks.reduce((acc, track) => {
|
|
911
728
|
const pulledTrackData = newTrackResponse.tracks?.find((t) => t.trackName === track.trackName && t.sessionId === track.sessionId);
|
|
912
729
|
if (pulledTrackData && pulledTrackData.mid) {
|
|
@@ -945,32 +762,17 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
945
762
|
return trackInfo.resolvedTrack.then((track) => {
|
|
946
763
|
mid = trackInfo.mid;
|
|
947
764
|
return track;
|
|
948
|
-
}).catch((err) => log2.catch(err, void 0, {
|
|
949
|
-
F: __dxlog_file3,
|
|
950
|
-
L: 411,
|
|
951
|
-
S: this,
|
|
952
|
-
C: (f, a) => f(...a)
|
|
953
|
-
}));
|
|
765
|
+
}).catch((err) => log2.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 315, S: this }));
|
|
954
766
|
} else {
|
|
955
767
|
log2.info("missing track info", {
|
|
956
768
|
trackData,
|
|
957
769
|
availableTracks: Array.from(trackMap.keys())
|
|
958
|
-
}, {
|
|
959
|
-
F: __dxlog_file3,
|
|
960
|
-
L: 413,
|
|
961
|
-
S: this,
|
|
962
|
-
C: (f, a) => f(...a)
|
|
963
|
-
});
|
|
770
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 317, S: this });
|
|
964
771
|
}
|
|
965
772
|
});
|
|
966
773
|
const onDispose = async () => {
|
|
967
774
|
if (mid) {
|
|
968
|
-
log2("closing pulled track ", trackData.trackName, {
|
|
969
|
-
F: __dxlog_file3,
|
|
970
|
-
L: 419,
|
|
971
|
-
S: this,
|
|
972
|
-
C: (f, a) => f(...a)
|
|
973
|
-
});
|
|
775
|
+
log2("closing pulled track ", trackData.trackName, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 325, S: this });
|
|
974
776
|
await this._closeTrackInBulk(peerConnection, mid, sessionId);
|
|
975
777
|
mid = "";
|
|
976
778
|
}
|
|
@@ -981,15 +783,7 @@ var CallsServicePeer = class extends Resource2 {
|
|
|
981
783
|
}
|
|
982
784
|
async pullTrack({ ctx, trackData }) {
|
|
983
785
|
await this.waitUntilOpen();
|
|
984
|
-
invariant3(this.session, void 0, {
|
|
985
|
-
F: __dxlog_file3,
|
|
986
|
-
L: 440,
|
|
987
|
-
S: this,
|
|
988
|
-
A: [
|
|
989
|
-
"this.session",
|
|
990
|
-
""
|
|
991
|
-
]
|
|
992
|
-
});
|
|
786
|
+
invariant3(this.session, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 336, S: this, A: ["this.session", ""] });
|
|
993
787
|
const session = this.session;
|
|
994
788
|
return this._pullTrackInBulk({
|
|
995
789
|
peerConnection: session.peerConnection,
|
|
@@ -1080,12 +874,7 @@ var getUserMediaTrack = async (kind, constraints = {}, deviceList) => {
|
|
|
1080
874
|
};
|
|
1081
875
|
var acquireTrack = async (device, constraints) => {
|
|
1082
876
|
const { deviceId, label } = device;
|
|
1083
|
-
log3.info(`requesting ${label}`, void 0, {
|
|
1084
|
-
F: __dxlog_file4,
|
|
1085
|
-
L: 23,
|
|
1086
|
-
S: void 0,
|
|
1087
|
-
C: (f, a) => f(...a)
|
|
1088
|
-
});
|
|
877
|
+
log3.info(`requesting ${label}`, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 15, S: void 0 });
|
|
1089
878
|
const mediaStream = await navigator.mediaDevices.getUserMedia(device.kind === "videoinput" ? {
|
|
1090
879
|
video: {
|
|
1091
880
|
...constraints,
|
|
@@ -1133,15 +922,7 @@ var createBlackCanvasStreamTrack = async ({ ctx, width, height }) => {
|
|
|
1133
922
|
canvas.width = width;
|
|
1134
923
|
canvas.height = height;
|
|
1135
924
|
const canvasCtx = canvas.getContext("2d");
|
|
1136
|
-
invariant4(canvasCtx, void 0, {
|
|
1137
|
-
F: __dxlog_file5,
|
|
1138
|
-
L: 28,
|
|
1139
|
-
S: void 0,
|
|
1140
|
-
A: [
|
|
1141
|
-
"canvasCtx",
|
|
1142
|
-
""
|
|
1143
|
-
]
|
|
1144
|
-
});
|
|
925
|
+
invariant4(canvasCtx, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 16, S: void 0, A: ["canvasCtx", ""] });
|
|
1145
926
|
const drawFrame = () => {
|
|
1146
927
|
canvasCtx.fillStyle = "black";
|
|
1147
928
|
canvasCtx.fillRect(0, 0, canvas.width, canvas.height);
|
|
@@ -1180,7 +961,9 @@ var createInaudibleAudioStreamTrack = async ({ ctx }) => {
|
|
|
1180
961
|
gainNode.connect(destination);
|
|
1181
962
|
let oscillatorStarted = false;
|
|
1182
963
|
const ensureOscillatorStarted = () => {
|
|
1183
|
-
if (oscillatorStarted)
|
|
964
|
+
if (oscillatorStarted) {
|
|
965
|
+
return;
|
|
966
|
+
}
|
|
1184
967
|
oscillator.start();
|
|
1185
968
|
oscillatorStarted = true;
|
|
1186
969
|
};
|
|
@@ -1291,13 +1074,13 @@ var SpeakingMonitor = class extends Resource3 {
|
|
|
1291
1074
|
};
|
|
1292
1075
|
|
|
1293
1076
|
// src/calls/media-manager.ts
|
|
1077
|
+
var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
|
|
1294
1078
|
function _ts_decorate2(decorators, target, key, desc) {
|
|
1295
1079
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1296
1080
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1297
1081
|
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;
|
|
1298
1082
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1299
1083
|
}
|
|
1300
|
-
var __dxlog_file6 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/media-manager.ts";
|
|
1301
1084
|
var VIDEO_WIDTH = 1280;
|
|
1302
1085
|
var VIDEO_HEIGHT = 720;
|
|
1303
1086
|
var MAX_WEB_CAM_FRAMERATE = 24;
|
|
@@ -1453,12 +1236,7 @@ var MediaManager = class extends Resource4 {
|
|
|
1453
1236
|
this._pullTracksTask.schedule();
|
|
1454
1237
|
}
|
|
1455
1238
|
async _reconcilePulledMedia() {
|
|
1456
|
-
log4("reconciling tracks", void 0, {
|
|
1457
|
-
F: __dxlog_file6,
|
|
1458
|
-
L: 229,
|
|
1459
|
-
S: this,
|
|
1460
|
-
C: (f, a) => f(...a)
|
|
1461
|
-
});
|
|
1239
|
+
log4("reconciling tracks", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 171, S: this });
|
|
1462
1240
|
await cancelWithContext2(this._ctx, sleep2(800));
|
|
1463
1241
|
const trackNames = this._trackToReconcile;
|
|
1464
1242
|
const tracksToPull = trackNames.filter((name) => !this._state.pulledAudioTracks[name] && !this._state.pulledVideoStreams[name]);
|
|
@@ -1471,12 +1249,7 @@ var MediaManager = class extends Resource4 {
|
|
|
1471
1249
|
audioTracksToClose,
|
|
1472
1250
|
currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
|
|
1473
1251
|
currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
|
|
1474
|
-
}, {
|
|
1475
|
-
F: __dxlog_file6,
|
|
1476
|
-
L: 247,
|
|
1477
|
-
S: this,
|
|
1478
|
-
C: (f, a) => f(...a)
|
|
1479
|
-
});
|
|
1252
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 180, S: this });
|
|
1480
1253
|
const pullResults = await Promise.all(tracksToPull.map((name) => this._pullTrack(name)));
|
|
1481
1254
|
await Promise.all([
|
|
1482
1255
|
...audioTracksToClose,
|
|
@@ -1485,32 +1258,14 @@ var MediaManager = class extends Resource4 {
|
|
|
1485
1258
|
log4("reconciled tracks", {
|
|
1486
1259
|
currentAudioTracks: Object.keys(this._state.pulledAudioTracks),
|
|
1487
1260
|
currentVideoStreams: Object.keys(this._state.pulledVideoStreams)
|
|
1488
|
-
}, {
|
|
1489
|
-
F: __dxlog_file6,
|
|
1490
|
-
L: 262,
|
|
1491
|
-
S: this,
|
|
1492
|
-
C: (f, a) => f(...a)
|
|
1493
|
-
});
|
|
1261
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 195, S: this });
|
|
1494
1262
|
this.stateUpdated.emit(this._state);
|
|
1495
1263
|
if (pullResults.some(({ shouldRetry }) => shouldRetry)) {
|
|
1496
1264
|
await cancelWithContext2(this._ctx, sleep2(RETRY_INTERVAL));
|
|
1497
1265
|
log4.info("retrying pull tracks", {
|
|
1498
1266
|
tracksToPull
|
|
1499
|
-
}, {
|
|
1500
|
-
|
|
1501
|
-
L: 270,
|
|
1502
|
-
S: this,
|
|
1503
|
-
C: (f, a) => f(...a)
|
|
1504
|
-
});
|
|
1505
|
-
invariant5(this._pullTracksTask, void 0, {
|
|
1506
|
-
F: __dxlog_file6,
|
|
1507
|
-
L: 271,
|
|
1508
|
-
S: this,
|
|
1509
|
-
A: [
|
|
1510
|
-
"this._pullTracksTask",
|
|
1511
|
-
""
|
|
1512
|
-
]
|
|
1513
|
-
});
|
|
1267
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 202, S: this });
|
|
1268
|
+
invariant5(this._pullTracksTask, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 205, S: this, A: ["this._pullTracksTask", ""] });
|
|
1514
1269
|
this._pullTracksTask.schedule();
|
|
1515
1270
|
}
|
|
1516
1271
|
}
|
|
@@ -1555,21 +1310,8 @@ var MediaManager = class extends Resource4 {
|
|
|
1555
1310
|
pushVideoResult,
|
|
1556
1311
|
pushAudioResult,
|
|
1557
1312
|
pushScreenshareResult
|
|
1558
|
-
}, {
|
|
1559
|
-
|
|
1560
|
-
L: 310,
|
|
1561
|
-
S: this,
|
|
1562
|
-
C: (f, a) => f(...a)
|
|
1563
|
-
});
|
|
1564
|
-
invariant5(this._pushTracksTask, void 0, {
|
|
1565
|
-
F: __dxlog_file6,
|
|
1566
|
-
L: 311,
|
|
1567
|
-
S: this,
|
|
1568
|
-
A: [
|
|
1569
|
-
"this._pushTracksTask",
|
|
1570
|
-
""
|
|
1571
|
-
]
|
|
1572
|
-
});
|
|
1313
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 246, S: this });
|
|
1314
|
+
invariant5(this._pushTracksTask, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 251, S: this, A: ["this._pushTracksTask", ""] });
|
|
1573
1315
|
this._pushTracksTask.schedule();
|
|
1574
1316
|
}
|
|
1575
1317
|
}
|
|
@@ -1621,12 +1363,7 @@ var MediaManager = class extends Resource4 {
|
|
|
1621
1363
|
log4.info("failed to pull track", {
|
|
1622
1364
|
err,
|
|
1623
1365
|
name
|
|
1624
|
-
}, {
|
|
1625
|
-
F: __dxlog_file6,
|
|
1626
|
-
L: 347,
|
|
1627
|
-
S: this,
|
|
1628
|
-
C: (f, a) => f(...a)
|
|
1629
|
-
});
|
|
1366
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 303, S: this });
|
|
1630
1367
|
void ctx.dispose();
|
|
1631
1368
|
return {
|
|
1632
1369
|
shouldRetry: true
|
|
@@ -1655,12 +1392,7 @@ var MediaManager = class extends Resource4 {
|
|
|
1655
1392
|
track,
|
|
1656
1393
|
previousTrack,
|
|
1657
1394
|
encodings
|
|
1658
|
-
}, {
|
|
1659
|
-
F: __dxlog_file6,
|
|
1660
|
-
L: 373,
|
|
1661
|
-
S: this,
|
|
1662
|
-
C: (f, a) => f(...a)
|
|
1663
|
-
});
|
|
1395
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 330, S: this });
|
|
1664
1396
|
void ctx.dispose();
|
|
1665
1397
|
return {
|
|
1666
1398
|
shouldRetry: true
|
|
@@ -1676,13 +1408,13 @@ _ts_decorate2([
|
|
|
1676
1408
|
], MediaManager.prototype, "leave", null);
|
|
1677
1409
|
|
|
1678
1410
|
// src/calls/call-manager.ts
|
|
1411
|
+
var __dxlog_file7 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
|
|
1679
1412
|
function _ts_decorate3(decorators, target, key, desc) {
|
|
1680
1413
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1681
1414
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1682
1415
|
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;
|
|
1683
1416
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1684
1417
|
}
|
|
1685
|
-
var __dxlog_file7 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/calls/call-manager.ts";
|
|
1686
1418
|
var CallManager = class extends Resource5 {
|
|
1687
1419
|
_client;
|
|
1688
1420
|
_registry;
|
|
@@ -1804,15 +1536,7 @@ var CallManager = class extends Resource5 {
|
|
|
1804
1536
|
super(), this._client = _client, this._registry = _registry;
|
|
1805
1537
|
this._client.config.getOrThrow("runtime.services.edge.url");
|
|
1806
1538
|
const networkService = this._client.services.services.NetworkService;
|
|
1807
|
-
invariant6(networkService, "network service not found", {
|
|
1808
|
-
F: __dxlog_file7,
|
|
1809
|
-
L: 180,
|
|
1810
|
-
S: this,
|
|
1811
|
-
A: [
|
|
1812
|
-
"networkService",
|
|
1813
|
-
"'network service not found'"
|
|
1814
|
-
]
|
|
1815
|
-
});
|
|
1539
|
+
invariant6(networkService, "network service not found", { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 128, S: this, A: ["networkService", "'network service not found'"] });
|
|
1816
1540
|
this._swarmSynchronizer = new CallSwarmSynchronizer({
|
|
1817
1541
|
networkService
|
|
1818
1542
|
});
|
|
@@ -1942,10 +1666,7 @@ var __dxlog_file8 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/hooks/use
|
|
|
1942
1666
|
var useBlackCanvasStreamTrack = () => {
|
|
1943
1667
|
const [blackCanvasStreamTrack, setBlackCanvasStreamTrack] = useState(void 0);
|
|
1944
1668
|
useEffect(() => {
|
|
1945
|
-
const ctx = new Context2(void 0, {
|
|
1946
|
-
F: __dxlog_file8,
|
|
1947
|
-
L: 15
|
|
1948
|
-
});
|
|
1669
|
+
const ctx = new Context2(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 11 });
|
|
1949
1670
|
scheduleTask2(ctx, async () => {
|
|
1950
1671
|
const blackCanvasStreamTrack2 = await createBlackCanvasStreamTrack({
|
|
1951
1672
|
ctx,
|
|
@@ -1990,10 +1711,7 @@ var __dxlog_file9 = "/__w/dxos/dxos/packages/plugins/plugin-thread/src/hooks/use
|
|
|
1990
1711
|
var useInaudibleAudioStreamTrack = () => {
|
|
1991
1712
|
const [audioStreamTrack, setAudioStreamTrack] = useState3(void 0);
|
|
1992
1713
|
useEffect3(() => {
|
|
1993
|
-
const ctx = new Context3(void 0, {
|
|
1994
|
-
F: __dxlog_file9,
|
|
1995
|
-
L: 15
|
|
1996
|
-
});
|
|
1714
|
+
const ctx = new Context3(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file9, L: 11 });
|
|
1997
1715
|
scheduleTask3(ctx, async () => {
|
|
1998
1716
|
const audioStreamTrack2 = await createInaudibleAudioStreamTrack({
|
|
1999
1717
|
ctx
|
|
@@ -2072,239 +1790,8 @@ var useVideoStreamTrack = (videoElement, videoSrc) => {
|
|
|
2072
1790
|
return videoStreamTrack;
|
|
2073
1791
|
};
|
|
2074
1792
|
|
|
2075
|
-
// src/
|
|
2076
|
-
|
|
2077
|
-
var meta = {
|
|
2078
|
-
id: "org.dxos.plugin.thread",
|
|
2079
|
-
name: "Chat",
|
|
2080
|
-
description: trim`
|
|
2081
|
-
Multi-modal communication platform supporting text chat, voice, and video conferencing.
|
|
2082
|
-
Create threaded conversations and add contextual comments directly on any workspace object.
|
|
2083
|
-
`,
|
|
2084
|
-
icon: "ph--video-conference--regular",
|
|
2085
|
-
iconHue: "rose",
|
|
2086
|
-
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread"
|
|
2087
|
-
};
|
|
2088
|
-
var THREAD_ITEM = `${meta.id}.item`;
|
|
2089
|
-
|
|
2090
|
-
// src/ThreadPlugin.tsx
|
|
2091
|
-
import * as Effect from "effect/Effect";
|
|
2092
|
-
import * as Option from "effect/Option";
|
|
2093
|
-
import { Capability, Plugin } from "@dxos/app-framework";
|
|
2094
|
-
import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
|
|
2095
|
-
import { Annotation, Ref, Type as Type2 } from "@dxos/echo";
|
|
2096
|
-
import { Operation } from "@dxos/operation";
|
|
2097
|
-
import { ClientEvents } from "@dxos/plugin-client/types";
|
|
2098
|
-
import { MarkdownEvents } from "@dxos/plugin-markdown";
|
|
2099
|
-
import { SpaceOperation } from "@dxos/plugin-space/operations";
|
|
2100
|
-
import { SpaceCapabilities, SpaceEvents } from "@dxos/plugin-space/types";
|
|
2101
|
-
import { translations as threadTranslations } from "@dxos/react-ui-thread";
|
|
2102
|
-
import { AnchoredTo, Message, Thread } from "@dxos/types";
|
|
2103
|
-
import { AppGraphBuilder, BlueprintDefinition, CallManager as CallManager2, Markdown, OperationHandler, UndoMappings, ReactRoot, ReactSurface, ThreadState } from "#capabilities";
|
|
2104
|
-
import { THREAD_ITEM as THREAD_ITEM2, meta as meta3 } from "#meta";
|
|
2105
|
-
import { ThreadOperation } from "#operations";
|
|
2106
|
-
import { Channel as Channel2 } from "#types";
|
|
2107
|
-
|
|
2108
|
-
// src/translations.ts
|
|
2109
|
-
import { Type } from "@dxos/echo";
|
|
2110
|
-
import { meta as meta2 } from "#meta";
|
|
2111
|
-
import { Channel } from "#types";
|
|
2112
|
-
var translations = [
|
|
2113
|
-
{
|
|
2114
|
-
"en-US": {
|
|
2115
|
-
[Type.getTypename(Channel.Channel)]: {
|
|
2116
|
-
"typename.label": "Channel",
|
|
2117
|
-
"typename.label_zero": "Channels",
|
|
2118
|
-
"typename.label_one": "Channel",
|
|
2119
|
-
"typename.label_other": "Channels",
|
|
2120
|
-
"object-name.placeholder": "New channel",
|
|
2121
|
-
"add-object.label": "Add channel",
|
|
2122
|
-
"rename-object.label": "Rename channel",
|
|
2123
|
-
"delete-object.label": "Delete channel",
|
|
2124
|
-
"object-deleted.label": "Channel deleted"
|
|
2125
|
-
},
|
|
2126
|
-
[meta2.id]: {
|
|
2127
|
-
"plugin.name": "Chat",
|
|
2128
|
-
"channel-title.label": "Title",
|
|
2129
|
-
"message.placeholder": "Reply\u2026",
|
|
2130
|
-
"activity.message": "Processing\u2026",
|
|
2131
|
-
"anonymous.label": "Anonymous",
|
|
2132
|
-
"delete-message-block.label": "Delete message block",
|
|
2133
|
-
"detached-thread.label": "Referenced content was removed",
|
|
2134
|
-
"delete-thread.label": "Delete thread",
|
|
2135
|
-
"resolve-thread.label": "Resolve thread",
|
|
2136
|
-
"thread-deleted.label": "Thread deleted",
|
|
2137
|
-
"message-deleted.label": "Message deleted",
|
|
2138
|
-
"comments.heading": "Comments",
|
|
2139
|
-
"chat.heading": "Chat",
|
|
2140
|
-
"draft.button": "DRAFT",
|
|
2141
|
-
"no-comments.title": "Comments",
|
|
2142
|
-
"no-comments.message": "Click on the <commentIcon></commentIcon> button in the document toolbar to create a comment thread on the selected text.",
|
|
2143
|
-
"toggle-show-resolved.label": "Show resolved",
|
|
2144
|
-
"unnamed-object-threads.label": "Threads",
|
|
2145
|
-
"mark-as-resolved.label": "Mark as resolved",
|
|
2146
|
-
"mark-as-unresolved.label": "Mark as unresolved",
|
|
2147
|
-
"save-message.label": "Save",
|
|
2148
|
-
"edit-message.label": "Edit",
|
|
2149
|
-
"delete-message.label": "Delete message",
|
|
2150
|
-
"accept-proposal.label": "Accept proposal",
|
|
2151
|
-
"open-comments-panel.label": "Show Comments",
|
|
2152
|
-
"comments.label": "Comments",
|
|
2153
|
-
"show-all.label": "All comments",
|
|
2154
|
-
"show-unresolved.label": "Unresolved comments",
|
|
2155
|
-
"add-comment.label": "Add comment",
|
|
2156
|
-
"channel-companion.label": "Channel",
|
|
2157
|
-
"call-panel.label": "Active Call",
|
|
2158
|
-
"display-name.label": "Display name",
|
|
2159
|
-
"display-name.description": "Set your display name before joining a meeting.",
|
|
2160
|
-
"display-name-input.placeholder": "Enter your name",
|
|
2161
|
-
"set-display-name.label": "Continue",
|
|
2162
|
-
"call-tab.label": "Call",
|
|
2163
|
-
"meeting-status.title": "Calls",
|
|
2164
|
-
"share-meeting-link.label": "Share meeting",
|
|
2165
|
-
"show-webrtc-stats.title": "WebRTC Stats",
|
|
2166
|
-
"show-calls-history.title": "Service History",
|
|
2167
|
-
"meeting-summary.label": "Summary",
|
|
2168
|
-
"summarize.label": "Summarize",
|
|
2169
|
-
"summarizing.label": "Creating summary...",
|
|
2170
|
-
"create-summary.message": "A summary doesn\u2019t exist for this meeting yet. Create one now?",
|
|
2171
|
-
"icon-pin.label": "Pin video",
|
|
2172
|
-
"icon-unpin.label": "Unpin video",
|
|
2173
|
-
"icon-wave.label": "Waving",
|
|
2174
|
-
"icon-muted.label": "Muted",
|
|
2175
|
-
"join-call.button": "Join",
|
|
2176
|
-
"leave-call.button": "Leave",
|
|
2177
|
-
"mic-on.button": "Unmute",
|
|
2178
|
-
"mic-off.button": "Mute",
|
|
2179
|
-
"camera-on.button": "Turn camera on",
|
|
2180
|
-
"camera-off.button": "Turn camera off",
|
|
2181
|
-
"camera-off.label": "Camera off",
|
|
2182
|
-
"raise-hand.button": "Raise hand",
|
|
2183
|
-
"lower-hand.button": "Lower hand",
|
|
2184
|
-
"screenshare-on.button": "Share screen",
|
|
2185
|
-
"screenshare-off.button": "Stop streaming",
|
|
2186
|
-
"channel-toolbar.title": "Channel actions",
|
|
2187
|
-
"start-video-call.menu": "Start video call"
|
|
2188
|
-
}
|
|
2189
|
-
}
|
|
2190
|
-
}
|
|
2191
|
-
];
|
|
2192
|
-
|
|
2193
|
-
// src/ThreadPlugin.tsx
|
|
2194
|
-
var ThreadPlugin = Plugin.define(meta3).pipe(
|
|
2195
|
-
AppPlugin.addAppGraphModule({
|
|
2196
|
-
activate: AppGraphBuilder
|
|
2197
|
-
}),
|
|
2198
|
-
AppPlugin.addBlueprintDefinitionModule({
|
|
2199
|
-
activate: BlueprintDefinition
|
|
2200
|
-
}),
|
|
2201
|
-
AppPlugin.addMetadataModule({
|
|
2202
|
-
metadata: [
|
|
2203
|
-
{
|
|
2204
|
-
id: Type2.getTypename(Channel2.Channel),
|
|
2205
|
-
metadata: {
|
|
2206
|
-
icon: Annotation.IconAnnotation.get(Channel2.Channel).pipe(Option.getOrThrow).icon,
|
|
2207
|
-
iconHue: Annotation.IconAnnotation.get(Channel2.Channel).pipe(Option.getOrThrow).hue ?? "white",
|
|
2208
|
-
createObject: (props, options) => Effect.gen(function* () {
|
|
2209
|
-
const object = Channel2.make(props);
|
|
2210
|
-
return yield* Operation.invoke(SpaceOperation.AddObject, {
|
|
2211
|
-
object,
|
|
2212
|
-
target: options.target,
|
|
2213
|
-
hidden: true,
|
|
2214
|
-
targetNodeId: options.targetNodeId
|
|
2215
|
-
});
|
|
2216
|
-
})
|
|
2217
|
-
}
|
|
2218
|
-
},
|
|
2219
|
-
{
|
|
2220
|
-
id: Type2.getTypename(Thread.Thread),
|
|
2221
|
-
metadata: {
|
|
2222
|
-
// TODO(wittjosiah): Move out of metadata.
|
|
2223
|
-
loadReferences: async (thread) => await Ref.Array.loadAll(thread.messages ?? [])
|
|
2224
|
-
}
|
|
2225
|
-
},
|
|
2226
|
-
{
|
|
2227
|
-
id: THREAD_ITEM2,
|
|
2228
|
-
metadata: {
|
|
2229
|
-
parse: (item, type) => {
|
|
2230
|
-
switch (type) {
|
|
2231
|
-
case "node":
|
|
2232
|
-
return {
|
|
2233
|
-
id: item.id,
|
|
2234
|
-
label: item.name,
|
|
2235
|
-
data: item
|
|
2236
|
-
};
|
|
2237
|
-
case "object":
|
|
2238
|
-
return item;
|
|
2239
|
-
case "view-object":
|
|
2240
|
-
return {
|
|
2241
|
-
id: `${item.id}-view`,
|
|
2242
|
-
object: item
|
|
2243
|
-
};
|
|
2244
|
-
}
|
|
2245
|
-
}
|
|
2246
|
-
}
|
|
2247
|
-
}
|
|
2248
|
-
]
|
|
2249
|
-
}),
|
|
2250
|
-
AppPlugin.addOperationHandlerModule({
|
|
2251
|
-
activate: OperationHandler
|
|
2252
|
-
}),
|
|
2253
|
-
AppPlugin.addOperationHandlerModule({
|
|
2254
|
-
id: "undo-mappings",
|
|
2255
|
-
activate: UndoMappings
|
|
2256
|
-
}),
|
|
2257
|
-
AppPlugin.addReactRootModule({
|
|
2258
|
-
activate: ReactRoot
|
|
2259
|
-
}),
|
|
2260
|
-
AppPlugin.addSchemaModule({
|
|
2261
|
-
schema: [
|
|
2262
|
-
AnchoredTo.AnchoredTo,
|
|
2263
|
-
Channel2.Channel,
|
|
2264
|
-
Message.Message,
|
|
2265
|
-
Thread.Thread
|
|
2266
|
-
]
|
|
2267
|
-
}),
|
|
2268
|
-
AppPlugin.addSurfaceModule({
|
|
2269
|
-
activate: ReactSurface
|
|
2270
|
-
}),
|
|
2271
|
-
AppPlugin.addTranslationsModule({
|
|
2272
|
-
translations: [
|
|
2273
|
-
...translations,
|
|
2274
|
-
...threadTranslations
|
|
2275
|
-
]
|
|
2276
|
-
}),
|
|
2277
|
-
Plugin.addModule({
|
|
2278
|
-
id: "call-manager",
|
|
2279
|
-
activatesOn: ClientEvents.ClientReady,
|
|
2280
|
-
activate: CallManager2
|
|
2281
|
-
}),
|
|
2282
|
-
// TODO(wittjosiah): Currently not used but leaving because there will likely be settings for threads again.
|
|
2283
|
-
// Plugin.addModule({
|
|
2284
|
-
// id: 'settings',
|
|
2285
|
-
// activatesOn: Events.SetupSettings,
|
|
2286
|
-
// activate: ThreadSettings,
|
|
2287
|
-
// }),
|
|
2288
|
-
Plugin.addModule({
|
|
2289
|
-
id: "state",
|
|
2290
|
-
// TODO(wittjosiah): Does not integrate with settings store.
|
|
2291
|
-
// Should this be a different event?
|
|
2292
|
-
// Should settings store be renamed to be more generic?
|
|
2293
|
-
activatesOn: AppActivationEvents.SetupSettings,
|
|
2294
|
-
activate: ThreadState
|
|
2295
|
-
}),
|
|
2296
|
-
Plugin.addModule({
|
|
2297
|
-
id: "on-space-created",
|
|
2298
|
-
activatesOn: SpaceEvents.SpaceCreated,
|
|
2299
|
-
activate: () => Effect.succeed(Capability.contributes(SpaceCapabilities.OnCreateSpace, (params) => Operation.invoke(ThreadOperation.OnCreateSpace, params)))
|
|
2300
|
-
}),
|
|
2301
|
-
Plugin.addModule({
|
|
2302
|
-
id: "markdown",
|
|
2303
|
-
activatesOn: MarkdownEvents.SetupExtensions,
|
|
2304
|
-
activate: Markdown
|
|
2305
|
-
}),
|
|
2306
|
-
Plugin.make
|
|
2307
|
-
);
|
|
1793
|
+
// src/index.ts
|
|
1794
|
+
var ThreadPlugin = Plugin.lazy(meta, () => import("#plugin"));
|
|
2308
1795
|
export {
|
|
2309
1796
|
CALLS_URL,
|
|
2310
1797
|
CallManager,
|