@ai-matrx/meet 0.11.45 → 0.11.47
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/CHANGELOG.md +12 -0
- package/dist/core.cjs +14 -4
- package/dist/core.cjs.map +1 -1
- package/dist/core.d.cts +9 -6
- package/dist/core.d.ts +9 -6
- package/dist/core.js +14 -4
- package/dist/core.js.map +1 -1
- package/dist/index.cjs +14 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -4
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +36 -8
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +36 -8
- package/dist/react.js.map +1 -1
- package/dist/skins/meet.cjs +26 -6
- package/dist/skins/meet.cjs.map +1 -1
- package/dist/skins/meet.js +26 -6
- package/dist/skins/meet.js.map +1 -1
- package/package.json +4 -4
package/dist/skins/meet.js
CHANGED
|
@@ -185,10 +185,10 @@ var MEET_ROUTES = {
|
|
|
185
185
|
recordingStop: "/api/v1/meet/recording/stop",
|
|
186
186
|
noteTakerStart: "/api/v1/meet/agent/start",
|
|
187
187
|
noteTakerStop: "/api/v1/meet/agent/stop",
|
|
188
|
-
/** In-meeting Q&A. Streams NDJSON; body is `{meeting_id, question}` only. */
|
|
189
|
-
intelligenceAsk: "/api/v1/meet/intelligence/ask",
|
|
190
188
|
/** Anyone in the meeting (guests with the room pass included) asks for captions for themselves. */
|
|
191
189
|
noteTakerCaptions: "/api/v1/meet/agent/captions",
|
|
190
|
+
/** In-meeting Q&A. Streams NDJSON; body is `{meeting_id, question}` only. */
|
|
191
|
+
intelligenceAsk: "/api/v1/meet/intelligence/ask",
|
|
192
192
|
/** A host ends the meeting for everyone. Served by MRI-A6. */
|
|
193
193
|
meetingEnd: "/api/v1/meet/end",
|
|
194
194
|
/**
|
|
@@ -763,6 +763,7 @@ var STATES = [
|
|
|
763
763
|
"ended"
|
|
764
764
|
];
|
|
765
765
|
function readState(value) {
|
|
766
|
+
if (value === "dispatching") return "joining";
|
|
766
767
|
return typeof value === "string" && STATES.includes(value) ? value : null;
|
|
767
768
|
}
|
|
768
769
|
function isNoteTaker(participant) {
|
|
@@ -1018,6 +1019,7 @@ async function moveToRoom(runtime, roomId) {
|
|
|
1018
1019
|
if (runtime === null) return { ok: false, message: "This meeting is not connected." };
|
|
1019
1020
|
try {
|
|
1020
1021
|
await runtime.engine.moveToBreakout(roomId);
|
|
1022
|
+
await runtime.inRoom.loadCollab?.().catch(() => void 0);
|
|
1021
1023
|
return { ok: true, message: roomId === null ? "Back in the main room." : "Joined the breakout room." };
|
|
1022
1024
|
} catch (error) {
|
|
1023
1025
|
return { ok: false, message: error.message ?? "That room could not be joined." };
|
|
@@ -1607,7 +1609,10 @@ function useEndMeeting() {
|
|
|
1607
1609
|
function useConsentNotice() {
|
|
1608
1610
|
const snapshot = useMeetSnapshot();
|
|
1609
1611
|
const agent = noteTakerParticipant(snapshot?.participants ?? []);
|
|
1610
|
-
if (agent === null)
|
|
1612
|
+
if (agent === null) {
|
|
1613
|
+
const state = noteTakerStatus({ meeting: snapshot?.meeting ?? null, participants: [] }).state;
|
|
1614
|
+
return state === "joining" ? "AI notes started. The note-taker is joining this meeting." : null;
|
|
1615
|
+
}
|
|
1611
1616
|
return `AI notes are on. ${agent.displayName} is in this meeting, transcribing what is said and writing notes everyone here can read.`;
|
|
1612
1617
|
}
|
|
1613
1618
|
function useMediaSupervisor() {
|
|
@@ -4330,6 +4335,17 @@ function ChatPanel({
|
|
|
4330
4335
|
const snapshot = useMeetSnapshot();
|
|
4331
4336
|
const room = useRoom();
|
|
4332
4337
|
const live = useLivePolicy();
|
|
4338
|
+
const host = useMeetHost();
|
|
4339
|
+
const [rulesChecked, setRulesChecked] = useState5(false);
|
|
4340
|
+
useEffect6(() => {
|
|
4341
|
+
let alive = true;
|
|
4342
|
+
const done = () => alive && setRulesChecked(true);
|
|
4343
|
+
if (host === null) done();
|
|
4344
|
+
else void host.meetings.readLivePolicy().then(done, done);
|
|
4345
|
+
return () => {
|
|
4346
|
+
alive = false;
|
|
4347
|
+
};
|
|
4348
|
+
}, [host]);
|
|
4333
4349
|
const [draft, setDraft] = useState5("");
|
|
4334
4350
|
const [recipient, setRecipient] = useState5(to);
|
|
4335
4351
|
const listRef = useRef6(null);
|
|
@@ -4354,7 +4370,7 @@ function ChatPanel({
|
|
|
4354
4370
|
snapshot?.chatLoaded !== true && messages.length === 0 ? /* @__PURE__ */ jsx6("li", { className: "mx-meet__panel-note", children: "Reading earlier messages\u2026" }) : messages.length === 0 && snapshot?.chatHistoryError == null ? /* @__PURE__ */ jsx6("li", { className: "mx-meet__panel-note", children: "No messages yet. Messages to everyone stay with the meeting, so people who join later see them." }) : null,
|
|
4355
4371
|
messages.map((message) => /* @__PURE__ */ jsx6(ChatLine, { message, local, people }, message.id))
|
|
4356
4372
|
] }),
|
|
4357
|
-
!live.canChat ? /* @__PURE__ */ jsx6("p", { className: "mx-meet__panel-note", role: "status", "data-meet-notice": "chat-restricted", children: live.chatMode === "off" ? "Chat is turned off for this meeting." : "Chat is limited to the host and co-hosts in this meeting." }) : /* @__PURE__ */ jsxs4(
|
|
4373
|
+
!rulesChecked ? null : !live.canChat ? /* @__PURE__ */ jsx6("p", { className: "mx-meet__panel-note", role: "status", "data-meet-notice": "chat-restricted", children: live.chatMode === "off" ? "Chat is turned off for this meeting." : "Chat is limited to the host and co-hosts in this meeting." }) : /* @__PURE__ */ jsxs4(
|
|
4358
4374
|
"form",
|
|
4359
4375
|
{
|
|
4360
4376
|
className: "mx-meet__composer mx-meet__composer--chat",
|
|
@@ -5885,8 +5901,8 @@ function ExitScreen({ onLeave }) {
|
|
|
5885
5901
|
] });
|
|
5886
5902
|
break;
|
|
5887
5903
|
case "unsupported":
|
|
5888
|
-
title = "
|
|
5889
|
-
line = "Open
|
|
5904
|
+
title = "Meet is not compatible with your browser yet";
|
|
5905
|
+
line = "Open this link in Chrome, Edge, Firefox or Safari.";
|
|
5890
5906
|
break;
|
|
5891
5907
|
case "ended":
|
|
5892
5908
|
case "record":
|
|
@@ -5913,6 +5929,9 @@ function ExitScreen({ onLeave }) {
|
|
|
5913
5929
|
function WaitingRoom({ host, onLeave }) {
|
|
5914
5930
|
const { waiting, withdraw, askAgain } = useWaiting();
|
|
5915
5931
|
const { phaseNotice } = useMeetCore();
|
|
5932
|
+
const localMedia = useLocalMedia();
|
|
5933
|
+
const { region: mediaRegion } = useMediaSupervisor();
|
|
5934
|
+
const noMicrophone = localMedia.microphone.unavailable !== null || mediaRegion.preview.microphone.state === "unavailable";
|
|
5916
5935
|
const [busy, setBusy] = useState5(false);
|
|
5917
5936
|
const admission = waiting?.admission ?? "knocking";
|
|
5918
5937
|
const reknockLeft = useCountdown(admission === "denied" ? waiting?.reknockAt ?? null : null);
|
|
@@ -5977,6 +5996,7 @@ function WaitingRoom({ host, onLeave }) {
|
|
|
5977
5996
|
children: line
|
|
5978
5997
|
}
|
|
5979
5998
|
) : null,
|
|
5999
|
+
noMicrophone && (admission === "knocking" || admission === "waiting_host") ? /* @__PURE__ */ jsx6("p", { className: "mx-meet__empty-body", role: "status", "data-meet-notice": "joining-without-microphone", children: "You're joining without a microphone. You'll be able to listen, but others won't hear you." }) : null,
|
|
5980
6000
|
/* @__PURE__ */ jsx6("div", { className: "mx-meet__waiting-actions", children: actions })
|
|
5981
6001
|
] });
|
|
5982
6002
|
}
|