@ai-matrx/meet 0.11.52 → 0.11.53

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
@@ -2517,6 +2517,7 @@ function minutesLeft(policy, startedAtMs, nowMs) {
2517
2517
  function mayAdmitNow(role, participants, policy) {
2518
2518
  if (role === "none") return false;
2519
2519
  if (role === "host" || role === "cohost") return true;
2520
+ if (role === "viewer") return false;
2520
2521
  const hostIn = participants.some((p) => p.role === "host" || p.role === "cohost");
2521
2522
  return !hostIn && policy.headlessPowers === "members_admit";
2522
2523
  }
@@ -4329,6 +4330,17 @@ function createMeetingSession(options) {
4329
4330
  }
4330
4331
  return identity.userId;
4331
4332
  }
4333
+ function requireAdmitterUser(operation) {
4334
+ const snapshot = store.snapshot();
4335
+ if (identity.userId === null || !mayAdmitNow(effectiveRole(snapshot), snapshot.participants, snapshot.livePolicy)) {
4336
+ throw new MeetError(
4337
+ "forbidden",
4338
+ `${operation}: this participant may not let people in`,
4339
+ "Only a host or co-host admits people, unless the meeting has no host in it and lets members admit."
4340
+ );
4341
+ }
4342
+ return identity.userId;
4343
+ }
4332
4344
  function requireMeeting(operation) {
4333
4345
  const meeting = store.snapshot().meeting;
4334
4346
  if (meeting === null) {
@@ -4735,7 +4747,7 @@ function createMeetingSession(options) {
4735
4747
  meetingChannel.requestBackfill("manual");
4736
4748
  },
4737
4749
  async admit(entry, admitted) {
4738
- const by = requireHostUser("meet.admit");
4750
+ const by = requireAdmitterUser("meet.admit");
4739
4751
  const meeting = requireMeeting("meet.admit");
4740
4752
  const row = await repository.decideAdmission({
4741
4753
  meetingId: meeting.id,
@@ -4753,7 +4765,7 @@ function createMeetingSession(options) {
4753
4765
  hint();
4754
4766
  },
4755
4767
  async undeny(entry) {
4756
- const by = requireHostUser("meet.undeny");
4768
+ const by = requireAdmitterUser("meet.undeny");
4757
4769
  const meeting = requireMeeting("meet.undeny");
4758
4770
  const row = await repository.decideAdmission({
4759
4771
  meetingId: meeting.id,
@@ -4766,7 +4778,7 @@ function createMeetingSession(options) {
4766
4778
  hint();
4767
4779
  },
4768
4780
  async admitAll() {
4769
- const by = requireHostUser("meet.admitAll");
4781
+ const by = requireAdmitterUser("meet.admitAll");
4770
4782
  const meeting = requireMeeting("meet.admitAll");
4771
4783
  const rows = await repository.admitAll(meeting.id, by);
4772
4784
  for (const row of rows) {