@ai-matrx/meet 0.11.28 → 0.11.29

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.
@@ -574,7 +574,7 @@ function participantAttributes(p) {
574
574
  "data-meet-participant-role": observedRole(p.role, p.standing),
575
575
  "data-meet-participant-self": String(p.isLocal)
576
576
  };
577
- const quality = observedQuality(p.quality);
577
+ const quality = p.reconnecting === true ? "reconnecting" : observedQuality(p.quality);
578
578
  if (quality !== null) attrs["data-meet-participant-connection"] = quality;
579
579
  return attrs;
580
580
  }
@@ -1694,6 +1694,7 @@ function useMeetCore() {
1694
1694
  reason: snapshot?.reason ?? null,
1695
1695
  phaseNotice: snapshot?.phaseNotice ?? null,
1696
1696
  connection: snapshot?.connection ?? "stable",
1697
+ connectionBanner: snapshot?.connectionBanner ?? false,
1697
1698
  share: snapshot?.share ?? NO_SHARE,
1698
1699
  call: snapshot?.call ?? null,
1699
1700
  actions
@@ -2976,7 +2977,8 @@ function ParticipantTile({
2976
2977
  participant.displayName,
2977
2978
  participant.isLocal ? " (you)" : "",
2978
2979
  participant.isAgent ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "mx-meet__badge", children: "AI" }) : null,
2979
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RoleBadge, { role: participant.role, standing: participant.standing })
2980
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RoleBadge, { role: participant.role, standing: participant.standing }),
2981
+ participant.reconnecting === true ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "mx-meet__badge", children: "Reconnecting\u2026" }) : null
2980
2982
  ] }),
2981
2983
  !participant.micEnabled ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(MicOffIcon, { width: 14, height: 14 }) : null,
2982
2984
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(QualityBars, { quality: participant.quality })
@@ -3019,6 +3021,12 @@ function QualityBars({ quality }) {
3019
3021
  const label = quality === "lost" ? "Connection lost" : quality === "poor" ? "Poor connection" : `Connection ${quality}`;
3020
3022
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: `mx-meet__signal mx-meet__signal--${quality}`, title: label, "aria-label": label, role: "img", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SignalIcon, { bars, width: 14, height: 14 }) });
3021
3023
  }
3024
+ var CONNECTION_BANNER = {
3025
+ signal_reconnecting: "Reconnecting\u2026",
3026
+ reconnecting: "Reconnecting\u2026",
3027
+ offline: "You're offline. Reconnecting when your internet is back\u2026",
3028
+ server_unreachable: "Can't reach the meeting server. Retrying\u2026"
3029
+ };
3022
3030
  function Stage({ pageSize }) {
3023
3031
  const stage = useStage(pageSize);
3024
3032
  const columns = gridColumns(stage.tiles.length);
@@ -4726,7 +4734,7 @@ function MeetSkinRoom({
4726
4734
  headerControls !== void 0 && headerControls !== null ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "mx-meet__header-controls", "data-meet-header-controls": "", children: headerControls }) : null,
4727
4735
  isHost ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(HostMenu, {}) : null
4728
4736
  ] }),
4729
- core.connection !== "stable" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "mx-meet__banner", role: "status", children: "Reconnecting\u2026" }) : null,
4737
+ core.connectionBanner && core.connection !== "stable" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "mx-meet__banner", role: "status", "data-meet-notice": `connection-${core.connection}`, children: CONNECTION_BANNER[core.connection] }) : null,
4730
4738
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(ShareNotice, {}),
4731
4739
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Stage, {}),
4732
4740
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Captions, {}),
@@ -4760,7 +4768,7 @@ var REFUSED_TITLES = {
4760
4768
  registration_required: "Register to join this meeting"
4761
4769
  };
4762
4770
  function ExitScreen({ onLeave }) {
4763
- const { phase, reason, host, snapshot, actions, call } = useMeetCore();
4771
+ const { phase, reason, host, snapshot, actions, call, connection } = useMeetCore();
4764
4772
  const [busy, setBusy] = (0, import_react10.useState)(false);
4765
4773
  const failure = snapshot?.failure ?? null;
4766
4774
  const rejoin = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
@@ -4816,7 +4824,7 @@ function ExitScreen({ onLeave }) {
4816
4824
  break;
4817
4825
  case "disconnected":
4818
4826
  title = "You lost your connection to the meeting";
4819
- line = failure?.remedy ?? "Check your internet connection, then rejoin.";
4827
+ line = connection === "offline" ? "You're offline. You'll rejoin automatically when your internet is back." : connection === "server_unreachable" ? "Can't reach the meeting server. You'll rejoin automatically when it answers." : failure?.remedy ?? "Check your internet connection, then rejoin.";
4820
4828
  notice = "disconnected";
4821
4829
  actionsNode = /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
4822
4830
  rejoin,