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