@rapidmx/meet-plugin 0.2.0 → 0.3.1

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.
Files changed (46) hide show
  1. package/apps/meet/[token].tsx +51 -46
  2. package/apps/meet/_CallControls.tsx +255 -32
  3. package/apps/meet/_CallView.tsx +276 -114
  4. package/apps/meet/_MeetLobby.tsx +111 -142
  5. package/apps/meet/_ParticipantTile.tsx +51 -19
  6. package/apps/meet/_icons.tsx +54 -0
  7. package/apps/shared/media/chime.ts +74 -0
  8. package/apps/shared/media/deviceMedia.ts +3 -13
  9. package/apps/shared/media/useLocalMedia.ts +337 -0
  10. package/apps/shared/push/GuestSignalingClient.ts +2 -0
  11. package/apps/shared/webrtc/MeshConnectionManager.ts +237 -55
  12. package/apps/shared/webrtc/realPeerConnection.ts +16 -3
  13. package/apps/shared/webrtc/types.ts +58 -15
  14. package/dist/apps/meet/[token].js +31 -19
  15. package/dist/apps/meet/_CallControls.d.ts +20 -7
  16. package/dist/apps/meet/_CallControls.js +72 -3
  17. package/dist/apps/meet/_CallView.d.ts +24 -4
  18. package/dist/apps/meet/_CallView.js +142 -57
  19. package/dist/apps/meet/_MeetLobby.d.ts +16 -19
  20. package/dist/apps/meet/_MeetLobby.js +49 -99
  21. package/dist/apps/meet/_ParticipantTile.d.ts +12 -6
  22. package/dist/apps/meet/_ParticipantTile.js +12 -9
  23. package/dist/apps/meet/_icons.d.ts +15 -0
  24. package/dist/apps/meet/_icons.js +16 -0
  25. package/dist/apps/shared/media/chime.d.ts +31 -0
  26. package/dist/apps/shared/media/chime.js +49 -0
  27. package/dist/apps/shared/media/deviceMedia.d.ts +3 -7
  28. package/dist/apps/shared/media/deviceMedia.js +3 -12
  29. package/dist/apps/shared/media/useLocalMedia.d.ts +37 -0
  30. package/dist/apps/shared/media/useLocalMedia.js +259 -0
  31. package/dist/apps/shared/push/GuestSignalingClient.js +2 -0
  32. package/dist/apps/shared/webrtc/MeshConnectionManager.d.ts +63 -18
  33. package/dist/apps/shared/webrtc/MeshConnectionManager.js +232 -42
  34. package/dist/apps/shared/webrtc/realPeerConnection.js +16 -3
  35. package/dist/apps/shared/webrtc/types.d.ts +58 -15
  36. package/dist/apps/shared/webrtc/types.js +3 -1
  37. package/dist/lib/routes/BaseVideoMeetingRoute.js +58 -3
  38. package/dist/lib/routes/BaseVideoMeetingRoute.js.map +1 -1
  39. package/dist/lib/routes/mongo/VideoMeetingRouteMongo.js +2 -1
  40. package/dist/lib/routes/mongo/VideoMeetingRouteMongo.js.map +1 -1
  41. package/dist/lib/routes/sql/VideoMeetingRouteSQL.js +2 -1
  42. package/dist/lib/routes/sql/VideoMeetingRouteSQL.js.map +1 -1
  43. package/dist/types/routes/BaseVideoMeetingRoute.d.ts +15 -0
  44. package/dist/types/routes/mongo/VideoMeetingRouteMongo.d.ts +1 -0
  45. package/dist/types/routes/sql/VideoMeetingRouteSQL.d.ts +1 -0
  46. package/package.json +181 -181
@@ -50,6 +50,8 @@ export const GUEST_UID_PREFIX = "guest:";
50
50
  /** How many times `ensureChannelGrant()` retries an optimistic-lock conflict on the meeting's own ACL before
51
51
  * giving up - see that method's doc comment. */
