@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.
@@ -293,10 +293,10 @@ var MEET_ROUTES = {
293
293
  recordingStop: "/api/v1/meet/recording/stop",
294
294
  noteTakerStart: "/api/v1/meet/agent/start",
295
295
  noteTakerStop: "/api/v1/meet/agent/stop",
296
- /** In-meeting Q&A. Streams NDJSON; body is `{meeting_id, question}` only. */
297
- intelligenceAsk: "/api/v1/meet/intelligence/ask",
298
296
  /** Anyone in the meeting (guests with the room pass included) asks for captions for themselves. */
299
297
  noteTakerCaptions: "/api/v1/meet/agent/captions",
298
+ /** In-meeting Q&A. Streams NDJSON; body is `{meeting_id, question}` only. */
299
+ intelligenceAsk: "/api/v1/meet/intelligence/ask",
300
300
  /** A host ends the meeting for everyone. Served by MRI-A6. */
301
301
  meetingEnd: "/api/v1/meet/end",
302
302
  /**
@@ -858,6 +858,7 @@ var STATES = [
858
858
  "ended"
859
859
  ];
860
860
  function readState(value) {
861
+ if (value === "dispatching") return "joining";
861
862
  return typeof value === "string" && STATES.includes(value) ? value : null;
862
863
  }
863
864
  function isNoteTaker(participant) {
@@ -1113,6 +1114,7 @@ async function moveToRoom(runtime, roomId) {
1113
1114
  if (runtime === null) return { ok: false, message: "This meeting is not connected." };
1114
1115
  try {
1115
1116
  await runtime.engine.moveToBreakout(roomId);
1117
+ await runtime.inRoom.loadCollab?.().catch(() => void 0);
1116
1118
  return { ok: true, message: roomId === null ? "Back in the main room." : "Joined the breakout room." };
1117
1119
  } catch (error) {
1118
1120
  return { ok: false, message: error.message ?? "That room could not be joined." };
@@ -1702,7 +1704,10 @@ function useEndMeeting() {
1702
1704
  function useConsentNotice() {
1703
1705
  const snapshot = useMeetSnapshot();
1704
1706
  const agent = noteTakerParticipant(snapshot?.participants ?? []);
1705
- if (agent === null) return null;
1707
+ if (agent === null) {
1708
+ const state = noteTakerStatus({ meeting: snapshot?.meeting ?? null, participants: [] }).state;
1709
+ return state === "joining" ? "AI notes started. The note-taker is joining this meeting." : null;
1710
+ }
1706
1711
  return `AI notes are on. ${agent.displayName} is in this meeting, transcribing what is said and writing notes everyone here can read.`;
1707
1712
  }
1708
1713
  function useMediaSupervisor() {
@@ -4425,6 +4430,17 @@ function ChatPanel({
4425
4430
  const snapshot = useMeetSnapshot();
4426
4431
  const room = useRoom();
4427
4432
  const live = useLivePolicy();
4433
+ const host = useMeetHost();
4434
+ const [rulesChecked, setRulesChecked] = (0, import_react10.useState)(false);
4435
+ (0, import_react10.useEffect)(() => {
4436
+ let alive = true;
4437
+ const done = () => alive && setRulesChecked(true);
4438
+ if (host === null) done();
4439
+ else void host.meetings.readLivePolicy().then(done, done);
4440
+ return () => {
4441
+ alive = false;
4442
+ };
4443
+ }, [host]);
4428
4444
  const [draft, setDraft] = (0, import_react10.useState)("");
4429
4445
  const [recipient, setRecipient] = (0, import_react10.useState)(to);
4430
4446
  const listRef = (0, import_react10.useRef)(null);
@@ -4449,7 +4465,7 @@ function ChatPanel({
4449
4465
  snapshot?.chatLoaded !== true && messages.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("li", { className: "mx-meet__panel-note", children: "Reading earlier messages\u2026" }) : messages.length === 0 && snapshot?.chatHistoryError == null ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("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,
4450
4466
  messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ChatLine, { message, local, people }, message.id))
4451
4467
  ] }),
4452
- !live.canChat ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("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__ */ (0, import_jsx_runtime6.jsxs)(
4468
+ !rulesChecked ? null : !live.canChat ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("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__ */ (0, import_jsx_runtime6.jsxs)(
4453
4469
  "form",
4454
4470
  {
4455
4471
  className: "mx-meet__composer mx-meet__composer--chat",
@@ -5980,8 +5996,8 @@ function ExitScreen({ onLeave }) {
5980
5996
  ] });
5981
5997
  break;
5982
5998
  case "unsupported":
5983
- title = "This browser can't join meetings";
5984
- line = "Open the link in Chrome, Edge, Firefox or Safari.";
5999
+ title = "Meet is not compatible with your browser yet";
6000
+ line = "Open this link in Chrome, Edge, Firefox or Safari.";
5985
6001
  break;
5986
6002
  case "ended":
5987
6003
  case "record":
@@ -6008,6 +6024,9 @@ function ExitScreen({ onLeave }) {
6008
6024
  function WaitingRoom({ host, onLeave }) {
6009
6025
  const { waiting, withdraw, askAgain } = useWaiting();
6010
6026
  const { phaseNotice } = useMeetCore();
6027
+ const localMedia = useLocalMedia();
6028
+ const { region: mediaRegion } = useMediaSupervisor();
6029
+ const noMicrophone = localMedia.microphone.unavailable !== null || mediaRegion.preview.microphone.state === "unavailable";
6011
6030
  const [busy, setBusy] = (0, import_react10.useState)(false);
6012
6031
  const admission = waiting?.admission ?? "knocking";
6013
6032
  const reknockLeft = useCountdown(admission === "denied" ? waiting?.reknockAt ?? null : null);
@@ -6072,6 +6091,7 @@ function WaitingRoom({ host, onLeave }) {
6072
6091
  children: line
6073
6092
  }
6074
6093
  ) : null,
6094
+ noMicrophone && (admission === "knocking" || admission === "waiting_host") ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("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,
6075
6095
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "mx-meet__waiting-actions", children: actions })
6076
6096
  ] });
6077
6097
  }