Commit Graph

240 Commits

Author SHA1 Message Date
Ben Kochie 99015c80fe refactor: update golintci-lint and linter issues
* Update golangci-lint

Update golangci-lint to v2.

Signed-off-by: SuperQ <superq@gmail.com>

* Fixup various linter issues.

Signed-off-by: SuperQ <superq@gmail.com>

---------

Signed-off-by: SuperQ <superq@gmail.com>
2025-09-26 08:21:17 +00:00
Siyuan Miao 22ceb698c5 chore(ntp): add logging for time sync errors 2025-09-26 08:21:17 +00:00
Siyuan Miao b8ec8b46a1 fix(log): segmentation violation when err is nil 2025-09-26 08:21:17 +00:00
Siyuan Miao 80dc1a5257 chore(cloud): use request id from the cloud 2025-09-26 08:21:17 +00:00
Siyuan Miao acd0b94871 chore(log): ntp logger 2025-09-26 08:21:17 +00:00
Siyuan Miao aafc9318ab chore(log): add nbdLogger 2025-09-26 08:21:17 +00:00
Siyuan Miao 22a757cac7 chore: fix linting issue 2025-09-26 08:21:17 +00:00
Siyuan Miao 26064f44f0 chore: update logging 2025-09-26 08:21:17 +00:00
Siyuan Miao 265ea5ab8b chore(log): add wolLogger 2025-09-26 08:21:17 +00:00
Siyuan Miao f61b16421c fix(ota): verifyFile missing arguments 2025-09-26 08:21:17 +00:00
Siyuan Miao 1b34e3f35d chore(log): add webRtcLogger 2025-09-26 08:21:17 +00:00
Siyuan Miao a0bc18ea90 chore(log): add terminalLogger 2025-09-26 08:21:17 +00:00
Siyuan Miao e2b6883342 chore(log): add serialLogger 2025-09-26 08:21:17 +00:00
Siyuan Miao 15d95a8147 chore(log): add otaLogger 2025-09-26 08:21:17 +00:00
Siyuan Miao 0302faa030 chore(log): add watchdogLogger 2025-09-26 08:21:17 +00:00
Siyuan Miao 74a11ef7e9 chore(log): add jsonRpcLogger 2025-09-26 08:21:17 +00:00
Siyuan Miao 6e5493503e feat(tls): #330 2025-09-26 08:21:17 +00:00
Siyuan Miao 6c6ce4e5cb refactor: use structured logging 2025-09-26 08:21:17 +00:00
Andrew Davis 63176c8b53 Add keyboard macros (#305)
* add jsonrpc keyboard macro get/set

* add ui keyboard macros settings and macro bar

* use notifications component and handle jsonrpc errors

* cleanup settings menu

* return error rather than truncate steps in validation

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat(ui): add className prop to Checkbox component to allow custom styling

* use existing components and CTA

* extract display key mappings

* create generic combobox component

* remove macro description

* cleanup styles and macro list

* create sortable list component

* split up macro routes

* remove sortable list and simplify

* cleanup macrobar

* use and add info to fieldlabel

* add useCallback optimizations

* add confirm dialog component

* cleanup delete buttons

* revert info on field label

* cleanup combobox focus

* cleanup icons

* set default label for delay

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-26 08:21:17 +00:00
Adam Shiervani 5708653617 chore(dev_deploy): update logging for websocket in deployment script (#348) 2025-09-26 08:21:17 +00:00
Aveline 4aa37e2aa7 chore(websocket): logging and metrics improvement (#347)
* chore(websocket): only show warning if websocket is closed abnormally

* chore(websocket): add counter for ping requests received
2025-09-26 08:21:17 +00:00
Aveline daf28ac225 feat(websocket): handle ping messages sent from react and add logging (#346) 2025-09-26 08:21:17 +00:00
Adam Shiervani f1ba567ca3 fix(ui): adjust layout and z-index for improved UI consistency in KvmIdRoute (#345) 2025-09-26 08:21:17 +00:00
Adam Shiervani c14149f547 fix(ui): update WebRTCVideo component to properly animate on peer connection state (#343) 2025-09-26 08:21:17 +00:00
Ben Kochie 1ee3ae5aa6 fix: Shell linting (#328)
Cleanup various shell linting issues
* Use `/usr/bin/env` consistently for better platform compatibility.
* SC2317 (info): Command appears to be unreachable.
* SC2002 (style): Useless cat.

Signed-off-by: SuperQ <superq@gmail.com>
2025-09-26 08:21:17 +00:00
Adam Shiervani de857ec32d fix(ui): increase z-index for Modal component to improve layering (#341) 2025-09-26 08:21:17 +00:00
Adam Shiervani 0c3ea6e423 fix(dev_device): update JETKVM_PROXY_URL to use WebSocket protocol (#342) 2025-09-26 08:21:17 +00:00
Adam Shiervani 2c99d356b6 Don't block new PC if connection is stable. No need to (#340) 2025-09-26 08:21:16 +00:00
Adam Shiervani 14909b22de refactor: remove unnecessary whitespace in setupRouter function 2025-09-26 08:21:16 +00:00
Adam Shiervani c3a44cd953 re-add old signaling for when upgrading 2025-09-26 08:21:16 +00:00
Siyuan Miao fcb1fc3555 fix(ota): certificate signed by unknown authority 2025-09-26 08:21:16 +00:00
Adam Shiervani d4a2557d10 Feat/Trickle ice (#336)
* 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>
2025-09-26 08:21:16 +00:00
Aveline 06a595a610 chore(ota): allow a longer timeout when downloading packages (#332) 2025-09-26 08:21:16 +00:00
Siyuan Miao 075437410f feat(cloud): disconnect from cloud immediately when cloud URL changes or user requests to deregister 2025-09-26 08:21:16 +00:00
Adam Shiervani 095f5c542d refactor: Update WebRTC connection handling and overlays (#320)
* refactor: Update WebRTC connection handling and overlays

* fix: Update comments for WebRTC connection handling in KvmIdRoute

* chore: Clean up import statements in devices.$id.tsx
2025-09-26 08:21:16 +00:00
Siyuan Miao 2d1b327159 feat(cloud): add metrics for cloud connections 2025-09-26 08:21:16 +00:00
Siyuan Miao 24bc04123d chore: skip websocket client if net isn't up or time sync hasn't complete 2025-09-26 08:21:16 +00:00
Cameron Fleming e0ea91d977 chore: Update README Discord Link
Corrects Discord link in the help section.
2025-09-26 08:21:16 +00:00
SuperQ 235c1ef6e9 chore: Enable more linters
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>
2025-09-26 08:21:16 +00:00
Siyuan Miao e5a2d490c8 chore: fix linting issues of web_tls.go 2025-09-26 08:21:16 +00:00
Adam Shiervani bdcbadd6b1 Improve error handling when `RTCPeerConnection` throws (#289)
* 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
2025-09-26 08:21:16 +00:00
Siyuan Miao b5e0f894bc chore: move smoketest to private repo 2025-03-25 18:42:26 +01:00
Adam Shiervani 3b711db781
Apply and Upgrade Eslint (#288)
* Upgrade ESLINT and fix issues

* feat: add frontend linting job to GitHub Actions workflow

* Move UI linting to separate file

* More linting fixes

* Remove pull_request trigger from UI linting workflow

* Update UI linting workflow

* Rename frontend-lint workflow to ui-lint for clarity
2025-03-25 11:56:24 +01:00
Adam Shiervani 9d511d7f58
Autoplay permission handling (#285)
* 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
2025-03-24 23:32:13 +01:00
Adam Shiervani 5d7d4db4aa
Improve connection error handling (#284)
* 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
2025-03-24 23:31:23 +01:00
Aveline 0a7847c5ab
fix: create empty resource directory to avoid static type check failure (#286) 2025-03-24 23:29:46 +01:00
Siyuan Miao ab03aded74 chore: create empty resource directory to avoid static type check fail 2025-03-24 23:16:17 +01:00
Adam Shiervani 204e6c7faf feat(UsbDeviceSetting): integrate remote virtual media state management and improve USB config handlingt 2025-03-24 12:32:12 +01:00
Adam Shiervani caf3922ecd
refactor(WebRTCVideo): improve mouse event handling and video playback logic (#282) 2025-03-24 12:07:31 +01:00
Aveline ec5226ebdb
Merge branch 'main' into dev 2025-03-19 18:30:30 +01:00