Release 0.13.4

This commit is contained in:
matze19999 committed 2026-10-12 18:31:34 +02:00
1 parent ef03258e22
commit fcdfc4b431
21 files changed
+71 -27

No files matched your search

+9 -2
View File
@@ -125,6 +125,7 @@ function display(result) {
document.getElementById('host').value = result.host;
document.getElementById('port').value = result.port;
document.getElementById('piccapPort').value = result.piccapPort || 19400;
document.getElementById('captureInterval').value = result.captureIntervalMs || 50;
receiver = result.receiver;
document.getElementById('receiver').textContent = 'Receiver: ' + receiver;
}
@@ -298,7 +299,7 @@ document.getElementById('handover').onclick = function() {
enabled: button.getAttribute('aria-checked') !== 'true'
});
};
['host', 'port', 'piccapPort', 'token', 'clearToken'].forEach(function(id) {
['host', 'port', 'piccapPort', 'captureInterval', 'token', 'clearToken'].forEach(function(id) {
document.getElementById(id).addEventListener('input', function() {
targetDirty = true;
});
@@ -320,7 +321,13 @@ document.getElementById('saveTarget').onclick = function() {
showActionError('PicCap FlatBuffer port must be an integer from 1 to 65535.');
return;
}
var interval = Number(document.getElementById('captureInterval').value);
if (!Number.isInteger(interval) || interval < 25 || interval > 1000 || interval % 25) {
showActionError('Capture interval must be 25–1000 ms in steps of 25.');
return;
}
var settings = {
captureIntervalMs: interval,
piccapPort: flatPort,
host: document.getElementById('host').value.trim(),
port: port,
@@ -393,6 +400,6 @@ document.getElementById('editProfile').onclick = function() {
showProfile();
if (advancedProfile) document.getElementById('customProfileField').focus();
};
setupRemoteNavigation(['overviewTab', 'receiverTab', 'calibrationTab', 'reloadService', 'grantRoot', 'start', 'stop', 'refresh', 'autostart', 'handover', 'calibrationShortcut', 'receiver', 'hostField', 'portField', 'piccapPortField', 'tokenField', 'clearToken', 'saveTarget', 'testConnection', 'calibrate', 'validateCalibration', 'profile', 'saveProfile', 'editProfile', 'customProfileField', 'cancelCalibration'].map(function(id) {
setupRemoteNavigation(['overviewTab', 'receiverTab', 'calibrationTab', 'reloadService', 'grantRoot', 'start', 'stop', 'refresh', 'autostart', 'handover', 'calibrationShortcut', 'receiver', 'hostField', 'portField', 'piccapPortField', 'captureIntervalField', 'tokenField', 'clearToken', 'saveTarget', 'testConnection', 'calibrate', 'validateCalibration', 'profile', 'saveProfile', 'editProfile', 'customProfileField', 'cancelCalibration'].map(function(id) {
return document.getElementById(id);
}), document, window);
+1 -1
View File
@@ -1,6 +1,6 @@
{
"id": "org.webosbrew.histogramhyperion",
"version": "0.13.3",
"version": "0.13.4",
"vendor": "Local development",
"type": "web",
"main": "index.html",
+2 -1
View File
@@ -38,11 +38,12 @@ nav{border-bottom:1px solid #456185;padding-bottom:10px;margin-bottom:18px}nav b
<div id="hostField" class="field" tabindex="0" role="button" aria-label="IP address, press OK to edit"><label>IP address<input id="host" tabindex="-1" readonly type="text" maxlength="45" value="127.0.0.1" spellcheck="false"></label></div>
<div id="portField" class="field narrow" tabindex="0" role="button" aria-label="JSON port, press OK to edit"><label>JSON port<input id="port" tabindex="-1" readonly type="number" min="1" max="65535" value="19444"></label></div>
<div id="piccapPortField" class="field narrow" tabindex="0" role="button" aria-label="FlatBuffer port, press OK to edit"><label>PicCap FlatBuffer port<input id="piccapPort" tabindex="-1" readonly type="number" min="1" max="65535" value="19400"></label></div>
<div id="captureIntervalField" class="field narrow" tabindex="0" role="button" aria-label="Capture interval in milliseconds, press OK to edit"><label>Capture interval (ms)<input id="captureInterval" tabindex="-1" readonly type="number" min="25" max="1000" step="25" value="50"></label></div>
<div id="tokenField" class="field" tabindex="0" role="button" aria-label="API token, press OK to edit"><label>API token (optional)<input id="token" tabindex="-1" readonly type="password" maxlength="256" autocomplete="off"></label></div>
</div>
<label><input id="clearToken" type="checkbox"> Remove saved token</label>
<div><button id="saveTarget" class="primary">Save receiver</button><button id="testConnection">Test connection</button></div><p id="testResult" role="status">Connection test: Not tested</p>
<p><small>The JSON TCP port is usually 19444. Leave the token blank to keep the saved token. Saving updates the current session.</small></p>
<p><small>The JSON TCP port is usually 19444. Leave the token blank to keep the saved token. Saving updates the current session. Histogram capture defaults to 50 ms; choose 25–1000 ms in steps of 25. Lower values reduce latency and increase TV load. PicCap uses its own capture rate.</small></p>
<p id="piccapTargetHint"><small>Auto PicCap uses the same IP and its FlatBuffer port, usually 19400. Enable the receiver's FlatBuffer server. Remote IPv6 uses HyperDRM.</small></p></fieldset>
</section>
<section id="calibrationPanel" aria-label="TV calibration" style="display:none">
+1 -1
View File
@@ -64,4 +64,4 @@ function setupFormEditors(ids, doc, win) {
}
});
}
setupFormEditors(['host', 'port', 'piccapPort', 'token', 'customProfile'], document, window);
setupFormEditors(['host', 'port', 'piccapPort', 'captureInterval', 'token', 'customProfile'], document, window);
+1 -1
View File
@@ -1,2 +1,2 @@
'use strict';
var HYPERDRM_APP_VERSION = '0.13.3';
var HYPERDRM_APP_VERSION = '0.13.4';