52
52
  const GUEST_GRANT_MAX_ATTEMPTS = 5;
53
+ /** The `label` of every `CalendarEventAttendeeLink` `persistMeeting()` writes. */
54
+ const ATTENDEE_LINK_LABEL = "Join video call";
53
55
  /**
54
56
  * The owner's management of their own `VideoMeeting`s (JWT-authenticated, mailbox-ACL-checked exactly like any
55
57
  * other mailbox-scoped entity - see `booking-plugin`'s `BaseBookingTypeRoute` for the same "must own or hold a
@@ -218,6 +220,12 @@ export class BaseVideoMeetingRoute {
218
220
  if (!this.mailboxRepo) {
219
221
  this.mailboxRepo = await this._objectFactory.newInstance(RepoUtils, { name: this.mailboxClass.name, args: [this.mailboxClass] });
220
222
  }
223
+ if (!this.attendeeLinkRepo) {
224
+ this.attendeeLinkRepo = await this._objectFactory.newInstance(RepoUtils, {
225
+ name: this.attendeeLinkClass.name,
226
+ args: [this.attendeeLinkClass],
227
+ });
228
+ }
221
229
  }
222
230
  /** Rejects a `403` unless `user` (with its trusted roles stripped - see `util/RouteAccessUtils.ts`) holds
223
231
  * `action` on `mailboxUid`, by ownership or an explicit ACL grant. */
@@ -330,9 +338,50 @@ export class BaseVideoMeetingRoute {
330
338
  joinToken: mintJoinToken(),
331
339
  }), { user: strippedUser, ignoreACL: true }));
332
340
  }
341
+ // The meeting's calendar event is invited by `MeetingSchedulingJob`, which gives each attendee their own
342
+ // `LOCATION`/body link from the `CalendarEventAttendeeLink` rows written for that event here - without
343
+ // them every invitee only receives the event's shared placeholder location, never a working join link.
344
+ // Written in this same transaction, so a meeting never exists without the links its invite needs.
345
+ if (meeting.calendarEventUid) {
346
+ for (const invitee of invitees) {
347
+ const url = this.joinUrl(invitee.joinToken);
348
+ if (url) {
349
+ await this.attendeeLinkRepo.create(new this.attendeeLinkClass({
350
+ mailboxUid,
351
+ calendarEventUid: meeting.calendarEventUid,
352
+ attendeeAddress: invitee.email,
353
+ url,
354
+ label: ATTENDEE_LINK_LABEL,
355
+ }), { user: strippedUser, ignoreACL: true });
356
+ }
357
+ }
358
+ }
333
359
  }
334
360
  return { meeting, invitees };
335
361
  }
362
+ /**
363
+ * Deletes the `CalendarEventAttendeeLink` rows `persistMeeting()` wrote for `meeting`'s invitees, so a
364
+ * cancelled or deleted meeting's calendar event never keeps handing out join links to it. A row belongs to this
365
+ * meeting when it is for the meeting's own event and its `url` ends in one of `invitees`' own join tokens - the
366
+ * tokens (unlike the addresses, or the configured base URL, which may since have changed) name exactly this
367
+ * meeting's rows, so another meeting sharing the same event is never touched. A no-op for a meeting with no
368
+ * `calendarEventUid` (it never had any).
369
+ */
370
+ async deleteAttendeeLinks(meeting, invitees, user) {
371
+ if (!meeting.calendarEventUid) {
372
+ return;
373
+ }
374
+ const links = await this.attendeeLinkRepo.find({ mailboxUid: ModelUtils.literal(meeting.mailboxUid), calendarEventUid: ModelUtils.literal(meeting.calendarEventUid) }, { ignoreACL: true, skipCache: true });
375
+ for (const link of links) {
376
+ if (invitees.some((invitee) => link.url.endsWith(`/${invitee.joinToken}`))) {
377
+ await this.attendeeLinkRepo.delete(link.uid, { user, ignoreACL: true });
378
+ }
379
+ }
380
+ }
381
+ /** The meeting's own invitees. */
382
+ async findInvitees(meeting) {
383
+ return await this.inviteeRepo.find({ meetingUid: ModelUtils.literal(meeting.uid) }, { ignoreACL: true });
384
+ }
336
385
  /** The join URL for a token/slug, or `undefined` when no public URL is configured - see this class's doc
337
386
  * comment on `mail:videoconf:public_url`. */
