diff --git a/client/public/version.js b/client/public/version.js index 6e528a1..41f9ebe 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.22 R163"; +window.CHGRID_WEB_VERSION = "2026.02.22 R164"; // Optional display timezone for timestamps. Falls back to America/Detroit if unset/invalid. window.CHGRID_TIME_ZONE = "America/Detroit"; diff --git a/client/src/main.ts b/client/src/main.ts index 072ed88..96e2968 100644 --- a/client/src/main.ts +++ b/client/src/main.ts @@ -573,7 +573,13 @@ function navigateChatBuffer(target: 'prev' | 'next' | 'first' | 'last'): void { } updateStatus(messageBuffer[messageCursor]); - audio.sfxUiBlip(); + if (target === 'prev' || target === 'next') { + const atStart = messageCursor === 0; + const atEnd = messageCursor === messageBuffer.length - 1; + if (atStart || atEnd) { + audio.sfxUiBlip(); + } + } } /** Updates compact input/output device summary labels in the pre-connect UI. */ @@ -1288,7 +1294,7 @@ function handleNormalModeInput(code: string, shiftKey: boolean): void { const next = audio.adjustMasterVolume(step); persistMasterVolume(next); updateStatus(`Master volume ${next}`); - audio.sfxUiBlip(); + audio.sfxEffectLevel(next === 50); return; } case 'openEffectSelect': {