# 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_url` derived from `$page.url.href`. - In the derivation logic: - Instantiate a `new URL`. - Check if `key` is present in `searchParams`. If missing, pull from `$ae_loc.allow_access` or `$ae_loc.site_access_key`. - Check if `uuid` is present in `searchParams`. If missing, pull from `$idaa_loc.novi_uuid`. - Return the resulting `href`. - Update the following UI elements to use `breakout_url`: - `copy_meeting_link` function (uses `navigator.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 `key` and `uuid` in 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 `key` and `uuid` are 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. - Run `npx svelte-check` to ensure no syntax regressions.