mirror of
https://github.com/kerberos-io/agent.git
synced 2026-04-22 23:57:17 +08:00
730b1b2a40
Introduce structured WebRTC handshake signaling and client-side fallbacks. Changes: - machinery: replace HandleLiveHDHandshake channel to carry LiveHDHandshake (payload + signaling callbacks) and expose active WebRTC reader count in dashboard data. - routers: MQTT and WebSocket handlers now send/receive LiveHDHandshake structs; websocket supports stream-hd and webrtc-candidate messages and uses callback-based signaling to reply over the WS connection. - webrtc: add helper functions to send MQTT or callback answers/candidates, adapt InitializeWebRTCConnection to the new handshake type, and expose GetActivePeerConnectionCount. - utils: minor GetMediaFormatted filtering fix and unit test for timestamp range behavior. - ui: Dashboard gains native WebRTC liveview with fallback to SD image stream, shows active listener count, and handles signaling/candidates; Media page adds datetime range filters, infinite-scroll append behavior, and styles; reducer/action updates to support appending events; package.json scripts disable ESLint plugin during start/build/test. These changes enable browser-based HD liveviews with dual signaling paths (websocket callbacks or MQTT), improve media filtering, and provide graceful fallback to SD streaming when WebRTC fails.
78 lines
2.3 KiB
JSON
78 lines
2.3 KiB
JSON
{
|
|
"name": "agent-ui",
|
|
"version": "0.1.0",
|
|
"dependencies": {
|
|
"@giantmachines/redux-websocket": "^1.5.1",
|
|
"@kerberos-io/ui": "^1.76.0",
|
|
"@material-ui/core": "^4.12.4",
|
|
"@material-ui/icons": "^4.11.3",
|
|
"@testing-library/jest-dom": "^5.16.5",
|
|
"@testing-library/react": "^11.2.7",
|
|
"@testing-library/user-event": "^12.8.3",
|
|
"axios": "^0.21.4",
|
|
"classnames": "^2.3.1",
|
|
"connected-react-router": "^6.9.3",
|
|
"eslint-config-prettier": "8.5.*",
|
|
"eslint-plugin-prettier": "4.2.*",
|
|
"eslint-watch": "^7.0.0",
|
|
"history": "4.10.1",
|
|
"i18next": "^21.9.1",
|
|
"i18next-browser-languagedetector": "^6.1.5",
|
|
"i18next-http-backend": "^1.4.1",
|
|
"i18next-xhr-backend": "^3.2.2",
|
|
"md5": "^2.3.0",
|
|
"prettier": "^2.7.1",
|
|
"prop-types": "^15.8.1",
|
|
"react": "^17.0.1",
|
|
"react-dom": "^17.0.2",
|
|
"react-i18next": "^11.18.5",
|
|
"react-redux": "^7.2.8",
|
|
"react-router": "^5.2.0",
|
|
"react-router-dom": "^5.3.3",
|
|
"react-router-redux": "^4.0.8",
|
|
"react-scripts": "5.*",
|
|
"react-tooltip": "^4.2.21",
|
|
"redux": "^4.2.0",
|
|
"redux-devtools-extension": "^2.13.9",
|
|
"redux-thunk": "^2.4.1",
|
|
"rxjs": "^7.5.6",
|
|
"typeface-roboto": "^1.1.13",
|
|
"uuidv4": "2.0.0",
|
|
"vott-ct": "^2.3.3",
|
|
"web-vitals": "^0.2.4"
|
|
},
|
|
"browser": {
|
|
"crypto": false
|
|
},
|
|
"scripts": {
|
|
"start": "DISABLE_ESLINT_PLUGIN=true react-scripts start",
|
|
"build": "DISABLE_ESLINT_PLUGIN=true GENERATE_SOURCEMAP=false REACT_APP_ENVIRONMENT=production react-scripts build && rm -rf ../machinery/www && mv build ../machinery/www",
|
|
"test": "DISABLE_ESLINT_PLUGIN=true react-scripts test",
|
|
"eject": "react-scripts eject",
|
|
"lint": "eslint --debug 'src/**/*.{js,jsx,ts,tsx}'",
|
|
"format": "prettier --write \"**/*.{js,jsx,json,md}\""
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"eslint": "^7.32.0",
|
|
"eslint-config-airbnb": "^18.2.1",
|
|
"eslint-plugin-import": "^2.26.0",
|
|
"eslint-plugin-jsx-a11y": "^6.6.1",
|
|
"eslint-plugin-react": "^7.30.1",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"sass": "^1.54.4",
|
|
"sass-loader": "^10.3.1"
|
|
}
|
|
}
|