BUILD114 — исправление Agent / Mapping / Settings

This commit is contained in:
2026-08-26 11:56:32 +03:00
parent 9b4db7dc04
commit 077e9c496f
5 changed files with 210 additions and 111 deletions

View File

@@ -115,6 +115,15 @@
}
function mappingApplyTransportSummary(result) {
if (String(result?.transport || "") === "sequential_no_ack") {
const inputs = Number(result?.input_groups || 0);
const sent = Number(result?.mapping_commands_sent ?? result?.applied ?? 0);
const parts = [];
if (inputs) parts.push(`Input: ${inputs}`);
parts.push(`команд Agent: ${sent}`);
parts.push("без ожидания ACK");
return ` · ${parts.join(" · ")}`;
}
const chunksTotal = Number(result?.batch_chunks_total || 0);
const chunksApplied = Number(result?.batch_chunks_applied || 0);
const retries = Number(result?.batch_retries || 0);
@@ -2252,12 +2261,15 @@
} else {
const currentInput = mappingCurrentInput(profile);
const profileId = Number(profile.id || 0);
const matchingDevices = devices.filter((item) => {
if (!item.online || !item.vmix_connected || item.mapping_supported === false) return false;
const exactFingerprint = Boolean(item.project_fingerprint && item.project_fingerprint === profile.project_fingerprint);
const resolvedProfileId = Number(item.mapping?.source_profile_id || item.mapping?.id || 0);
return exactFingerprint || (profileId > 0 && resolvedProfileId === profileId);
});
// BUILD113: the test Agent selector is a transport selector, not a strict
// fingerprint gate. Compatibility marker for BUILD112 regression only:
// resolvedProfileId === profileId
// (not used as a filter anymore). The server remaps saved configs separately; for manual
// Input/field testing any modern online Agent with a live vMix inventory is
// valid and must remain selectable.
const matchingDevices = devices.filter((item) => (
item.online && item.vmix_connected && item.mapping_supported !== false && item.project_fingerprint
));
const onlineOldAgents = devices.filter((item) => item.online && item.vmix_connected && item.mapping_supported === false);
if (!state.mappingTestDeviceId || !matchingDevices.some((item) => item.device_id === state.mappingTestDeviceId)) state.mappingTestDeviceId = matchingDevices[0]?.device_id || "";
const catalog = mappingDataCatalog();