2.1 KiB
2.1 KiB
Plan: Fix IDAA Jitsi Breakout Links
IDAA Jitsi meetings are embedded in an iframe on the idaa.org website. To allow members to "break out" of the iframe (for a better experience on mobile or to use full-tab features), the app provides an "Open Meeting Externally" link.
Currently, this link is generated from $page.url.href, which often lacks the key (site access key) and uuid (Novi identity token) required for Aether's authentication gate, especially if the user has navigated internally within SvelteKit.
1. Objective
Ensure all "Breakout" and "Copy Link" actions on the IDAA Video Conferences page include the necessary key and uuid parameters.
2. Implementation Steps
Step 1: Update src/routes/idaa/(idaa)/video_conferences/+page.svelte
- Create a reactive
breakout_urlderived from$page.url.href. - In the derivation logic:
- Instantiate a
new URL. - Check if
keyis present insearchParams. If missing, pull from$ae_loc.allow_accessor$ae_loc.site_access_key. - Check if
uuidis present insearchParams. If missing, pull from$idaa_loc.novi_uuid. - Return the resulting
href.
- Instantiate a
- Update the following UI elements to use
breakout_url:copy_meeting_linkfunction (usesnavigator.clipboard.writeText).- "Open in New Tab" anchor tag (
href). - "Copy Link" fallback textarea (
value). - "Copy Break-out Link" in the Jitsi Tools panel (
value).
Step 2: Update documentation/CLIENT__IDAA_and_customized_mods.md
- Add a note in the "Authentication: Novi UUID System" or "Iframe Integration" section about the requirement for
keyanduuidin breakout links. - Document that the frontend now automatically re-injects these for external links to ensure persistent session access outside the iframe.
3. Verification
- Manually verify the logic:
- If
keyanduuidare already in the URL (e.g., initial load), the derived URL should remain unchanged (or correctly deduplicated). - If they are missing (e.g., after navigating from another IDAA page), they should be added to the generated link.
- If
- Run
npx svelte-checkto ensure no syntax regressions.