* feat(cloud): Use Websocket signaling in cloud mode
* refactor: Enhance WebRTC signaling and connection handling
* refactor: Improve WebRTC connection management and logging in KvmIdRoute
* refactor: Update PeerConnectionDisconnectedOverlay to use Card component for better UI structure
* refactor: Standardize metric naming and improve websocket logging
* refactor: Rename WebRTC signaling functions and update deployment script for debug version
* fix: Handle error when writing new ICE candidate to WebRTC signaling channel
* refactor: Rename signaling handler function for clarity
* refactor: Remove old http local http endpoint
* refactor: Improve metric help text and standardize comparison operator in KvmIdRoute
* chore(websocket): use MetricVec instead of Metric to store metrics
* fix conflicts
* fix: use wss when the page is served over https
* feat: Add app version header and update WebRTC signaling endpoint
* fix: Handle error when writing device metadata to WebRTC signaling channel
---------
Co-authored-by: Siyuan Miao <i@xswan.net>
Enable more golangci-lint linters.
* `forbidigo` to stop use of non-logger console printing.
* `goimports` to make sure `import` blocks are formatted nicely.
* `misspell` to catch spelling mistakes.
* `whitespace` to catch whitespace issues.
Signed-off-by: SuperQ <superq@gmail.com>
* fix(WebRTC): improve error handling during peer connection creation and add connection error overlay
* refactor: update peer connection state handling and improve type definitions across components
* feat(WebRTC): enhance connection management with connection failures after X attempts or a certain time
* refactor(WebRTC): simplify WebRTCVideo component and enhance connection error handling
* fix(WebRTC): extend connection timeout from 1 second to 60 seconds for improved error handling
* feat(VideoOverlay): add NoAutoplayPermissionsOverlay component and improve HDMIErrorOverlay content
* feat(VideoOverlay): update NoAutoplayPermissionsOverlay styling and improve user instructions
* Remove unused PlayIcon import to clean up code
* feat(WebRTC): enhance connection management with connection failures after X attempts or a certain time
* refactor(WebRTC): simplify WebRTCVideo component and enhance connection error handling
* fix(WebRTC): extend connection timeout from 1 second to 60 seconds for improved error handling