0
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-08-04 10:39:43 +08:00
discourse/plugins/discourse-calendar/spec/jobs
Martin Brennan 2ff5b99a4d
FEATURE: Embedded Zoom webinar for livestream events (#40973)
This commit adds support for embedding a Zoom webinar
livestream directly within a Discourse Event via a URL in
the location field of the event in the topic.

Admins must supply a Zoom API key and secret in the plugin
settings for this functionality to be available using
these settings:

* livestream_zoom_enabled
* livestream_zoom_sdk_key
* livestream_zoom_sdk_secret

When a topic is opened with a Zoom URL in the event location,
and the Livestream toggle is enabled, the
Zoom library dependencies will be loaded asyncrhonously
and the Zoom webinar will be embedded within the topic page
using the Zoom component view.

On mobile, a fullscreen Zoom client using the Zoom client view
will be used, with a floating Chat button that opens the Discourse
livestream chat in a modal which slides up from the bottom
of the screen in an overlay. This client view is at `/t/:id/:slug/zoom` 

### Webinar event date/time not reached

<img width="880" height="612" alt="image"
src="https://github.com/user-attachments/assets/4b112b59-eed0-4d63-b166-da825d8ebd0b"
/>

### Within 30 minutes before and 10 minutes after the event date/time

<img width="879" height="613" alt="image"
src="https://github.com/user-attachments/assets/373191f8-6245-4b41-b2a8-161c935166be"
/>

### Attendee joined before host, we will retry join every 30s

<img width="735" height="817" alt="image"
src="https://github.com/user-attachments/assets/519afa51-8099-4af0-954f-08da4c7e3297"
/>

### Attendee joined

<img width="733" height="831" alt="image"
src="https://github.com/user-attachments/assets/f633d21f-956e-4bec-a2f8-f7dc8b95d974"
/>

---------

Co-authored-by: David Taylor <david@taylorhq.com>
Co-authored-by: awesomerobot <kris.aubuchon@discourse.org>
2026-07-16 10:58:56 +10:00
..
regular/discourse_post_event FEATURE: Embedded Zoom webinar for livestream events (#40973) 2026-07-16 10:58:56 +10:00
scheduled
export_post_event_report_csv_spec.rb DEV: Enable Style/RedundantBegin rubocop rule (#40096) 2026-05-19 18:44:54 +02:00