feat: integrate Jitsi configuration and dynamic loading in CallWindow

- Added support for Jitsi configuration retrieval from the backend, allowing for dynamic room name generation based on the active configuration.
- Implemented a polyfill for BlobBuilder to ensure compatibility with the lib-jitsi-meet library across different browsers.
- Enhanced error handling during the loading of the Jitsi library, providing clearer feedback for missing modules and connection issues.
- Updated Vite configuration to exclude lib-jitsi-meet from SSR and allow dynamic loading in the browser.
- Introduced a new route for Jitsi settings in the dashboard for user configuration of Jitsi Meet parameters.
This commit is contained in:
2025-11-21 22:03:01 -03:00
parent 41f7942dd1
commit 52823a9fac
9 changed files with 1100 additions and 23 deletions

View File

@@ -708,6 +708,19 @@ export default defineSchema({
atualizadoEm: v.number(),
}).index("by_ativo", ["ativo"]),
// Configuração de Jitsi Meet
configuracaoJitsi: defineTable({
domain: v.string(), // Domínio do servidor Jitsi (ex: "localhost:8443" ou "meet.example.com")
appId: v.string(), // ID da aplicação Jitsi
roomPrefix: v.string(), // Prefixo para nomes de salas
useHttps: v.boolean(), // Usar HTTPS
acceptSelfSignedCert: v.optional(v.boolean()), // Aceitar certificados autoassinados (útil para desenvolvimento)
ativo: v.boolean(), // Configuração ativa
testadoEm: v.optional(v.number()), // Timestamp do último teste de conexão
configuradoPor: v.id("usuarios"), // Usuário que configurou
atualizadoEm: v.number(), // Timestamp de atualização
}).index("by_ativo", ["ativo"]),
// Fila de Emails
notificacoesEmail: defineTable({
destinatario: v.string(), // email