diff --git a/config/default_config.yaml b/config/default_config.yaml index c4e8f81..8d5b119 100644 --- a/config/default_config.yaml +++ b/config/default_config.yaml @@ -42,7 +42,7 @@ transcription: server_sync: enabled: false - url: "http://localhost:3000/api/send" + url: "" room: "default" passphrase: "" # Font settings are now in the display section (shared for local and server sync) @@ -69,7 +69,7 @@ web_server: host: "127.0.0.1" remote: - mode: local # local | managed | byok + mode: byok # local | managed | byok server_url: "" # Proxy server URL for managed mode (e.g., wss://your-proxy.com) auth_token: "" # JWT stored after login (managed mode) byok_api_key: "" # Deepgram API key for BYOK mode diff --git a/server/nodejs/server.js b/server/nodejs/server.js index 0b56431..2ba5a64 100644 --- a/server/nodejs/server.js +++ b/server/nodejs/server.js @@ -703,6 +703,36 @@ app.post('/api/send', async (req, res) => { } }); +// Create room explicitly (no transcription needed) +app.post('/api/create-room', async (req, res) => { + try { + const { room, passphrase } = req.body; + + if (!room || !passphrase) { + return res.status(400).json({ error: 'Missing room or passphrase' }); + } + + // Check if room already exists + const existing = await loadRoom(room); + if (existing) { + const valid = await verifyPassphrase(room, passphrase); + if (!valid) { + return res.status(401).json({ error: 'Room exists with different passphrase' }); + } + return res.json({ status: 'ok', room, created: false, message: 'Room already exists' }); + } + + // Create the room (verifyPassphrase creates it if it doesn't exist) + await verifyPassphrase(room, passphrase); + + console.log(`[Room] Created room "${room}"`); + res.json({ status: 'ok', room, created: true }); + } catch (err) { + console.error('Error in /api/create-room:', err); + res.status(500).json({ error: err.message }); + } +}); + // List transcriptions app.get('/api/list', async (req, res) => { try { diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index d096ba7..388fdaf 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1881,7 +1881,7 @@ checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" [[package]] name = "local-transcription" -version = "2.0.8" +version = "2.0.12" dependencies = [ "bytes", "chrono", diff --git a/src/lib/components/Controls.svelte b/src/lib/components/Controls.svelte index 296f465..fec78ba 100644 --- a/src/lib/components/Controls.svelte +++ b/src/lib/components/Controls.svelte @@ -1,5 +1,6 @@