mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-03-17 13:48:21 +03:00
The connect() function creates a WebSocket but never stores the reference. The useEffect cleanup only closes the RTCPeerConnection via pcRef, leaving the WebSocket open. Each time the component re-renders with changed deps (camera switch, playback toggle, microphone toggle), a new WebSocket is created without closing the previous one. This leaks connections until the browser garbage-collects them or the server times out. Store the WebSocket in a ref and close it in the cleanup function. |
||
|---|---|---|
| .. | ||
| .vscode | ||
| images | ||
| patches | ||
| public | ||
| src | ||
| themes | ||
| .eslintrc.cjs | ||
| .gitignore | ||
| .prettierrc | ||
| components.json | ||
| index.html | ||
| login.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| site.webmanifest | ||
| tailwind.config.cjs | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
This is the Frigate frontend which connects to and provides a User Interface to the Python backend.
Web Development
Installing Web Dependencies Via NPM
Within /web, run:
npm install
Running development frontend
Within /web, run:
PROXY_HOST=<ip_address:port> npm run dev
The Proxy Host can point to your existing Frigate instance. Otherwise defaults to localhost:5000 if running Frigate on the same machine.
Extensions
Install these IDE extensions for an improved development experience:
- eslint