@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.cjs CHANGED
@@ -2844,6 +2844,7 @@ function minutesLeft(policy, startedAtMs, nowMs) {
2844
2844
  function mayAdmitNow(role, participants, policy) {
2845
2845
  if (role === "none") return false;
2846
2846
  if (role === "host" || role === "cohost") return true;
2847
+ if (role === "viewer") return false;
2847
2848
  const hostIn = participants.some((p) => p.role === "host" || p.role === "cohost");
2848
2849
  return !hostIn && policy.headlessPowers === "members_admit";
2849
2850
  }
@@ -4656,6 +4657,17 @@ function createMeetingSession(options) {
4656
4657
  }
4657
4658
  return identity.userId;
4658
4659
  }
4660
+ function requireAdmitterUser(operation) {
4661
+ const snapshot = store.snapshot();
4662
+ if (identity.userId === null || !mayAdmitNow(effectiveRole(snapshot), snapshot.participants, snapshot.livePolicy)) {
4663
+ throw new MeetError(
4664
+ "forbidden",
4665
+ `${operation}: this participant may not let people in`,
4666
+ "Only a host or co-host admits people, unless the meeting has no host in it and lets members admit."
4667
+ );
4668
+ }
4669
+ return identity.userId;
4670
+ }
4659
4671
  function requireMeeting(operation) {
4660
4672
  const meeting = store.snapshot().meeting;
4661
4673
  if (meeting === null) {
@@ -5062,7 +5074,7 @@ function createMeetingSession(options) {
5062
5074
  meetingChannel.requestBackfill("manual");
5063
5075
  },
5064
5076
  async admit(entry, admitted) {
5065
- const by = requireHostUser("meet.admit");
5077
+ const by = requireAdmitterUser("meet.admit");
5066
5078
  const meeting = requireMeeting("meet.admit");
5067
5079
  const row = await repository.decideAdmission({
5068
5080
  meetingId: meeting.id,
@@ -5080,7 +5092,7 @@ function createMeetingSession(options) {
5080
5092
  hint();
5081
5093
  },
5082
5094
  async undeny(entry) {
5083
- const by = requireHostUser("meet.undeny");
5095
+ const by = requireAdmitterUser("meet.undeny");
5084
5096
  const meeting = requireMeeting("meet.undeny");
5085
5097
  const row = await repository.decideAdmission({
5086
5098
  meetingId: meeting.id,
@@ -5093,7 +5105,7 @@ function createMeetingSession(options) {
5093
5105
  hint();
5094
5106
  },
5095
5107
  async admitAll() {
5096
- const by = requireHostUser("meet.admitAll");
5108
+ const by = requireAdmitterUser("meet.admitAll");
5097
5109
  const meeting = requireMeeting("meet.admitAll");
5098
5110
  const rows = await repository.admitAll(meeting.id, by);
5099
5111
  for (const row of rows) {