338
387
  joinUrl(tokenOrSlug) {
@@ -423,13 +472,19 @@ export class BaseVideoMeetingRoute {
423
472
  if (patch.title === undefined && patch.status === undefined) {
424
473
  throw new ApiError(ApiErrors.INVALID_REQUEST, 400, "Nothing to update: supply 'title' and/or 'status'.");
425
474
  }
426
- return await this.meetingRepo.update(patch, meeting, { user: stripTrustedRoles(user, this.trustedRoles), ignoreACL: true });
475
+ const strippedUser = stripTrustedRoles(user, this.trustedRoles);
476
+ const updated = await this.meetingRepo.update(patch, meeting, { user: strippedUser, ignoreACL: true });
477
+ if (patch.status === VideoMeetingStatus.CANCELLED) {
478
+ await this.deleteAttendeeLinks(meeting, await this.findInvitees(meeting), strippedUser);
479
+ }
480
+ return updated;
427
481
  }
428
482
  async delete(id, user) {
429
483
  await this.init();
430
484
  const meeting = await this.requireOwnedMeeting(id, user, ACLAction.DELETE);
431
485
  const strippedUser = stripTrustedRoles(user, this.trustedRoles);
432
- const invitees = await this.inviteeRepo.find({ meetingUid: ModelUtils.literal(meeting.uid) }, { ignoreACL: true });
486
+ const invitees = await this.findInvitees(meeting);
487
+ await this.deleteAttendeeLinks(meeting, invitees, strippedUser);
433
488
  for (const invitee of invitees) {
434
489
  await this.inviteeRepo.delete(invitee.uid, { user: strippedUser, ignoreACL: true });
435
490
  }
@@ -709,7 +764,7 @@ __decorate([
709
764
  ], BaseVideoMeetingRoute.prototype, "update", null);
710
765
  __decorate([
711
766
  Summary("Deletes a video meeting."),
712
- Description("Deletes the meeting and every one of its invitees. Deleting the meeting also removes its own " +
767
+ Description("Deletes the meeting, every one of its invitees and the calendar invite links written for them. Deleting the meeting also removes its own " +
713
768
  "per-record AccessControlList (RepoUtils.delete()'s standard recordACL cleanup - see the VideoMeeting " +
714
769
  "interface's doc comment), so its uid stops working as a push channel immediately. Requires DELETE on " +
715
770
  "the meeting's owning mailbox."),
@@ -1 +1 @@
1
- {"version":3,"file":"BaseVideoMeetingRoute.js","sourceRoot":"","sources":["../../../src/routes/BaseVideoMeetingRoute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseVideoMeetingRoute.js","sourceRoot":"","sources":["../../../src/routes/BaseVideoMeetingRoute.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
9
9
  // SPDX-License-Identifier: MPL-2.0
10
10
  ///////////////////////////////////////////////////////////////////////////////
11
11
  import { RouteDecorators } from "@rapidrest/service-core";
12
- import { MailboxMongo } from "@rapidmx/restapi/mongo";
12
+ import { CalendarEventAttendeeLinkMongo, MailboxMongo } from "@rapidmx/restapi/mongo";
13
13
  import { VideoMeetingMongo } from "../../models/mongo/VideoMeetingMongo.js";
14
14
  import { VideoMeetingInviteeMongo } from "../../models/mongo/VideoMeetingInviteeMongo.js";
15
15
  import { BaseVideoMeetingRoute } from "../BaseVideoMeetingRoute.js";
@@ -21,6 +21,7 @@ let VideoMeetingRouteMongo = class VideoMeetingRouteMongo extends BaseVideoMeeti
21
21
  this.meetingClass = VideoMeetingMongo;
22
22
  this.inviteeClass = VideoMeetingInviteeMongo;
23
23
  this.mailboxClass = MailboxMongo;
24
+ this.attendeeLinkClass = CalendarEventAttendeeLinkMongo;
24
25
  }
25
26
  };
26
27
  VideoMeetingRouteMongo = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"VideoMeetingRouteMongo.js","sourceRoot":"","sources":["../../../../src/routes/mongo/VideoMeetingRouteMongo.ts"],"names":[],"mappings":";;;;;;AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;AAE5C,mHAAmH;AAG5G,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,qBAAgF;IAArH;;QACO,iBAAY,GAAQ,iBAAiB,CAAC;QACtC,iBAAY,GAAQ,wBAAwB,CAAC;QAC7C,iBAAY,GAAQ,YAAY,CAAC;IAC/C,CAAC;CAAA,CAAA;AAJY,sBAAsB;IAFlC,QAAQ,CAAC,qBAAqB,CAAC;IAC/B,KAAK,CAAC,iBAAiB,CAAC;GACZ,sBAAsB,CAIlC"}
1
+ {"version":3,"file":"VideoMeetingRouteMongo.js","sourceRoot":"","sources":["../../../../src/routes/mongo/VideoMeetingRouteMongo.ts"],"names":[],"mappings":";;;;;;AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;AAE5C,mHAAmH;AAG5G,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,qBAAgF;IAArH;;QACO,iBAAY,GAAQ,iBAAiB,CAAC;QACtC,iBAAY,GAAQ,wBAAwB,CAAC;QAC7C,iBAAY,GAAQ,YAAY,CAAC;QACjC,sBAAiB,GAAQ,8BAA8B,CAAC;IACtE,CAAC;CAAA,CAAA;AALY,sBAAsB;IAFlC,QAAQ,CAAC,qBAAqB,CAAC;IAC/B,KAAK,CAAC,iBAAiB,CAAC;GACZ,sBAAsB,CAKlC"}
@@ -9,7 +9,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
9
9
  // SPDX-License-Identifier: MPL-2.0
10
10
  ///////////////////////////////////////////////////////////////////////////////
11
11
  import { RouteDecorators } from "@rapidrest/service-core";
12
- import { MailboxSQL } from "@rapidmx/restapi/sql";
12
+ import { CalendarEventAttendeeLinkSQL, MailboxSQL } from "@rapidmx/restapi/sql";
13
13
  import { VideoMeetingSQL } from "../../models/sql/VideoMeetingSQL.js";
14
14
  import { VideoMeetingInviteeSQL } from "../../models/sql/VideoMeetingInviteeSQL.js";
15
15
  import { BaseVideoMeetingRoute } from "../BaseVideoMeetingRoute.js";
@@ -21,6 +21,7 @@ let VideoMeetingRouteSQL = class VideoMeetingRouteSQL extends BaseVideoMeetingRo
21
21
  this.meetingClass = VideoMeetingSQL;
22
22
  this.inviteeClass = VideoMeetingInviteeSQL;
23
23
  this.mailboxClass = MailboxSQL;
24
+ this.attendeeLinkClass = CalendarEventAttendeeLinkSQL;
24
25
  }
25
26
  };
26
27
  VideoMeetingRouteSQL = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"VideoMeetingRouteSQL.js","sourceRoot":"","sources":["../../../../src/routes/sql/VideoMeetingRouteSQL.ts"],"names":[],"mappings":";;;;;;AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;AAE5C,mHAAmH;AAG5G,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,qBAA0E;IAA7G;;QACO,iBAAY,GAAQ,eAAe,CAAC;QACpC,iBAAY,GAAQ,sBAAsB,CAAC;QAC3C,iBAAY,GAAQ,UAAU,CAAC;IAC7C,CAAC;CAAA,CAAA;AAJY,oBAAoB;IAFhC,QAAQ,CAAC,qBAAqB,CAAC;IAC/B,KAAK,CAAC,eAAe,CAAC;GACV,oBAAoB,CAIhC"}
1
+ {"version":3,"file":"VideoMeetingRouteSQL.js","sourceRoot":"","sources":["../../../../src/routes/sql/VideoMeetingRouteSQL.ts"],"names":[],"mappings":";;;;;;AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,mCAAmC;AACnC,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;AAE5C,mHAAmH;AAG5G,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,qBAA0E;IAA7G;;QACO,iBAAY,GAAQ,eAAe,CAAC;QACpC,iBAAY,GAAQ,sBAAsB,CAAC;QAC3C,iBAAY,GAAQ,UAAU,CAAC;QAC/B,sBAAiB,GAAQ,4BAA4B,CAAC;IACpE,CAAC;CAAA,CAAA;AALY,oBAAoB;IAFhC,QAAQ,CAAC,qBAAqB,CAAC;IAC/B,KAAK,CAAC,eAAe,CAAC;GACV,oBAAoB,CAKhC"}
@@ -240,10 +240,14 @@ export declare abstract class BaseVideoMeetingRoute<VM extends VideoMeeting, VMI
240
240
  protected abstract meetingClass: any;
241
241
  protected abstract inviteeClass: any;
242
242
  protected abstract mailboxClass: any;
243
+ /** The concrete `CalendarEventAttendeeLink` class for this backend (`CalendarEventAttendeeLinkMongo`/
244
+ * `CalendarEventAttendeeLinkSQL`, from `@rapidmx/restapi`) - see `persistMeeting()`. */
245
+ protected abstract attendeeLinkClass: any;
243
246
  private _objectFactory?;
244
247
  private meetingRepo?;
245
248
  private inviteeRepo?;
246
249
  private mailboxRepo?;
250
+ private attendeeLinkRepo?;
247
251
  private aclUtils?;
248
252
  private trustedRoles;
249
253
  /** The `auth` config every other JWT in this deployment is signed/verified with - used by `mintGuestToken()` to
@@ -288,6 +292,17 @@ export declare abstract class BaseVideoMeetingRoute<VM extends VideoMeeting, VMI
288
292
  meeting: VM;
289
293
  invitees: VMI[];
290
294
  }>;
295
+ /**
296
+ * Deletes the `CalendarEventAttendeeLink` rows `persistMeeting()` wrote for `meeting`'s invitees, so a
297
+ * cancelled or deleted meeting's calendar event never keeps handing out join links to it. A row belongs to this
298
+ * meeting when it is for the meeting's own event and its `url` ends in one of `invitees`' own join tokens - the
299
+ * tokens (unlike the addresses, or the configured base URL, which may since have changed) name exactly this
300
+ * meeting's rows, so another meeting sharing the same event is never touched. A no-op for a meeting with no
301
+ * `calendarEventUid` (it never had any).
302
+ */
303
+ private deleteAttendeeLinks;
304
+ /** The meeting's own invitees. */
305
+ private findInvitees;
291
306
  /** The join URL for a token/slug, or `undefined` when no public URL is configured - see this class's doc
292
307
  * comment on `mail:videoconf:public_url`. */
293
308
  private joinUrl;
@@ -7,4 +7,5 @@ export declare class VideoMeetingRouteMongo extends BaseVideoMeetingRoute<VideoM
7
7
  protected meetingClass: any;
8
8
  protected inviteeClass: any;
9
9
  protected mailboxClass: any;
10
+ protected attendeeLinkClass: any;
10
11
  }
@@ -7,4 +7,5 @@ export declare class VideoMeetingRouteSQL extends BaseVideoMeetingRoute<VideoMee
7
7
  protected meetingClass: any;
8
8
  protected inviteeClass: any;
9
9
  protected mailboxClass: any;
10
+ protected attendeeLinkClass: any;
10
11
  }