integration: Generate dynamic name for BigBlueButton video calls.

The name for a BigBlueButton meeting is now generated from the stream
name and topic name.

The createTime option is used to have the user redirected to a link
that is only valid for this meeting.

Even if the same link in Zulip is used again, a new createTime
parameter will be created, as the Meeting on the BigBlueButton server
has to be recreated.

Fixes #16498.
Fixes #20509.
Fixes #20804.
This commit is contained in:
strifel
2020-10-20 19:25:34 +02:00
committed by Tim Abbott
parent 0d117ab033
commit a967a86b10
5 changed files with 158 additions and 88 deletions

View File

@@ -5,6 +5,7 @@ import _ from "lodash";
import * as blueslip from "./blueslip";
import * as channel from "./channel";
import * as compose_actions from "./compose_actions";
import {get_recipient_label} from "./compose_closed_ui";
import * as compose_error from "./compose_error";
import * as compose_fade from "./compose_fade";
import * as compose_state from "./compose_state";
@@ -616,8 +617,12 @@ export function initialize() {
available_providers.big_blue_button &&
page_params.realm_video_chat_provider === available_providers.big_blue_button.id
) {
const meeting_name = get_recipient_label() + " meeting";
channel.get({
url: "/json/calls/bigbluebutton/create",
data: {
meeting_name,
},
success(response) {
insert_video_call_url(response.url, $target_textarea);
},