feat: merge upstream master - version 4.94

Merge upstream PiKVM master branch updates:

- Bump version from 4.93 to 4.94
- HID: improved jiggler pattern for better compatibility
- Streamer: major refactoring for improved performance and maintainability
- Prometheus: tidying GPIO channel name formatting
- Web: added __gpio-label class for custom styling
- HID: customizable /api/hid/print delay configuration
- ATX: independent power/reset regions for better control
- OLED: added --fill option for display testing
- Web: improved keyboard handling in modal dialogs
- Web: enhanced login error messages
- Switch: added heartbeat functionality
- Web: mouse touch code simplification and refactoring
- Configs: use systemd-networkd-wait-online --any by default
- PKGBUILD: use cp -r to install systemd units properly
- Various bug fixes and performance improvements
This commit is contained in:
mofeng-git
2025-08-21 11:21:41 +08:00
205 changed files with 9359 additions and 4653 deletions

View File

@@ -27,24 +27,26 @@
<head>
<meta charset="utf-8">
<title>One-KVM Index</title>
<link rel="apple-touch-icon" sizes="180x180" href="/share/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/share/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/share/favicon-16x16.png">
<link rel="manifest" href="/share/site.webmanifest">
<link rel="mask-icon" href="/share/safari-pinned-tab.svg" color="#5bbad5">
<link rel="apple-touch-icon" sizes="180x180" href="./share/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="./share/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="./share/favicon-16x16.png">
<link rel="manifest" href="./share/site.webmanifest">
<link rel="mask-icon" href="./share/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#2b5797">
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" href="/share/css/vars.css">
<link rel="stylesheet" href="/share/css/main.css">
<link rel="stylesheet" href="/share/css/start.css">
<link rel="stylesheet" href="/share/css/window.css">
<link rel="stylesheet" href="/share/css/modal.css">
<link rel="stylesheet" href="/share/css/index/index.css">
<link rel="stylesheet" href="/share/css/user.css">
<script src="/share/js/i18n/jquery-3.7.1.min.js"></script>
<script src="/share/js/i18n/jquery.i18n.min.js"></script>
<script src="/share/js/i18n/i18n.js"></script>
<script type="module">import {main} from "/share/js/index/main.js";
<link rel="stylesheet" href="./share/css/vars.css">
<link rel="stylesheet" href="./share/css/main.css">
<link rel="stylesheet" href="./share/css/start.css">
<link rel="stylesheet" href="./share/css/window.css">
<link rel="stylesheet" href="./share/css/modal.css">
<link rel="stylesheet" href="./share/css/index/index.css">
<link rel="stylesheet" href="./share/css/user.css">
<script src="./share/js/i18n/jquery-3.7.1.min.js"></script>
<script src="./share/js/i18n/jquery.i18n.min.js"></script>
<script src="./share/js/i18n/i18n.js"></script>
<script type="module">import {setRootPrefix} from "./share/js/vars.js";
setRootPrefix("./");
import {main} from "./share/js/index/main.js";
main();
</script>
</head>
@@ -53,31 +55,32 @@
<div class="start">
<table>
<tr>
<td class="logo"><a href="https://pikvm.org" target="_blank"><img class="svg-gray" src="/share/svg/logo.svg" alt="PiKVM" height="40"></a></td>
<td class="logo"><a href="https://pikvm.org" target="_blank"><img class="svg-gray" src="./share/svg/logo.svg" alt="PiKVM" height="40"></a></td>
<td>
<table>
<tr>
<td class="title" colspan="2" i18n="index_title">The Open Source KVM over IP</td>
</tr>
<tr>
<td class="copyright" colspan="2" i18n="copyright">Copyright &copy; 2018-2024 Maxim Devaev | Modified by SilentWind</td>
<td class="copyright" colspan="2" i18n="copyright">Copyright &copy; 2018-2025 Maxim Devaev | Modified by SilentWind</td>
</tr>
</table>
</td>
</tr>
</table>
<hr>
<table>
<td class="server">
<td i18n="serve_name">Name:</td>
<td><a id="kvmd-meta-server-host" target="_blank" href="./api/info"></a></td>
</td>
</table>
<hr>
<div id="apps-box">
<h4>Loading ...</h4>
</div>
<hr>
<table>
<td class="server">
<td i18n="serve_name">Server:</td>
<td><a id="kvmd-meta-server-host" target="_blank" href="/api/info"></a></td>
</td>
</table>
<div id="app-keyboard-warning">
<hr>
<p class="text" i18n="index_text_1">
Please note that when you are working with a KVM session or another application that captures the keyboard,
you can't use some keyboard shortcuts such as Ctrl+Alt+Del (which will be caught by your OS) or Ctrl+W (caught by your browser).
@@ -85,6 +88,7 @@
<p class="text" i18n="index_text_2">To override this limitation you can use <a target="_blank" href="https://google.com/chrome">Google Chrome</a>
or <a target="_blank" href="https://chromium.org/Home">Chromium</a> in application mode.
</p>
<div class="code" id="app-text"></div>
</div>
<hr>
<p class="text credits"><a target="_blank" href="https://github.com/mofeng-git/One-KVM" i18n="index_text_12">One-KVM Project</a>&nbsp; | &nbsp;<a target="_blank" href="https://one-kvm.mofeng.run" i18n="index_text_13">One-KVM Documentation</a></p>