Skip to content

Commit 25d125f

Browse files
committed
Merge branch 'v1.16.5-mconf' into v1.18.3-mconf
# Conflicts: # .github/workflows/build-test-and-deploy.yml # docker-compose.yaml # play/src/common/FrontConfigurationInterface.ts # play/src/front/Components/ActionBar/ActionBar.svelte # play/src/front/WebRtc/ScreenSharingPeer.ts # play/src/front/WebRtc/VideoPeer.ts # play/src/pusher/enums/EnvironmentVariable.ts # play/src/pusher/enums/EnvironmentVariableValidator.ts
2 parents c703521 + 29d61f9 commit 25d125f

File tree

8 files changed

+116
-724
lines changed

8 files changed

+116
-724
lines changed

.github/workflows/build-test-and-deploy.yml

Lines changed: 57 additions & 709 deletions
Large diffs are not rendered by default.

back/src/Services/SocketManager.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -928,7 +928,6 @@ export class SocketManager {
928928
const clientURL = api.administration.join(user.name, meetingId, isAdmin ? moderatorPW : attendeePW, {
929929
...joinParams,
930930
userID: user.id,
931-
joinViaHtml5: true,
932931
});
933932
console.log(
934933
`User "${user.name}" (${user.uuid}) joined the BBB meeting "${meetingName}" as ${

play/src/common/FrontConfigurationInterface.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,6 @@ export interface FrontConfigurationInterface {
5252
PEER_VIDEO_RECOMMENDED_BANDWIDTH: number;
5353
PEER_SCREEN_SHARE_LOW_BANDWIDTH: number;
5454
PEER_SCREEN_SHARE_RECOMMENDED_BANDWIDTH: number;
55+
BBB_MOBILE_ENABLED: boolean;
56+
BBB_MOBILE_DIRECT_JOIN_PREFIX: string | undefined;
5557
}

play/src/front/Components/EmbedScreens/CoWebsiteThumbnailSlot.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
cowebsiteName = "Jitsi meeting";
3535
} else if (isBBB) {
3636
icon.src = meetingIcon;
37-
cowebsiteName = "BigBlueButton meeting";
37+
cowebsiteName = "Elos meeting";
3838
} else {
3939
icon.src = `${ICON_URL}/icon?url=${encodeURIComponent(
4040
coWebsite.getUrl().toString()

play/src/front/Enum/EnvironmentVariable.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,6 @@ export const GOOGLE_DOCS_ENABLED = env.GOOGLE_DOCS_ENABLED;
6565
export const GOOGLE_SHEETS_ENABLED = env.GOOGLE_SHEETS_ENABLED;
6666
export const GOOGLE_SLIDES_ENABLED = env.GOOGLE_SLIDES_ENABLED;
6767
export const ERASER_ENABLED = env.ERASER_ENABLED;
68+
69+
export const BBB_MOBILE_ENABLED = env.BBB_MOBILE_ENABLED;
70+
export const BBB_MOBILE_DIRECT_JOIN_PREFIX = env.BBB_MOBILE_DIRECT_JOIN_PREFIX;

play/src/front/Phaser/Game/GameMapPropertiesListener.ts

Lines changed: 47 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@ import { ON_ACTION_TRIGGER_BUTTON, ON_ICON_TRIGGER_BUTTON } from "../../WebRtc/L
1212
import type { CoWebsite } from "../../WebRtc/CoWebsite/CoWebsite";
1313
import { SimpleCoWebsite } from "../../WebRtc/CoWebsite/SimpleCoWebsite";
1414
import { bbbFactory } from "../../WebRtc/BBBFactory";
15-
import { JITSI_PRIVATE_MODE, JITSI_URL } from "../../Enum/EnvironmentVariable";
15+
import {
16+
JITSI_PRIVATE_MODE,
17+
JITSI_URL,
18+
BBB_MOBILE_ENABLED,
19+
BBB_MOBILE_DIRECT_JOIN_PREFIX
20+
} from "../../Enum/EnvironmentVariable";
1621
import { JitsiCoWebsite } from "../../WebRtc/CoWebsite/JitsiCoWebsite";
1722
import { audioManagerFileStore, audioManagerVisibilityStore } from "../../Stores/AudioManagerStore";
1823
import { iframeListener } from "../../Api/IframeListener";
@@ -26,6 +31,7 @@ import type { GameMapFrontWrapper } from "./GameMap/GameMapFrontWrapper";
2631
import type { GameScene } from "./GameScene";
2732
import { AreasPropertiesListener } from "./MapEditor/AreasPropertiesListener";
2833
import { gameManager } from "./GameManager";
34+
import { isMediaBreakpointUp } from "../../Utils/BreakpointsUtils";
2935

3036
export interface OpenCoWebsite {
3137
actionId: string;
@@ -207,20 +213,48 @@ export class GameMapPropertiesListener {
207213
return;
208214
}
209215
}
216+
210217
inBbbStore.set(true);
211218
bbbFactory.setStopped(false);
212-
bbbFactory
213-
.parametrizeMeetingId(newValue as string)
214-
.then((hashedMeetingId) => {
215-
if (this.scene.connection === undefined) {
216-
throw new Error("No more connection to open BBB");
217-
}
218-
return this.scene.connection.queryBBBMeetingUrl(hashedMeetingId, allProps);
219-
})
220-
.then((bbbAnswer) => {
221-
bbbFactory.start(bbbAnswer.clientURL);
222-
})
223-
.catch((e) => console.error(e));
219+
220+
let isMobile = isMediaBreakpointUp("md");
221+
if (BBB_MOBILE_ENABLED && isMobile) {
222+
let message = allProps.get(GameMapProperties.OPEN_WEBSITE_TRIGGER_MESSAGE);
223+
if (message === undefined) {
224+
message = get(LL).trigger.newTab();
225+
}
226+
layoutManagerActionStore.addAction({
227+
uuid: "openTab",
228+
type: "message",
229+
message: message,
230+
callback: () => bbbFactory
231+
.parametrizeMeetingId(newValue as string)
232+
.then((hashedMeetingId) => {
233+
if (this.scene.connection === undefined) {
234+
throw new Error("No more connection to open BBB");
235+
}
236+
return this.scene.connection.queryBBBMeetingUrl(hashedMeetingId, allProps);
237+
})
238+
.then((bbbAnswer) => {
239+
scriptUtils.openTab(BBB_MOBILE_DIRECT_JOIN_PREFIX + bbbAnswer.clientURL.replace(/^https?:\/\//, ''));
240+
})
241+
.catch((e) => console.error(e)),
242+
userInputManager: this.scene.userInputManager,
243+
});
244+
} else {
245+
bbbFactory
246+
.parametrizeMeetingId(newValue as string)
247+
.then((hashedMeetingId) => {
248+
if (this.scene.connection === undefined) {
249+
throw new Error("No more connection to open BBB");
250+
}
251+
return this.scene.connection.queryBBBMeetingUrl(hashedMeetingId, allProps);
252+
})
253+
.then((bbbAnswer) => {
254+
bbbFactory.start(bbbAnswer.clientURL);
255+
})
256+
.catch((e) => console.error(e));
257+
}
224258
});
225259

226260
this.gameMapFrontWrapper.onPropertyChange(GameMapProperties.EXIT_SCENE_URL, (newValue) => {

play/src/pusher/enums/EnvironmentVariable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,4 +156,6 @@ export const FRONT_ENVIRONMENT_VARIABLES: FrontConfigurationInterface = {
156156
PEER_VIDEO_RECOMMENDED_BANDWIDTH: parseInt(env.PEER_VIDEO_RECOMMENDED_BANDWIDTH || "600"),
157157
PEER_SCREEN_SHARE_LOW_BANDWIDTH: parseInt(env.PEER_SCREEN_SHARE_LOW_BANDWIDTH || "250"),
158158
PEER_SCREEN_SHARE_RECOMMENDED_BANDWIDTH: parseInt(env.PEER_SCREEN_SHARE_RECOMMENDED_BANDWIDTH || "1000"),
159+
BBB_MOBILE_ENABLED: env.BBB_MOBILE_ENABLED,
160+
BBB_MOBILE_DIRECT_JOIN_PREFIX: env.BBB_MOBILE_DIRECT_JOIN_PREFIX,
159161
};

play/src/pusher/enums/EnvironmentVariableValidator.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,10 @@ export const EnvironmentVariables = z.object({
129129
PEER_VIDEO_RECOMMENDED_BANDWIDTH: PositiveIntAsString.optional(),
130130
PEER_SCREEN_SHARE_LOW_BANDWIDTH: PositiveIntAsString.optional(),
131131
PEER_SCREEN_SHARE_RECOMMENDED_BANDWIDTH: PositiveIntAsString.optional(),
132+
133+
// Allow bbb-mobile-sdk direct join
134+
BBB_MOBILE_ENABLED: BoolAsString.optional().transform((val) => toBool(val, false)),
135+
BBB_MOBILE_DIRECT_JOIN_PREFIX: z.string().optional(),
132136
});
133137

134138
export type EnvironmentVariables = z.infer<typeof EnvironmentVariables>;

0 commit comments

Comments
 (0)