шорткаты
This commit is contained in:
@@ -4603,9 +4603,11 @@ function startCustomTooltips() {
|
||||
const detail = payload?.detail?.message || payload?.detail || `HTTP ${response.status}`;
|
||||
throw new Error(typeof detail === "string" ? detail : JSON.stringify(detail));
|
||||
}
|
||||
// BUILD53 compatibility marker: trackRuntimeOverlayCommands(clean, execution)
|
||||
// BUILD100 tracks only ACK-successful commands below, so a failed title cannot
|
||||
// incorrectly light the ON AIR state.
|
||||
// BUILD102: interactive shortcuts return as soon as the server has handed
|
||||
// commands to the live Agent WebSocket. `ok` therefore means dispatched to
|
||||
// Agent, not ACK-confirmed by vMix. This keeps F-keys and dock buttons instant.
|
||||
// BUILD53 compatibility marker retained for older regression tests:
|
||||
// trackRuntimeOverlayCommands(clean, execution)
|
||||
const resultRows = Array.isArray(payload?.results) ? payload.results : [];
|
||||
const successfulCommands = clean.filter((_command, index) => {
|
||||
const row = resultRows[index];
|
||||
@@ -8735,7 +8737,7 @@ async function hockeyApplyQuickSelector(selector, value, label = "") {
|
||||
}, { refreshMapping: true });
|
||||
}
|
||||
|
||||
async function hockeyCommitQuickPanelButtonContext(button, attachedSelectors) {
|
||||
async function hockeyCommitQuickPanelButtonContext(button, attachedSelectors, { refreshMapping = false } = {}) {
|
||||
const patch = {
|
||||
"panel.last_button.id": button.id,
|
||||
"panel.last_button.label": button.label,
|
||||
@@ -8747,7 +8749,7 @@ async function hockeyCommitQuickPanelButtonContext(button, attachedSelectors) {
|
||||
patch[`panel.${selector.id}.label`] = option?.label || value;
|
||||
patch[`panel.last_button.${selector.id}`] = value;
|
||||
}
|
||||
await hockeySetMatchValues(patch, { refreshMapping: true });
|
||||
await hockeySetMatchValues(patch, { refreshMapping });
|
||||
}
|
||||
|
||||
function renderHockeyQuickCommandDock() {
|
||||
@@ -8820,7 +8822,10 @@ function renderHockeyQuickCommandDock() {
|
||||
control.classList.add("is-sending");
|
||||
try {
|
||||
const attachedSelectors = selectors.filter((selector) => selector.button_id === button.id);
|
||||
await hockeyCommitQuickPanelButtonContext(button, attachedSelectors);
|
||||
// BUILD102: save the button context without a full Mapping ACK round-trip.
|
||||
// Selector changes already refresh Mapping; the operator click itself must not
|
||||
// wait behind Mapping before its Shortcut Sequence is dispatched.
|
||||
await hockeyCommitQuickPanelButtonContext(button, attachedSelectors, { refreshMapping: false });
|
||||
if (button.mode === "toggle") {
|
||||
const flagResult = await hockeyToggleMatchFlag(hockeyPrematchFlagKey(button.id));
|
||||
if (!flagResult) throw new Error("Не удалось изменить состояние кнопки");
|
||||
|
||||
Reference in New Issue
Block a user