From 97e41b521b8117bd8066156da33337baf62ae25c Mon Sep 17 00:00:00 2001 From: Kaler Date: Tue, 10 Mar 2026 13:28:16 +0530 Subject: [PATCH 1/4] Fixed lcd-visualiser CSS --- js/visualizers/lcd.js | 3 ++- styles.css | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/js/visualizers/lcd.js b/js/visualizers/lcd.js index 26fc3ec..6734481 100644 --- a/js/visualizers/lcd.js +++ b/js/visualizers/lcd.js @@ -269,7 +269,8 @@ export class LCDPreset { this.initWebGL(width, height); // Attach WebGL canvas to same parent as main canvas if (this.glCanvas && canvas.parentElement) { - canvas.parentElement.style.position = 'relative'; + //This position:relative was causing the visual bugs and problems in the lcd visualiser. + // canvas.parentElement.style.position = 'relative'; canvas.parentElement.appendChild(this.glCanvas); } } diff --git a/styles.css b/styles.css index dfc3a65..6d6f18b 100644 --- a/styles.css +++ b/styles.css @@ -7508,7 +7508,7 @@ body:has(#side-panel.active) #close-fullscreen-cover-btn { /* EQ Response Curve Canvas */ .eq-response-canvas { - position: absolute; + position: fixed; top: var(--spacing-md); left: 4px; width: calc(100% - 8px); From 108387ac7adb35c168716ea32ccfe9572cca1e97 Mon Sep 17 00:00:00 2001 From: SamidyFR <168582143+SamidyFR@users.noreply.github.com> Date: Wed, 11 Mar 2026 07:12:10 +0000 Subject: [PATCH 2/4] style: auto-fix linting issues --- js/events.js | 3 ++- js/player.js | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/js/events.js b/js/events.js index e2c4e45..29dbc81 100644 --- a/js/events.js +++ b/js/events.js @@ -202,7 +202,8 @@ export function initializePlayerEvents(player, audioPlayer, scrobbler, ui) { console.error(`Media playback error (${element.id}):`, errorMsg, e); playPauseBtn.innerHTML = SVG_PLAY; - const canFallback = player.quality === 'HI_RES_LOSSLESS' && + const canFallback = + player.quality === 'HI_RES_LOSSLESS' && errorMsg.includes('Source not supported') && errorMsg.includes('0x80004005') && !player.isFallbackRetry; diff --git a/js/player.js b/js/player.js index 2fb54a7..6f52b71 100644 --- a/js/player.js +++ b/js/player.js @@ -1047,9 +1047,8 @@ export class Player { } const shuffledSeeds = [...this.radioSeeds].sort(() => 0.5 - Math.random()); - const seeds = shuffledSeeds.length > 0 - ? shuffledSeeds.slice(0, 5) - : this.currentTrack ? [this.currentTrack] : []; + const seeds = + shuffledSeeds.length > 0 ? shuffledSeeds.slice(0, 5) : this.currentTrack ? [this.currentTrack] : []; if (seeds.length === 0) { return; @@ -1068,7 +1067,7 @@ export class Player { ]); const recommendations = await this.api.getRecommendedTracksForPlaylist(seeds, 20, { - knownTrackIds: knownTrackIds + knownTrackIds: knownTrackIds, }); if (recommendations && recommendations.length > 0) { From bb44b7559d3170cfdc36d63526686fb00e43479b Mon Sep 17 00:00:00 2001 From: Kaler Date: Tue, 10 Mar 2026 13:57:47 +0530 Subject: [PATCH 3/4] fix(visualizer): correct LED layout and switching logic --- js/settings.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/js/settings.js b/js/settings.js index c52cb0c..773690c 100644 --- a/js/settings.js +++ b/js/settings.js @@ -2274,6 +2274,9 @@ export function initializeSettings(scrobbler, player, api, ui) { ui.visualizer.setPreset(val); } updateButterchurnSettingsVisibility(); + + //Since changing the preset breaks the visualizer, a location.reload() is added to make sure that it works + window.location.reload() }); } From 84df59624e2530a0713c65e254f5ec6630fab6e1 Mon Sep 17 00:00:00 2001 From: edideaur <182119792+edideaur@users.noreply.github.com> Date: Wed, 11 Mar 2026 12:43:15 +0000 Subject: [PATCH 4/4] style: auto-fix linting issues --- js/settings.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/settings.js b/js/settings.js index 773690c..3182372 100644 --- a/js/settings.js +++ b/js/settings.js @@ -2276,7 +2276,7 @@ export function initializeSettings(scrobbler, player, api, ui) { updateButterchurnSettingsVisibility(); //Since changing the preset breaks the visualizer, a location.reload() is added to make sure that it works - window.location.reload() + window.location.reload(); }); }