Commit Graph

147 Commits

Author SHA1 Message Date
Qishuai Liu 03ee14dd79 ntp: fix panic on NTP query error and add IPv6 server for IPv6-only support (#424)
* fix(ntp): prevent panic on NTP query error and add IPv6 server in defaultNTPServers

* fix(ntp): make sure queryMultipleNTP finish if all servers failed
2025-09-26 08:21:17 +00:00
John 34450e9366 fix: absolute mouse scroll (#434)
Co-authored-by: wup-one <wup@deepspace.game>
2025-09-26 08:21:17 +00:00
Peder Toftegaard Olsen 297c9306da feat: UI for changing display orientation
* Added UI for changing display orientation.

* Fixed lint issue.
2025-09-26 08:21:17 +00:00
Siyuan Miao 81a3510810 chore: bump version to 0.4.0 2025-09-26 08:21:17 +00:00
Aveline 96fc1a20ad network enhanecment / refactor (#361)
* chore(network): improve connectivity check

* refactor(network): rewrite network and timesync component

* feat(display): show cloud connection status

* chore: change logging verbosity

* chore(websecure): update log message

* fix(ota): validate root certificate when downloading update

* feat(ui): add network settings tab

* fix(display): cloud connecting animation

* fix: golintci issues

* feat: add network settings tab

* feat(timesync): query servers in parallel

* refactor(network): move to internal/network package

* feat(timesync): add metrics

* refactor(log): move log to internal/logging package

* refactor(mdms): move mdns to internal/mdns package

* feat(developer): add pprof endpoint

* feat(logging): add a simple logging streaming endpoint

* fix(mdns): do not start mdns until network is up

* feat(network): allow users to update network settings from ui

* fix(network): handle errors when net.IPAddr is nil

* fix(mdns): scopedLogger SIGSEGV

* fix(dhcp): watch directory instead of file to catch fsnotify.Create event

* refactor(nbd): move platform-specific code to different files

* refactor(native): move platform-specific code to different files

* chore: fix linter issues

* chore(dev_deploy): allow to override PION_LOG_TRACE
2025-09-26 08:21:17 +00:00
Aveline d2ed3439fb feat: implement pointer-lock and keyboard-lock (#352)
* feat: implement pointer-lock and keyboard-lock

* feat: Add Pointer lock functionality and SSL support in dev mode

- Introduced @vitejs/plugin-basic-ssl for enabling SSL in development.
- Added a new script `dev:ssl` to run the development server with SSL.
- Implemented pointer lock feature in the WebRTCVideo component, enhancing user interaction.
- Added a PointerLockBar component to guide users on enabling mouse control.
- Cleaned up the VideoOverlay and WebRTCVideo components for better readability and functionality.

---------

Co-authored-by: Adam Shiervani <adam.shiervani@gmail.com>
2025-09-26 08:21:17 +00:00
Simão Gomes Viana a1e65ae6d1 VideoOverlay: add missing word to adapter line (#355)
THe sentence was incomplete without "ensure".
2025-09-26 08:21:17 +00:00
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