From f111670f603a7c40f642f53ea4420e5b19c56d74 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 27 Mar 2026 14:27:06 -0400 Subject: [PATCH] feat(idaa): use URL g_uuid for Jitsi moderator group check Instead of checking membership across all groups in novi_idaa_group_guid_li (site config), pass the single g_uuid from the URL param. Each Novi iframe page supplies the group relevant to that specific meeting, so checking just that one group is both more precise and avoids unnecessary Novi API calls. Co-Authored-By: Claude Sonnet 4.6 --- src/routes/idaa/(idaa)/video_conferences/+page.svelte | 11 ++++++++--- src/routes/idaa/(idaa)/video_conferences/+page.ts | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/routes/idaa/(idaa)/video_conferences/+page.svelte b/src/routes/idaa/(idaa)/video_conferences/+page.svelte index 297cff68..9423f315 100644 --- a/src/routes/idaa/(idaa)/video_conferences/+page.svelte +++ b/src/routes/idaa/(idaa)/video_conferences/+page.svelte @@ -477,10 +477,15 @@ async function fetch_novi_data() { } } - const novi_idaa_group_guid_li = - $ae_loc.site_cfg_json?.novi_idaa_group_guid_li ?? []; + // Use the group UUID from the URL param to check membership in that specific group. + // Each Jitsi iframe page passes the relevant group's UUID — this is more precise than + // checking against a global list of all IDAA moderator groups from site config. + const group_uuid = url_params.g_uuid ?? null; + if (!group_uuid) { + console.warn('Jitsi: No g_uuid in URL — skipping group moderator check.'); + } const moderatorIdSet = await get_novi_group_moderators( - novi_idaa_group_guid_li, + group_uuid ? [group_uuid] : [], novi_api_root_url, novi_api_key ); diff --git a/src/routes/idaa/(idaa)/video_conferences/+page.ts b/src/routes/idaa/(idaa)/video_conferences/+page.ts index a3397b37..ff581ab7 100644 --- a/src/routes/idaa/(idaa)/video_conferences/+page.ts +++ b/src/routes/idaa/(idaa)/video_conferences/+page.ts @@ -4,6 +4,7 @@ export function load({ url }) { return { params: { uuid: url.searchParams.get('uuid'), + g_uuid: url.searchParams.get('g_uuid'), email: url.searchParams.get('email'), full_name: url.searchParams.get('full_name'), moderator: url.searchParams.get('moderator'),