Merge branch 'dev'
CI/CD / deploy (push) Failing after 2m20s
Details
CI/CD / deploy (push) Failing after 2m20s
Details
This commit is contained in:
commit
5af2eec04e
|
|
@ -466,6 +466,59 @@ routes.get("/:room", (c) => {
|
|||
}));
|
||||
}
|
||||
|
||||
// Minimal mode — full-screen Jitsi without rSpace shell (for scheduled meeting links)
|
||||
if (c.req.query("minimal") === "1" || c.req.query("join") === "1") {
|
||||
const jitsiRoom = encodeURIComponent(room);
|
||||
return c.html(`<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>${escapeHtml(room)} — Meeting</title>
|
||||
<style>
|
||||
*{margin:0;padding:0;box-sizing:border-box}
|
||||
html,body{height:100%;overflow:hidden;background:#111;font-family:system-ui,sans-serif}
|
||||
#jitsi-container{width:100%;height:100%}
|
||||
.loading{display:flex;align-items:center;justify-content:center;height:100%;color:#94a3b8;flex-direction:column;gap:12px}
|
||||
.loading .spinner{width:32px;height:32px;border:3px solid #334155;border-top-color:#6366f1;border-radius:50%;animation:spin 0.8s linear infinite}
|
||||
@keyframes spin{to{transform:rotate(360deg)}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="jitsi-container">
|
||||
<div class="loading"><div class="spinner"></div><span>Connecting to meeting...</span></div>
|
||||
</div>
|
||||
<script src="${escapeHtml(JITSI_URL)}/external_api.js"></script>
|
||||
<script>
|
||||
const api = new JitsiMeetExternalAPI("${escapeHtml(JITSI_URL.replace(/^https?:\/\//, ""))}", {
|
||||
roomName: "${jitsiRoom}",
|
||||
parentNode: document.getElementById("jitsi-container"),
|
||||
width: "100%",
|
||||
height: "100%",
|
||||
configOverrides: {
|
||||
startWithAudioMuted: false,
|
||||
startWithVideoMuted: false,
|
||||
prejoinPageEnabled: true,
|
||||
disableDeepLinking: true,
|
||||
},
|
||||
interfaceConfigOverrides: {
|
||||
SHOW_JITSI_WATERMARK: false,
|
||||
SHOW_BRAND_WATERMARK: false,
|
||||
SHOW_POWERED_BY: false,
|
||||
TOOLBAR_BUTTONS: [
|
||||
"microphone","camera","closedcaptions","desktop","fullscreen",
|
||||
"fodeviceselection","hangup","chat","recording","livestreaming",
|
||||
"etherpad","settings","raisehand","videoquality","filmstrip",
|
||||
"feedback","shortcuts","tileview","participants-pane",
|
||||
],
|
||||
},
|
||||
});
|
||||
api.addEventListener("readyToClose", () => { window.close(); });
|
||||
</script>
|
||||
</body>
|
||||
</html>`);
|
||||
}
|
||||
|
||||
return c.html(renderShell({
|
||||
title: `${room} — rMeets | rSpace`,
|
||||
moduleId: "rmeets",
|
||||
|
|
|
|||
|
|
@ -2936,6 +2936,7 @@ for (const mod of getAllModules()) {
|
|||
|
||||
// Landing page: rspace.online/ → server-rendered main landing
|
||||
app.get("/", (c) => {
|
||||
c.header("Cache-Control", "no-cache, no-store, must-revalidate");
|
||||
return c.html(renderMainLanding(getModuleInfoList()));
|
||||
});
|
||||
|
||||
|
|
@ -3352,7 +3353,7 @@ const server = Bun.serve<WSData>({
|
|||
redirectUrl = `https://rspace.online/${standaloneModuleId}${remainingPath}`;
|
||||
}
|
||||
if (url.search) redirectUrl += url.search;
|
||||
return Response.redirect(redirectUrl, 301);
|
||||
return Response.redirect(redirectUrl, 302);
|
||||
}
|
||||
|
||||
// ── WebSocket upgrade ──
|
||||
|
|
|
|||
Loading…
Reference in New Issue