mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-16 09:31:20 -04:00
17 lines
877 B
JavaScript
17 lines
877 B
JavaScript
// Socket Library Helper
|
|
// Purpose: Builds and exports the browser Socket.IO client with shared defaults. Scope: Centralizes connection URL/options so all modules use consistent socket behavior.
|
|
import { io } from 'socket.io-client';
|
|
import { loadSettings } from '../settings/persistence.js';
|
|
|
|
const configured = import.meta.env.VITE_ROVERD_URL?.trim();
|
|
const resolvedUrl = configured && configured.length > 0 ? configured : window.location.origin;
|
|
console.info('[socket] connecting to', resolvedUrl);
|
|
const settings = loadSettings();
|
|
const transportPref = settings?.page?.connectionTransport || 'websocket';
|
|
const transports = transportPref === 'polling' ? ['polling'] : ['websocket', 'polling'];
|
|
export const socket = io(resolvedUrl, {
|
|
transports,
|
|
timeout: 15000,
|
|
});
|
|
socket.on('connect_error', (err) => console.error('connect_error', err.code, err.message, err.data));
|