Commit Graph

366 Commits

Author SHA1 Message Date
Marc Brooks af22f916ef Lint fix from last merge. (#733) 2025-09-26 08:21:18 +00:00
jackislanding 662f46c490 Added crontab scheduler for jiggler (#316) 2025-09-26 08:21:18 +00:00
Marc Brooks 44bc58fa93 chore(ui)/package upgrades (#724)
| Package                          | From     | To           |
| -------------------------------- | ----------- | ------------ |
| @headlessui/react        | 2.2.4     | 2.2.7        |
| framer-motion              | 12.23.3 | 12.23.12 |
| react                                | 19.1.0   | 19.1.1     |
| react-dom                       | 19.1.0   | 19.1.1    |
| react-simple-keyboard | 3.8.93   | 3.8.106  |
|@eslint/js                         | 9.30.1   | 9.32.0    |
| @types/react                  | 19.1.8   | 19.1.9    |
| @types/react-dom         | 19.1.8   | 19.1.9   |
|eslint                                 | 9.30.1   | 9.32.0    |
|eslint-config-prettier       | 10.1.5   | 10.1.8   |
| typescript                         |  5.8.3    | 5.9.2     |
2025-09-26 08:21:18 +00:00
Silke pilon 0a7d723284 docs: add comprehensive DEVELOPMENT.md for JetKVM (#692)
* docs: add comprehensive DEVELOPMENT.md for JetKVM

Add a detailed development guide covering setup, project structure,
and workflows for both full device and frontend-only development.

Include prerequisites, build commands, deployment scripts, environment
variables, and testing instructions to streamline onboarding and
contributions.

This improves developer experience and standardizes development
practices across the project.

* docs: clean up DEVELOPMENT.md by removing outdated sections

Remove the Custom Build Tags and Release Process sections to simplify
the documentation and avoid confusion with deprecated build and release
instructions. Focus the document on current performance profiling steps.

* docs: rewrite DEVELOPMENT.md for clearer setup and usage

Revise the JetKVM development guide to improve clarity and usability.
Simplify the introduction and reorganize prerequisites and setup steps
to help new developers get started quickly. Add explicit instructions for
cloning, tool verification, deployment, and testing. Streamline common
tasks sections with clear commands for UI and backend development,
testing, and log viewing. Update project layout overview for easier
navigation. These changes reduce onboarding friction and enhance the
developer experience.

* docs: remove duplicate "Get Started" header in DEVELOPMENT.md

Clean up the DEVELOPMENT.md file by deleting the repeated
"Get Started" header

* docs: add recommended development environment section

Add guidance recommending Linux or macOS for development and suggest
using WSL on Windows to ensure compatibility with shell scripts and
build tools. This improves the developer experience and reduces setup
issues across different operating systems.

* docs: add links to prerequisites in DEVELOPMENT.md

Update DEVELOPMENT.md to URLs for Go, Node.js, Git, and SSH
access prerequisites. This improves clarity and helps developers quickly
find installation resources.
2025-09-26 08:21:18 +00:00
Aveline 1ba68d20eb chore: add issue templates (#686)
* chore: add issue templates

* chore: add remote device info
2025-09-26 08:21:18 +00:00
Marc Brooks af4d1915b1 chore/ Fix go lint error (#683) 2025-09-26 08:21:18 +00:00
Marc Brooks 1eaeebbeb4 chore(ui) Upgrade packages (#682) 2025-09-26 08:21:18 +00:00
Ben Kochie be597416c1 chore: add metrics for configuration and WOL (#193)
* Configuration load success/timestamp.
* Wake-on-Lan packets/errors.

Signed-off-by: SuperQ <superq@gmail.com>
2025-09-26 08:21:18 +00:00
Marc Brooks 60a06ad631 chore(ui): Clean new keyboard option (#495)
Fixed the Tailwind CSS syntax for `in` (nested) selector
Added missing React dependency for `useEffect`
2025-09-26 08:21:18 +00:00
Marc Brooks a9affa81ff refactor(ui): Refactor the keyboardLayouts (#497)
Add missing keyboard mappings for most layouts
Change  pasteModel.tsx to use the new structure and vastly clarified the way that keys are emitted.
Make each layout export just the KeyboardLayout object (which is a package of isoCode, name, and chars)
Made keyboardLayouts.ts export a function to select keyboard by `isoCode`, export the keyboards as label . value pairs (for a select list) and the list of keyboards.
Changed devices.$id.settings.keyboard.tsx use the exported keyboard option list.
2025-09-26 08:21:18 +00:00
rmschooley d4cbf0cbad Remove Out Endpoint Descriptors from Absolute Mouse and Relative Mouse (#542)
* Update hid_mouse_absolute.go

Added attribute to remove unnecessary out endpoint.

* Update hid_mouse_relative.go

Added attribute to remove unnecessary out endpoint.

* Update hid_keyboard.go

Added attribute to explicitly keep currently needed out endpoint and to make listed attributes consistent across the keyboard and mouse devices.

---------

Co-authored-by: Aveline <352441+ym@users.noreply.github.com>
2025-09-26 08:21:18 +00:00
Daniel Collins 99c2248325 Implement HTTP proxy option (#515). (#521)
This commit adds a "Proxy" field to the network settings screen, which
can be used to specify a HTTP proxy for any outgoing requests from the
device.
2025-09-26 08:21:18 +00:00
Daniel Collins f157dbbf47 Add -i/--install option to dev_deploy.sh (#527)
Running `dev_deploy.sh -i` will build the app in release mode and
install it to the device for longer term development/testing or just
running a custom variant of the app.
2025-09-26 08:21:18 +00:00
Bradley Wilson-Hunt 2c95dc382b feat(metrics): adding prometheus metrics for dc power extension (#556) 2025-09-26 08:21:18 +00:00
Aveline 27a396482e feat: add command to show version (#604)
* feat: add -version flag for jetkvm_app

* move code to kvm package
2025-09-26 08:21:18 +00:00
Siyuan Miao 96f27e1f9b chore(network): fix linting error errcheck 2025-09-26 08:21:18 +00:00
Marc Brooks fd3ceb182c chore: upgrade ui packages (#571)
Move to current on all non-major upgrades
Fixes the tainted hardware WebGL video renderer if video settings are at default (1.0) values

## Runtime

|  Package | From  | To  |
|---|---|---|
| @headlessui/react | 2.2.3 | 2.2.4 |
| @vitejs/plugin-basic-ssl | 2.0.0 | 2.1.0 |
| cva | 1.0.0-beta.3 | 1.0.0-beta.4 |
| focus-trap-react | 11.0.3 | 11.0.4 |
| framer-motion | 12.11.5 | 12.23.0 |
| react-simple-keyboard | 3.8.72 | 3.8.89 |
| tailwind-merge | 3.3.0 | 3.3.1 |
| validator | 13.15.0 | 13.15.15 |

## Dev

|  Package | From  | To  |
|---|---|---|
| @eslint/compat | 1.2.9 | 1.3.1 |
| @eslint/js | 9.26.0 | 9.30.1 |
| @tailwindcss/postcss | 4.1.7 | 4.1.11 |
| @tailwindcss/vite | 4.1.8 | 4.1.10 |
| @types/react | 19.1.4 | 19.1.8  |
| @types/react-dom | 19.1.5 | 19.1.6 |
| @types/validator | 13.15.0 | 13.15.2 |
| @typescript-eslint/eslint-plugin | 8.32.1 | 8.34.0 |
| @typescript-eslint/parser | 8.32.1 | 8.35.1  |
| @vitejs/plugin-react-swc | 3.9.0 | 3.10.2 |
| eslint | 9.26.0 | 9.30.1 |
| globals | 16.1.0 | 16.3.0 |
| postcss  | 8.5.3 | 8.5.6 |
| prettier | 3.5.3 | 3.6.2 |
| prettier-plugin-tailwindcss | 0.6.11 | 0.6.13 |
| tailwindcss | 4.1.7 | 4.1.11 |
2025-09-26 08:21:18 +00:00
Marc Brooks 4fe3ad4160 feat(ntp): enhances time sync with DHCP NTP and custom servers (#625)
* Ensure the mDNS mode is set every time network state changes

Eliminates (mostly) duplicate code

* Add custom NTP and HTTP time sync servers

Since the ordering may have been previously defaulted and saved as "ntp,http", but that was being ignored and fallback-defaults were being used, in Ordering, `ntp` means use the fallback NTP servers, and `http` means use the fallback HTTP URLs. Thus `ntp_user_provided` and `http_user_provided` are the user specified static lists.

* Add support for using DHCP-provided NTP server
2025-09-26 08:21:18 +00:00
Aveline ef52bde623 chore: remove /device/ui-config.js endpoint (#678) 2025-09-26 08:21:18 +00:00
adammkelly eac871b527 feat(ui): reboot device (#421) (#505) 2025-09-26 08:21:18 +00:00
Patrick Hofmann cae2d79883 feat(dc-power-extension): power restore mode in DCPowerControl component (#672)
* DC-extension: Supporting to set the power restore mode in DCPowerControl component

* fixing lint issue
2025-09-26 08:21:18 +00:00
Marc Brooks be2c2bbed3 chore: fix the base usb configuration (#610)
In reviewing the config.go settings for idProduct and bcdDevice are not formatted correctly. All examples on GitHub have 0x0104 and 0x0100 respectively. The idProduct value gets overwritten with valid values when you change the configuration (because they are correct in the options), but until you do the USB initialization will not be correct.
2025-09-26 08:21:18 +00:00
Marc Brooks 875b25f0f3 chore: remove ActionBar-Ctrl-Alt-Del (#669) 2025-09-26 08:21:18 +00:00
Siyuan Miao aee90253ea chore: bump to 0.4.7 2025-09-26 08:21:18 +00:00
Aveline d0e66021c3 chore: typo 'supression' should be 'suppression' (#671) 2025-09-26 08:21:18 +00:00
dependabot[bot] d060166741 build(deps): bump actions/setup-go from 4.2.1 to 5.5.0 (#666)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4.2.1 to 5.5.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4.2.1...v5.5.0)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 08:21:18 +00:00
dependabot[bot] 5413f0aea4 build(deps): bump github.com/pion/webrtc/v4 from 4.1.2 to 4.1.3 (#667)
Bumps [github.com/pion/webrtc/v4](https://github.com/pion/webrtc) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/pion/webrtc/releases)
- [Changelog](https://github.com/pion/webrtc/blob/master/.goreleaser.yml)
- [Commits](https://github.com/pion/webrtc/compare/v4.1.2...v4.1.3)

---
updated-dependencies:
- dependency-name: github.com/pion/webrtc/v4
  dependency-version: 4.1.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 08:21:18 +00:00
dependabot[bot] 1eda2c497d build(deps): bump github.com/Masterminds/semver/v3 from 3.3.1 to 3.4.0 (#668)
Bumps [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/Masterminds/semver/releases)
- [Changelog](https://github.com/Masterminds/semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Masterminds/semver/compare/v3.3.1...v3.4.0)

---
updated-dependencies:
- dependency-name: github.com/Masterminds/semver/v3
  dependency-version: 3.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 08:21:18 +00:00
Aveline c89ec4448e fix(display): reset display state after native binary is restarted (#654)
* fix(usbgadget): add lock for logWithSupression

* fix(display): reset display state after native binary is restarted
2025-09-26 08:21:18 +00:00
Marc Brooks b8c3b14de3 build: upgrade packages and move to GitHub runner
* Move to GitHub runner for build action

Lint action

* Move to go 1.24.4

* Upgrade go packages

 github.com/coreos/go-oidc/v3  v3.11.0 -> v3.14.1
github.com/creack/pty v1.1.23 -> v1.1.24
github.com/gwatts/rootcerts  v0.0.0-20240401182218-3ab9db955caf -> v0.0.0-20250601184604-370a9a75f341
github.com/pion/logging v0.2.3 -> v0.2.4
github.com/pion/webrtc/v4 v4.0.16 -> v4.1.2
github.com/prometheus/common v0.62.0 -> v0.65.0
github.com/vishvananda/netlink v1.3.1 -> v1.3.1
go.bug.st/serial v1.6.2 -> v1.6.4
2025-09-26 08:21:18 +00:00
Aveline 660473aea2 fix(usbgadget): add lock for logWithSupression (#653) 2025-09-26 08:21:18 +00:00
iain MacDonnell d25693e0d6 fix: ensure certStore is initialised when adding custom cert (#639)
Fixes: #612
2025-09-26 08:21:18 +00:00
Siyuan Miao 18e991b8a6 chore: bump version to 0.4.6 2025-09-26 08:21:18 +00:00
Aveline 409d66f681 feat(usbgadget): suppress duplicate error logs (#630). 2025-09-26 08:21:18 +00:00
Marc Brooks 7523917e34 fix(ui) firefox permissions error handling (#631) 2025-09-26 08:21:18 +00:00
iain MacDonnell 840c870e1f fix: keyboard_layout default config (en-US/en_US) (#633) 2025-09-26 08:21:18 +00:00
Aveline 04f6775272 feat(native): restart jetkvm_native automatically (#629) 2025-09-26 08:21:18 +00:00
Marc Brooks 4a4e1c0f7d chore(mDNS): ensure the mDNS mode is set every time network state changes (#624)
Eliminates (mostly) duplicate code
2025-09-26 08:21:18 +00:00
ronskvm f87a74e23a chore(hid): change absolute mouse usb interface descriptor's subclass field to zero
Changed absolute mouse usb interface descriptor's subclass field to zero.
2025-09-26 08:21:18 +00:00
Siyuan Miao 46a28e1947 ui(actionBar): remove Ctrl + Alt + Del in favor of Keyboard Macros 2025-09-26 08:21:18 +00:00
Caedis 43a8e6a4a1 build: allow the versions in the Makefile to be overwritten with ENV variables (#619) 2025-09-26 08:21:18 +00:00
Aveline f7c547e2c0 fix(ui/cloud): missing SettingsNetworkRoute (#608) 2025-09-26 08:21:18 +00:00
Siyuan Miao 3056b6ba3b chore: bump version to 0.4.4 2025-09-26 08:21:18 +00:00
Aveline 7e0c865941 fix(timesync): queryMultipleHttp hanging if all servers are unreachable (#605) 2025-09-26 08:21:18 +00:00
Aveline d2e838c010 chore: use pure Go resolver and remove CGO_ENABLED=0 (#603) 2025-09-26 08:21:18 +00:00
Ben Kochie db75a4d111 fix: Update metric naming (#602)
Fix up metric names to follow best practice naming conventions[0].

[0]: https://prometheus.io/docs/practices/naming/

Signed-off-by: SuperQ <superq@gmail.com>
2025-09-26 08:21:18 +00:00
Siyuan Miao f0309a1bc8 chore: bump version to 0.4.3 2025-09-26 08:21:18 +00:00
Aveline ed2d32c854 chore: disable cgo (#601) 2025-09-26 08:21:18 +00:00
Aveline 70eeb0476c chore: upgrade go from 1.24.3 to 1.24.4 (#600) 2025-09-26 08:21:18 +00:00
dependabot[bot] 9434d214b4 build(deps): bump github.com/hanwen/go-fuse/v2 from 2.5.1 to 2.8.0 (#590)
Bumps [github.com/hanwen/go-fuse/v2](https://github.com/hanwen/go-fuse) from 2.5.1 to 2.8.0.
- [Commits](https://github.com/hanwen/go-fuse/compare/v2.5.1...v2.8.0)

---
updated-dependencies:
- dependency-name: github.com/hanwen/go-fuse/v2
  dependency-version: 2.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 08:21:18 +00:00