From beb09acfd8dcc484c7c141d395e484384547f134 Mon Sep 17 00:00:00 2001 From: Nivesh Dandyan Date: Thu, 5 Feb 2026 10:38:04 +0000 Subject: [PATCH 1/2] fix: show seekbar on embedded YouTube players The seekbar, progress bar, and player controls were not appearing on embedded YouTube players (e.g., on third-party sites like Discogs) because the CSS rule for hiding controls on small-mode players was also applying to embedded players. Changes: - Modified CSS selectors to exclude embedded players (it-pathname starting with /embed) from the control-hiding rules for ytp-small-mode - Added 'embed' as a recognized page type in the pageType() function for better embedded player detection Fixes #3594 Co-Authored-By: Claude (claude-opus-4-5) --- .../extension/www.youtube.com/appearance/player/player.css | 7 ++++--- js&css/web-accessible/functions.js | 3 +++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/js&css/extension/www.youtube.com/appearance/player/player.css b/js&css/extension/www.youtube.com/appearance/player/player.css index f0a1ad6b4..b301d4ed5 100644 --- a/js&css/extension/www.youtube.com/appearance/player/player.css +++ b/js&css/extension/www.youtube.com/appearance/player/player.css @@ -39,20 +39,21 @@ html[it-always-show-progress-bar='true'] .html5-video-player:not(.it-mini-player /*-------------------------------------------------------------- # FIX: hide full control strip in native miniplayer +# Note: Exclude embedded players (it-pathname starts with /embed) to fix issue #3594 --------------------------------------------------------------*/ ytd-miniplayer .ytp-chrome-bottom, .html5-video-player.ytp-player-minimized .ytp-chrome-bottom, -.html5-video-player.ytp-small-mode .ytp-chrome-bottom { +html:not([it-pathname^="/embed"]) .html5-video-player.ytp-small-mode .ytp-chrome-bottom { opacity: 0 !important; pointer-events: none !important; } ytd-miniplayer .ytp-chrome-bottom .ytp-progress-bar-container, .html5-video-player.ytp-player-minimized .ytp-chrome-bottom .ytp-progress-bar-container, -.html5-video-player.ytp-small-mode .ytp-chrome-bottom .ytp-progress-bar-container, +html:not([it-pathname^="/embed"]) .html5-video-player.ytp-small-mode .ytp-chrome-bottom .ytp-progress-bar-container, ytd-miniplayer .ytp-chrome-bottom .ytp-scrubber-button, .html5-video-player.ytp-player-minimized .ytp-chrome-bottom .ytp-scrubber-button, -.html5-video-player.ytp-small-mode .ytp-chrome-bottom .ytp-scrubber-button { +html:not([it-pathname^="/embed"]) .html5-video-player.ytp-small-mode .ytp-chrome-bottom .ytp-scrubber-button { display: none !important; } diff --git a/js&css/web-accessible/functions.js b/js&css/web-accessible/functions.js index e37a42008..08534e696 100644 --- a/js&css/web-accessible/functions.js +++ b/js&css/web-accessible/functions.js @@ -277,6 +277,9 @@ ImprovedTube.ytElementsHandler = function (node) { ImprovedTube.pageType = function () { if (/\/watch\?|\/live\//.test(location.href)) { document.documentElement.dataset.pageType = 'video'; + } else if (/\/embed\//.test(location.href)) { + // Embedded YouTube players (e.g., on third-party sites like Discogs) - treat as video for features like seekbar + document.documentElement.dataset.pageType = 'embed'; } else if (location.pathname === '/') { document.documentElement.dataset.pageType = 'home'; } else if (/\/subscriptions\?/.test(location.href)) { From ab6264a857efc578c4e590c5ef58f11f7294298b Mon Sep 17 00:00:00 2001 From: ImprovedTube Date: Fri, 6 Feb 2026 02:26:35 +0100 Subject: [PATCH 2/2] Update player.css --- .../appearance/player/player.css | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/js&css/extension/www.youtube.com/appearance/player/player.css b/js&css/extension/www.youtube.com/appearance/player/player.css index b301d4ed5..3a4ef528c 100644 --- a/js&css/extension/www.youtube.com/appearance/player/player.css +++ b/js&css/extension/www.youtube.com/appearance/player/player.css @@ -17,7 +17,6 @@ html[it-ambient-lighting='false'] #cinematics {display: none !important;} # ALWAYS SHOW PROGRESS BAR --------------------------------------------------------------*/ - html[it-always-show-progress-bar='true'] .html5-video-player:not(.it-mini-player).ytp-autohide .ytp-chrome-bottom { opacity: 1 !important; } @@ -41,21 +40,12 @@ html[it-always-show-progress-bar='true'] .html5-video-player:not(.it-mini-player # FIX: hide full control strip in native miniplayer # Note: Exclude embedded players (it-pathname starts with /embed) to fix issue #3594 --------------------------------------------------------------*/ -ytd-miniplayer .ytp-chrome-bottom, -.html5-video-player.ytp-player-minimized .ytp-chrome-bottom, -html:not([it-pathname^="/embed"]) .html5-video-player.ytp-small-mode .ytp-chrome-bottom { - opacity: 0 !important; - pointer-events: none !important; -} - -ytd-miniplayer .ytp-chrome-bottom .ytp-progress-bar-container, -.html5-video-player.ytp-player-minimized .ytp-chrome-bottom .ytp-progress-bar-container, -html:not([it-pathname^="/embed"]) .html5-video-player.ytp-small-mode .ytp-chrome-bottom .ytp-progress-bar-container, -ytd-miniplayer .ytp-chrome-bottom .ytp-scrubber-button, -.html5-video-player.ytp-player-minimized .ytp-chrome-bottom .ytp-scrubber-button, -html:not([it-pathname^="/embed"]) .html5-video-player.ytp-small-mode .ytp-chrome-bottom .ytp-scrubber-button { - display: none !important; -} +html[it-always-show-progress-bar=true]:not([it-pathname^="/embed"]) +:is( ytd-miniplayer, .html5-video-player.ytp-player-minimized, .html5-video-player.ytp-small-mode) .ytp-chrome-bottom +{ opacity:0!important; pointer-events:none!important; } +html[it-always-show-progress-bar=true]:not([it-pathname^="/embed"]) +:is( ytd-miniplayer, .html5-video-player.ytp-player-minimized, .html5-video-player.ytp-small-mode) .ytp-chrome-bottom:is(.ytp-progress-bar-container,.ytp-scrubber-button) +{ display:none!important; } /*-------------------------------------------------------------- # COLOR