feat: add missing backend route and frontend utility/config files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
28
apps/Frontend/src/lib/socket.js
Normal file
28
apps/Frontend/src/lib/socket.js
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Shared Socket.IO client singleton.
|
||||
*
|
||||
* Import `socket` anywhere in the frontend to use the shared connection.
|
||||
* The socket connects lazily — the first import triggers the connection.
|
||||
*/
|
||||
import { io } from "socket.io-client";
|
||||
// Connect directly to backend to avoid Vite's WS proxy failing on upgrade,
|
||||
// which causes an unhandled AggregateError from engine.io's Promise.any() probe.
|
||||
// Use the env var when set; otherwise derive the backend URL from the current
|
||||
// page's hostname so remote browsers (non-localhost) reach the server correctly.
|
||||
const SOCKET_URL = import.meta.env.VITE_API_BASE_URL_BACKEND ||
|
||||
`${window.location.protocol}//${window.location.hostname}:5000`;
|
||||
export const socket = io(SOCKET_URL, {
|
||||
withCredentials: true,
|
||||
autoConnect: true,
|
||||
reconnectionAttempts: 5,
|
||||
reconnectionDelay: 2000,
|
||||
});
|
||||
socket.on("connect", () => {
|
||||
console.log("[socket] connected:", socket.id);
|
||||
});
|
||||
socket.on("disconnect", () => {
|
||||
console.log("[socket] disconnected");
|
||||
});
|
||||
socket.on("connect_error", (err) => {
|
||||
console.warn("[socket] connection error:", err.message);
|
||||
});
|
||||
Reference in New Issue
Block a user