@ai-matrx/meet 0.7.0 → 0.7.2

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/react.js CHANGED
@@ -1726,6 +1726,15 @@ function createMeetingSession(options) {
1726
1726
  const { manager, repository, store, identity } = options;
1727
1727
  let channel = null;
1728
1728
  let meetingChannel = null;
1729
+ async function readMeeting(meetingId) {
1730
+ try {
1731
+ return await repository.meeting(meetingId);
1732
+ } catch (error) {
1733
+ const slug = store.snapshot().meeting?.slug;
1734
+ if (slug === void 0) throw error;
1735
+ return repository.meetingBySlug(slug);
1736
+ }
1737
+ }
1729
1738
  function requireHostUser(operation) {
1730
1739
  if (identity.userId === null || !isHostRole(effectiveRole(store.snapshot()))) {
1731
1740
  throw new MeetError(
@@ -1806,7 +1815,7 @@ function createMeetingSession(options) {
1806
1815
  onBackfill: async () => {
1807
1816
  const meeting = store.snapshot().meeting;
1808
1817
  if (meeting === null) return;
1809
- const fresh = isGuest(identity) ? await repository.meetingBySlug(meeting.slug) : await repository.meeting(meeting.id);
1818
+ const fresh = isGuest(identity) ? await repository.meetingBySlug(meeting.slug) : await readMeeting(meeting.id);
1810
1819
  store.patch({ meeting: fresh, locked: fresh.locked });
1811
1820
  }
1812
1821
  });
@@ -1901,7 +1910,7 @@ function createMeetingSession(options) {
1901
1910
  // a recovered surface from looking healthy and being wrong.
1902
1911
  onBackfill: async () => {
1903
1912
  const [meeting, transcript, notes, recordings, attendees] = await Promise.all([
1904
- repository.meeting(meetingId),
1913
+ readMeeting(meetingId),
1905
1914
  repository.transcript(meetingId),
1906
1915
  repository.notes(meetingId),
1907
1916
  repository.recordings(meetingId),
@@ -4813,6 +4822,7 @@ function useGuestRecordAccess(meeting) {
4813
4822
 
4814
4823
  // src/react/components.tsx
4815
4824
  import { useEffect as useEffect3, useMemo as useMemo3, useRef as useRef3, useState as useState3 } from "react";
4825
+ import { ErrorBox } from "@ai-matrx/design-system";
4816
4826
  import { avatarPaletteIndex, formatDurationMs as formatDurationMs2, getInitials } from "@ai-matrx/kit/format";
4817
4827
 
4818
4828
  // src/core/format.ts
@@ -5420,11 +5430,11 @@ function NoteTakerRow() {
5420
5430
  ai.noteTakerLabel
5421
5431
  ] }),
5422
5432
  status.detail !== null ? /* @__PURE__ */ jsx3("p", { className: "mx-meet__panel-note", children: status.detail }) : null,
5423
- status.refusal !== null ? /* @__PURE__ */ jsxs2("div", { className: "mx-meet__refusal", role: "alert", children: [
5433
+ status.refusal !== null ? /* @__PURE__ */ jsxs2(ErrorBox, { as: "div", className: "mx-meet__refusal", error: status.refusal, operation: "Join this meeting", origin: "meet/components", children: [
5424
5434
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-reason", children: status.refusal.reason }),
5425
5435
  status.refusal.remedy.length > 0 ? /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-remedy", children: status.refusal.remedy }) : null
5426
5436
  ] }) : null,
5427
- ai.error !== null && !duplicateError ? /* @__PURE__ */ jsxs2("div", { className: "mx-meet__refusal", role: "alert", children: [
5437
+ ai.error !== null && !duplicateError ? /* @__PURE__ */ jsxs2(ErrorBox, { as: "div", className: "mx-meet__refusal", error: ai.error, operation: "Run the meeting assistant", origin: "meet/components", children: [
5428
5438
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-reason", children: ai.error.message }),
5429
5439
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-remedy", children: ai.error.remedy })
5430
5440
  ] }) : null,
@@ -5555,7 +5565,7 @@ function AiPanel({ onClose }) {
5555
5565
  ai.coverage.truncated ? " (the oldest were left out)" : "",
5556
5566
  "."
5557
5567
  ] }) : null,
5558
- ai.error !== null ? /* @__PURE__ */ jsxs2("div", { className: "mx-meet__refusal", role: "alert", children: [
5568
+ ai.error !== null ? /* @__PURE__ */ jsxs2(ErrorBox, { as: "div", className: "mx-meet__refusal", error: ai.error, operation: "Run the meeting assistant", origin: "meet/components", children: [
5559
5569
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-reason", children: ai.error.message }),
5560
5570
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-remedy", children: ai.error.remedy })
5561
5571
  ] }) : null
@@ -6027,7 +6037,7 @@ function GuestRecordAccessControl({
6027
6037
  resolved
6028
6038
  ] }),
6029
6039
  access.saving ? /* @__PURE__ */ jsx3("p", { className: "mx-meet__panel-note", role: "status", children: "Saving what guests may read\u2026" }) : null,
6030
- access.error !== null ? /* @__PURE__ */ jsxs2("div", { className: "mx-meet__refusal", role: "alert", children: [
6040
+ access.error !== null ? /* @__PURE__ */ jsxs2(ErrorBox, { as: "div", className: "mx-meet__refusal", error: access.error, operation: "Change who can join", origin: "meet/components", children: [
6031
6041
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-reason", children: access.error.message }),
6032
6042
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-remedy", children: access.error.remedy })
6033
6043
  ] }) : null
@@ -6052,7 +6062,7 @@ function MeetingRecordBody({
6052
6062
  const [question, setQuestion] = useState3("");
6053
6063
  const [tab, setTab] = useState3("summary");
6054
6064
  if (record.failure !== null) {
6055
- return /* @__PURE__ */ jsx3("div", { className: "mx-meet mx-meet--record", children: /* @__PURE__ */ jsxs2("div", { className: "mx-meet__empty", role: "alert", children: [
6065
+ return /* @__PURE__ */ jsx3("div", { className: "mx-meet mx-meet--record", children: /* @__PURE__ */ jsxs2(ErrorBox, { as: "div", className: "mx-meet__empty", error: record.failure, operation: "Open this meeting record", origin: "meet/components", children: [
6056
6066
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__empty-title", children: "This meeting record could not be opened" }),
6057
6067
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__empty-body", children: record.failure.message }),
6058
6068
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__empty-body", children: record.failure.remedy })
@@ -6285,7 +6295,7 @@ function MeetingRecordBody({
6285
6295
  record.coverage.truncated ? " (the oldest were left out)" : "",
6286
6296
  "."
6287
6297
  ] }) : null,
6288
- record.askError !== null ? /* @__PURE__ */ jsxs2("div", { className: "mx-meet__refusal", role: "alert", children: [
6298
+ record.askError !== null ? /* @__PURE__ */ jsxs2(ErrorBox, { as: "div", className: "mx-meet__refusal", error: record.askError, operation: "Ask about this meeting", origin: "meet/components", children: [
6289
6299
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-reason", children: record.askError.message }),
6290
6300
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-remedy", children: record.askError.remedy })
6291
6301
  ] }) : null
@@ -6358,7 +6368,7 @@ function RecordingPlayerBody({ fileId, host }) {
6358
6368
  ] });
6359
6369
  }
6360
6370
  return /* @__PURE__ */ jsxs2("div", { className: "mx-meet__record-section", children: [
6361
- error !== null ? /* @__PURE__ */ jsxs2("div", { className: "mx-meet__refusal", role: "alert", children: [
6371
+ error !== null ? /* @__PURE__ */ jsxs2(ErrorBox, { as: "div", className: "mx-meet__refusal", error, operation: "Complete this meeting action", origin: "meet/components", children: [
6362
6372
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-reason", children: error.message }),
6363
6373
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__refusal-remedy", children: error.remedy })
6364
6374
  ] }) : null,
@@ -6400,7 +6410,7 @@ function MeetingList({ baseUrl }) {
6400
6410
  const list = useMeetings();
6401
6411
  if (host === null) return /* @__PURE__ */ jsx3(InertNotice, { what: "Your meetings" });
6402
6412
  if (list.failure !== null) {
6403
- return /* @__PURE__ */ jsxs2("div", { className: "mx-meet__empty", role: "alert", children: [
6413
+ return /* @__PURE__ */ jsxs2(ErrorBox, { as: "div", className: "mx-meet__empty", error: list.failure, operation: "List your meetings", origin: "meet/components", children: [
6404
6414
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__empty-title", children: "Your meetings could not be listed" }),
6405
6415
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__empty-body", children: list.failure.message }),
6406
6416
  /* @__PURE__ */ jsx3("p", { className: "mx-meet__empty-body", children: list.failure.remedy })