From b5b0cc3dc38a788fc2016823a1a637181ffafa9d Mon Sep 17 00:00:00 2001 From: Bennett Wu <57691028+bennettrwu@users.noreply.github.com> Date: Tue, 9 Sep 2025 16:20:34 -0500 Subject: [PATCH 1/2] Automatically select secure/not secure protocols --- src/components/navbars/topbar/apiDropdown.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/navbars/topbar/apiDropdown.tsx b/src/components/navbars/topbar/apiDropdown.tsx index 7f0ef5a..c5c5737 100644 --- a/src/components/navbars/topbar/apiDropdown.tsx +++ b/src/components/navbars/topbar/apiDropdown.tsx @@ -37,6 +37,8 @@ export default function ApiDropdown(props) { const serverAddress = urlParams.get('serverAddress'); const accessToken = urlParams.get('accessToken'); const sourceToken = urlParams.get('sourceToken'); + const wsProtocol = window.isSecureContext ? 'wss' : 'ws'; + const httpProtocol = window.isSecureContext ? 'https' : 'http'; // Automatically use scribear server as sink when in student mode or as sourcesink if in kiosk mode useEffect(() => { @@ -63,10 +65,10 @@ export default function ApiDropdown(props) { } if (mode === 'kiosk') { - switchToScribeARServer(`ws://${kioskServerAddress}/api/sourcesink`, undefined); + switchToScribeARServer(`${wsProtocol}://${kioskServerAddress}/api/sourcesink`, undefined); } else if (mode === 'student') { console.log("Sending startSession POST with accessToken:", accessToken); - fetch(`http://${serverAddress}/api/startSession`, { + fetch(`${httpProtocol}://${serverAddress}/api/startSession`, { method: 'POST', headers: { 'Content-Type': 'application/json' @@ -77,7 +79,7 @@ export default function ApiDropdown(props) { .then(data => { console.log('Session token:', data.sessionToken); - const scribearServerAddress = `ws://${serverAddress}/api/sink`; + const scribearServerAddress = `${wsProtocol}://${serverAddress}/api/sink`; switchToScribeARServer(scribearServerAddress, data.sessionToken); }) @@ -148,3 +150,4 @@ export default function ApiDropdown(props) { ); } + From 66b1abb8cc019125c2b22540e0eb355543a761e3 Mon Sep 17 00:00:00 2001 From: Bennett Wu <57691028+bennettrwu@users.noreply.github.com> Date: Tue, 9 Sep 2025 16:34:33 -0500 Subject: [PATCH 2/2] update qr code fetch --- src/components/navbars/topbar/qrCodeScreen.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/navbars/topbar/qrCodeScreen.tsx b/src/components/navbars/topbar/qrCodeScreen.tsx index e881d4f..88bc0ac 100644 --- a/src/components/navbars/topbar/qrCodeScreen.tsx +++ b/src/components/navbars/topbar/qrCodeScreen.tsx @@ -16,6 +16,7 @@ export default function QRCodeComponent() { const isStudentMode = urlParams.get('mode') === 'student'; const scribearURLParam = urlParams.get('scribearURL'); const sourceToken = urlParams.get('sourceToken'); + const httpProtocol = window.isSecureContext ? 'https' : 'http'; useEffect(() => { if (!isKioskMode) return; @@ -29,7 +30,7 @@ export default function QRCodeComponent() { let updateAccessTokenTimeout; function updateAccessToken() { - fetch(`${kioskServerAddress}/api/accessToken`, { + fetch(`${httpProtocol}://${kioskServerAddress}/api/accessToken`, { method: 'POST', headers: { 'Content-Type': 'application/json'