From 8b60a090211b52f6281cd2dda4004dae58178df0 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 12 Dec 2025 17:24:51 -0500 Subject: [PATCH] Saving Gemini's notes --- GEMINI.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/GEMINI.md b/GEMINI.md index c08326be..9ff114dc 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -82,4 +82,20 @@ A standard pattern for fetching, processing, and caching data has been establish - **Example (`event_badge`):** The `search__event_badge` API endpoint does not include the `event_id` in its results. The `process_ae_obj__event_badge_props` function now accepts the `event_id` as a parameter and injects it into each badge object before it's saved. This centralizes the fix and keeps the API-calling function clean. 4. **Database Caching (`db_save_ae_obj_li__ae_obj`):** After processing, the clean and consistent data is passed to the generic `db_save` function to be cached in IndexedDB. -This pattern isolates API logic from data shaping logic, making the code more modular, predictable, and easier to debug. \ No newline at end of file +This pattern isolates API logic from data shaping logic, making the code more modular, predictable, and easier to debug. + +### Session Learnings (2025-12-12) + +**Context:** Prepared for the upcoming IDAA meeting by working on the new Jitsi video conferencing page and its corresponding Novi iframe template. + +**Key Learnings & Actions:** +* **Suppressing Svelte Warnings:** Added an `onwarn` handler to `svelte.config.js` to suppress `state_referenced_locally`, `non_reactive_update`, and `css_unused_selector` warnings for the time being. This helps to focus on critical errors during development. +* **Configuration Management:** + - Initial approach of using `.env` files for Novi/Jitsi configuration was incorrect for this project. + - **Correct Approach:** Configuration values (`jitsi_token_endpoint`, `novi_idaa_api_key`, `novi_idaa_group_guid_li`) are stored in the database and accessed via the `$ae_loc.site_cfg_json` Svelte store. + - The `.../video_conferences/+page.svelte` component was refactored to use the `$ae_loc` store instead of `import.meta.env`. + - The logic for fetching moderators was updated to iterate through a list of group GUIDs (`novi_idaa_group_guid_li`) from the store. +* **Static Iframe Bridges:** + - The `static/idaa_novi_iframe_jitsi_meeting.html` file acts as a bridge, taking Novi-templated user variables (`<%=Novi.User.*%>`) and passing them as URL parameters to the Svelte application (`/idaa/video_conferences`). + - **User Feedback:** An attempt to simplify this bridge by removing a client-side `fetch` call for user details was reverted by the user. This indicates that the original, more complex logic (which constructs `full_name` from `FirstName` and `LastName`) is necessary. This is an important lesson in not over-simplifying third-party integration code without full context. + - The bridge was updated to include an interactive UI for setting Jitsi parameters (e.g., sound settings, moderator settings) and dynamically rebuilding the iframe `src`.