From d9b134b3db2ddbb32cd25c21a1645416bed63b1b Mon Sep 17 00:00:00 2001 From: Jage9 Date: Sat, 28 Feb 2026 02:43:18 -0500 Subject: [PATCH] Fix delayed emit replay scheduling and PgUp/PgDn list jump --- client/public/version.js | 2 +- client/src/audio/itemEmitRuntime.ts | 3 --- client/src/items/itemPropertyEditor.ts | 3 ++- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/client/public/version.js b/client/public/version.js index ecb8ddd..e39ab5d 100644 --- a/client/public/version.js +++ b/client/public/version.js @@ -1,5 +1,5 @@ // Maintainer-controlled web client version. // Format: YYYY.MM.DD Rn (example: 2026.02.20 R2) -window.CHGRID_WEB_VERSION = "2026.02.28 R304"; +window.CHGRID_WEB_VERSION = "2026.02.28 R305"; // Optional display timezone for timestamps. Falls back to America/Detroit if unset/invalid. window.CHGRID_TIME_ZONE = "America/Detroit"; diff --git a/client/src/audio/itemEmitRuntime.ts b/client/src/audio/itemEmitRuntime.ts index f389c26..acfbfd2 100644 --- a/client/src/audio/itemEmitRuntime.ts +++ b/client/src/audio/itemEmitRuntime.ts @@ -238,9 +238,6 @@ export class ItemEmitRuntime { } const nextRates = resolveEmitRates(item); output.loopDelaySeconds = resolveEmitLoopDelaySeconds(item); - if (output.element.paused && output.element.ended) { - this.nextEmitStartAtMs.set(itemId, Date.now() + output.loopDelaySeconds * 1000); - } setElementPreservesPitch(output.element, nextRates.preservePitch); const nextPlaybackRate = nextRates.playbackRate; if (Math.abs(output.element.playbackRate - nextPlaybackRate) > 0.001) { diff --git a/client/src/items/itemPropertyEditor.ts b/client/src/items/itemPropertyEditor.ts index 1aff9a9..8d3857c 100644 --- a/client/src/items/itemPropertyEditor.ts +++ b/client/src/items/itemPropertyEditor.ts @@ -355,7 +355,8 @@ export function createItemPropertyEditor(deps: EditorDeps): { if (code === 'PageUp' || code === 'PageDown') { const length = deps.state.itemPropertyOptionValues.length; - const delta = code === 'PageUp' ? -10 : 10; + const jump = Math.min(10, Math.max(1, length - 1)); + const delta = code === 'PageUp' ? -jump : jump; const nextIndex = (deps.state.itemPropertyOptionIndex + delta + length * 1000) % length; deps.state.itemPropertyOptionIndex = nextIndex; deps.updateStatus(deps.state.itemPropertyOptionValues[nextIndex]);