@ai-matrx/meet 0.7.73 → 0.7.76

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 CHANGED
@@ -1,5 +1,36 @@
1
1
  # Changelog — `@ai-matrx/meet`
2
2
 
3
+ ## 0.7.76
4
+
5
+ **The pre-join lobby is the design system, not a second one.** Before this, the
6
+ lobby rendered native `<select>`, `<input type="checkbox">` and pill `<button>`s
7
+ styled by this package's own CSS, so the first screen of every meeting looked
8
+ like a different product, and its settings column was `0.8fr` of the screen
9
+ (≈1,000px wide on a 2560px display, Join button stranded at the far edge).
10
+
11
+ - Device pickers (`DevicePicker`, also used in the in-room settings) are the
12
+ design-system `Select`; noise suppression and the join toggles are `Checkbox`
13
+ + `Label`; the background choice is `SegmentedControl`; Test and Join now are
14
+ `Button`; the recording-consent notice is `Alert` (`info`).
15
+ - Layout: the settings column holds at 300–400px and the composition centres
16
+ inside 1,200px.
17
+ - Guard: `components.test.tsx` "the pre-join lobby renders design-system
18
+ controls, never native ones" (fails on 0.7.75, passes here).
19
+
20
+ Consumer action: none.
21
+
22
+ ## 0.7.75
23
+
24
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
25
+ `git diff npm/meet/v0.7.73..npm/meet/v0.7.75 -- apps/shared/meet`).
26
+ No source changes intended and no consumer action required.
27
+
28
+ ## 0.7.74
29
+
30
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
31
+ `git diff npm/meet/v0.7.73..npm/meet/v0.7.74 -- apps/shared/meet`).
32
+ No source changes intended and no consumer action required.
33
+
3
34
  ## 0.7.73
4
35
 
5
36
  Automatic changed-only republish (docs/metadata drift since the last tag — see
package/dist/index.cjs CHANGED
@@ -406,6 +406,12 @@ var MEET_ROUTES = {
406
406
  record: "/api/v1/meet/record",
407
407
  /** A host chooses what guests may read of ONE meeting (MRF-1). */
408
408
  recordAccess: "/api/v1/meet/record/access",
409
+ /**
410
+ * KEEP YOUR NOTES (2026-10-01): a guest who just created an account presents
411
+ * their kept pass in `x-meet-room-token` with their new session, and the
412
+ * meeting they attended becomes theirs to read. Idempotent; never a grant.
413
+ */
414
+ claim: "/api/v1/meet/claim",
409
415
  /**
410
416
  * Meet wave 1 (0.8): bring every invitee up to date after a write — sends the
411
417
  * invitation / update / cancellation emails with their `.ics` and re-queues
@@ -5846,7 +5852,7 @@ var import_format2 = require("@ai-matrx/kit/format");
5846
5852
  function activeWrapUpSummary(notes) {
5847
5853
  return notes.find((note) => note.role === "summary" && note.supersededBy === null) ?? null;
5848
5854
  }
5849
- var RESTRICTION_REMEDY = "The people in this meeting's organization can read it. Sign in with an account in that organization \u2014 following the link is enough to join a meeting, but not to read its record.";
5855
+ var RESTRICTION_REMEDY = "Open it from the meeting link in the browser you attended with, or ask the host to share it.";
5850
5856
  var PART_LABEL = {
5851
5857
  transcript: "The transcript of this meeting is not readable from this account.",
5852
5858
  notes: "The notes, decisions and action items are not readable from this account.",
@@ -6105,7 +6111,8 @@ function summarizeMeetingRecordRestrictions(restrictions) {
6105
6111
  }
6106
6112
  async function loadGuestMeetingRecord(args) {
6107
6113
  const { api, repository, meetingId, meeting, roomToken } = args;
6108
- if (roomToken === null) {
6114
+ const session = args.session === true;
6115
+ if (roomToken === null && !session) {
6109
6116
  return refusedBundle(
6110
6117
  meeting,
6111
6118
  "This meeting's record is only readable by the people who were in it.",
@@ -6118,9 +6125,9 @@ async function loadGuestMeetingRecord(args) {
6118
6125
  path: `${MEET_ROUTES.record}?meeting_id=${encodeURIComponent(meetingId)}`,
6119
6126
  method: "GET",
6120
6127
  // A GUEST HAS NO SESSION AND IS STILL A FIRST-CLASS READER (D6).
6121
- requireAuth: false,
6128
+ requireAuth: session,
6122
6129
  operation: "meet.record",
6123
- headers: { [ROOM_TOKEN_HEADER]: roomToken.token }
6130
+ headers: roomToken === null ? {} : { [ROOM_TOKEN_HEADER]: roomToken.token }
6124
6131
  });
6125
6132
  } catch (error) {
6126
6133
  return refusedBundle(