Did some package updates, Svelte build changes (fewer warnings), work on IDAA and Jitsi service.
This commit is contained in:
18
src/app.d.ts
vendored
18
src/app.d.ts
vendored
@@ -2,8 +2,24 @@
|
||||
// for information about these interfaces
|
||||
// and what to do when importing types
|
||||
declare namespace App {
|
||||
// interface Locals {}
|
||||
interface Locals {
|
||||
userid: string;
|
||||
}
|
||||
// interface PageData {}
|
||||
// interface Error {}
|
||||
// interface Platform {}
|
||||
}
|
||||
|
||||
declare global {
|
||||
namespace App {
|
||||
interface Platform {}
|
||||
}
|
||||
interface ImportMetaEnv {
|
||||
VITE_NOVI_API_KEY: string;
|
||||
VITE_NOVI_MOD_GROUP_GUID: string;
|
||||
VITE_JITSI_TOKEN_ENDPOINT: string;
|
||||
}
|
||||
interface ImportMeta {
|
||||
readonly env: ImportMetaEnv;
|
||||
}
|
||||
}
|
||||
@@ -473,6 +473,7 @@
|
||||
class="input text-xl hover:text-3xl font-bold font-mono w-96"
|
||||
hover:w-2/5
|
||||
-->
|
||||
<!-- svelte-ignore a11y_autofocus -->
|
||||
<input
|
||||
type="search"
|
||||
placeholder="name, email"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
room_name: string,
|
||||
user_id: string
|
||||
) {
|
||||
const token_endpoint = 'https://dev-api.oneskyit.com/api/jitsi_token';
|
||||
const token_endpoint = import.meta.env.VITE_JITSI_TOKEN_ENDPOINT;
|
||||
|
||||
const payload = {
|
||||
name: display_name,
|
||||
@@ -63,7 +63,9 @@
|
||||
}
|
||||
|
||||
onMount(async () => {
|
||||
console.log('Jitsi: onMount - starting initialization...');
|
||||
const url_params = data.params;
|
||||
console.log('Jitsi: url_params:', url_params);
|
||||
|
||||
// --- Start with fallback data from URL ---
|
||||
let user_id = url_params.uuid;
|
||||
@@ -73,27 +75,31 @@
|
||||
const room_name = url_params.room ?? 'Default-Room';
|
||||
const domain = url_params.domain ?? 'jitsi.dgrzone.com';
|
||||
|
||||
console.log(`Jitsi: user_id: ${user_id}, display_name: ${display_name}, email: ${email}, room_name: ${room_name}, domain: ${domain}`);
|
||||
|
||||
if (!user_id) {
|
||||
const container = document.getElementById(jitsi_container_id);
|
||||
if (container) {
|
||||
container.innerHTML =
|
||||
'<h1>User ID (uuid) is missing. Cannot start meeting.</h1>';
|
||||
}
|
||||
console.error('Jitsi: User ID (uuid) is missing. Cannot start meeting.');
|
||||
return;
|
||||
}
|
||||
|
||||
// --- Fetch dynamic data from Novi API ---
|
||||
const novi_api_key = 'CmNdWgdPmgluBWjiTd8xsUCk5mio8F1O9DYAh0pVDcg=';
|
||||
const novi_api_key = import.meta.env.VITE_NOVI_API_KEY;
|
||||
const novi_api_headers = new Headers();
|
||||
novi_api_headers.append('Authorization', `Basic ${novi_api_key}`);
|
||||
const requestOptions = {
|
||||
method: 'GET',
|
||||
headers: novi_api_headers
|
||||
};
|
||||
console.log('Jitsi: Attempting to fetch moderator list from Novi API...');
|
||||
|
||||
try {
|
||||
// Fetch the list of moderators from the Novi group
|
||||
const mod_group_guid = 'd76d2c00-962d-40f6-a2e8-ed9c85594d96';
|
||||
const mod_group_guid = import.meta.env.VITE_NOVI_MOD_GROUP_GUID;
|
||||
const mod_list_url = `https://www.idaa.org/api/groups/${mod_group_guid}/members?pageSize=200`;
|
||||
console.log(`Fetching moderator list from Novi API: ${mod_list_url}`);
|
||||
const mods_response = await fetch(mod_list_url, requestOptions);
|
||||
@@ -137,21 +143,27 @@
|
||||
console.warn('Could not fetch moderator list from Novi API.');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching data from Novi API:', error);
|
||||
console.error('Jitsi: Error fetching data from Novi API:', error);
|
||||
// Fallback to data from URL params is the default behavior
|
||||
}
|
||||
|
||||
// --- Initialize Jitsi ---
|
||||
let jwtToken = null;
|
||||
console.log(`Jitsi: User is_moderator: ${is_moderator}`);
|
||||
if (is_moderator) {
|
||||
console.log('Jitsi: Attempting to get JWT token for moderator...');
|
||||
jwtToken = await getJitsiJwt(display_name, email, is_moderator, room_name, user_id);
|
||||
if (!jwtToken) {
|
||||
const container = document.getElementById(jitsi_container_id);
|
||||
if (container) {
|
||||
container.innerHTML = '<h1>Authentication Failed. Please try again.</h1>';
|
||||
}
|
||||
console.error('Jitsi: Authentication failed. JWT token not received.');
|
||||
return;
|
||||
}
|
||||
console.log('Jitsi: Successfully received JWT token.');
|
||||
} else {
|
||||
console.log('Jitsi: User is not a moderator, proceeding without JWT token.');
|
||||
}
|
||||
|
||||
const disabled_sounds = [
|
||||
@@ -162,6 +174,7 @@
|
||||
url_params.raise_hand_sound === 'true' ? 'RAISE_HAND_SOUND' : null
|
||||
].filter((sound) => sound);
|
||||
|
||||
console.log('Jitsi: Jitsi options being set up...');
|
||||
const options = {
|
||||
roomName: room_name,
|
||||
width: '100%',
|
||||
@@ -182,9 +195,12 @@
|
||||
},
|
||||
jwt: jwtToken
|
||||
};
|
||||
console.log('Jitsi: Jitsi options:', options);
|
||||
|
||||
console.log('Jitsi: Initializing JitsiMeetExternalAPI...');
|
||||
// @ts-ignore
|
||||
jitsi_api = new JitsiMeetExternalAPI(domain, options);
|
||||
console.log('Jitsi: JitsiMeetExternalAPI initialized:', jitsi_api);
|
||||
});
|
||||
|
||||
onDestroy(() => {
|
||||
|
||||
Reference in New Issue
Block a user