Attempting (3) to make the peerjs server replaceable

pull/313/head
fabawi 5 months ago
parent fada6bb61e
commit b05f80cad9

@ -1,9 +1,12 @@
import { NextResponse } from 'next/server' import { NextResponse } from 'next/server'
export async function GET(): Promise<NextResponse> { export async function GET(): Promise<NextResponse> {
console.log('[API] peerjs-servers called, PEERJS_SERVERS:', process.env.PEERJS_SERVERS)
const peerServers = process.env.PEERJS_SERVERS const peerServers = process.env.PEERJS_SERVERS
? process.env.PEERJS_SERVERS.split(',').map(url => url.trim()) ? process.env.PEERJS_SERVERS.split(',').map(url => url.trim())
: []; : [];
console.log('[API] returning servers:', peerServers)
return NextResponse.json({ servers: peerServers }); return NextResponse.json({ servers: peerServers });
} }

@ -30,7 +30,11 @@ export const useWebRTCPeer = (): WebRTCPeerValue => {
let globalPeer: Peer | null = null let globalPeer: Peer | null = null
async function getOrCreateGlobalPeer(): Promise<Peer> { async function getOrCreateGlobalPeer(): Promise<Peer> {
console.log('[WebRTCProvider] getOrCreateGlobalPeer called')
if (!globalPeer) { if (!globalPeer) {
console.log('[WebRTCProvider] Creating new global peer')
const response = await fetch('/api/ice', { const response = await fetch('/api/ice', {
method: 'POST', method: 'POST',
}) })
@ -44,12 +48,21 @@ async function getOrCreateGlobalPeer(): Promise<Peer> {
}, },
} }
console.log('[WebRTCProvider] About to fetch /api/peerjs-servers')
try { try {
const peerServersResponse = await fetch('/api/peerjs-servers') const peerServersResponse = await fetch('/api/peerjs-servers')
console.log('[WebRTCProvider] Response status:', peerServersResponse.status)
if (peerServersResponse.ok) { if (peerServersResponse.ok) {
const { servers } = await peerServersResponse.json() const data = await peerServersResponse.json()
if (servers && servers.length > 0) { console.log('[WebRTCProvider] Response data:', data)
const serverUrl = new URL(servers[0])
if (data.servers && data.servers.length > 0) {
const serverUrlString = data.servers[0]
console.log('[WebRTCProvider] Using server:', serverUrlString)
const serverUrl = new URL(serverUrlString)
peerConfig = { peerConfig = {
...peerConfig, ...peerConfig,
host: serverUrl.hostname, host: serverUrl.hostname,
@ -57,17 +70,18 @@ async function getOrCreateGlobalPeer(): Promise<Peer> {
path: serverUrl.pathname, path: serverUrl.pathname,
secure: serverUrl.protocol === 'https:', secure: serverUrl.protocol === 'https:',
} }
console.log('[WebRTCProvider] Using custom PeerJS server:', peerConfig) console.log('[WebRTCProvider] Final config:', peerConfig)
} else { } else {
console.log('[WebRTCProvider] No custom PeerJS servers configured, using default') console.log('[WebRTCProvider] No servers found, using default')
} }
} else { } else {
console.log('[WebRTCProvider] Failed to fetch PeerJS servers, using default') console.log('[WebRTCProvider] Bad response:', peerServersResponse.status)
} }
} catch (error) { } catch (error) {
console.log('[WebRTCProvider] Error fetching PeerJS servers, using default:', error) console.error('[WebRTCProvider] Fetch error:', error)
} }
console.log('[WebRTCProvider] Creating Peer with config:', peerConfig)
globalPeer = new Peer(peerConfig) globalPeer = new Peer(peerConfig)
} }

Loading…
Cancel
Save