From d005aa5d9c54177c44440991796fedef65ee2100 Mon Sep 17 00:00:00 2001 From: Kibi Kelburton Date: Thu, 16 Jul 2026 23:58:54 +0200 Subject: [PATCH] pathetic over 9000000000 --- public/s/js/sidebar-activity.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/public/s/js/sidebar-activity.js b/public/s/js/sidebar-activity.js index 4d19284..7c87b71 100644 --- a/public/s/js/sidebar-activity.js +++ b/public/s/js/sidebar-activity.js @@ -106,6 +106,12 @@ titleSpan.textContent = 'YouTube Video'; } titleSpan.dataset.loaded = 'true'; + + // Re-check overflow since the new text might cause wrapping + const inner = link.closest('.comment-content-inner'); + if (inner && typeof checkOverflow === 'function') { + checkOverflow(inner); + } } }; @@ -548,8 +554,12 @@ const clientHeight = inner.clientHeight; const hasUnloadedImages = Array.from(inner.querySelectorAll('img:not(.emoji), video')).some( media => { - if (media.tagName === 'IMG') return !media.complete; - if (media.tagName === 'VIDEO') return media.readyState < 1; // HAVE_METADATA + if (media.tagName === 'IMG') { + return (!media.complete || media.naturalHeight === 0) && media.dataset.error !== 'true'; + } + if (media.tagName === 'VIDEO') { + return media.readyState < 1 && media.dataset.error !== 'true'; // HAVE_METADATA + } return false; } ); @@ -602,8 +612,12 @@ const inner = media.closest('.comment-content-inner'); if (inner) { const handler = () => checkOverflow(inner); + const errorHandler = () => { + media.dataset.error = 'true'; + checkOverflow(inner); + }; media.addEventListener('load', handler, { once: true }); - media.addEventListener('error', handler, { once: true }); + media.addEventListener('error', errorHandler, { once: true }); media.addEventListener('loadedmetadata', handler, { once: true }); // Also use ResizeObserver to catch layout changes (e.g. cached image layout deferred)