From 3bfbb7b3fd6e9e958941142058210be26633a4e9 Mon Sep 17 00:00:00 2001 From: Zed Date: Sat, 8 Aug 2026 23:00:47 +0700 Subject: [PATCH] Clean up embed JS and add Tweet.html compatibility --- public/js/embedResize.js | 2 +- public/js/embedTweet.js | 16 +++++++++------- src/nitter.nim | 4 ++-- src/views/oembed.nimf | 1 + 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/public/js/embedResize.js b/public/js/embedResize.js index 82c97cc..9a43379 100644 --- a/public/js/embedResize.js +++ b/public/js/embedResize.js @@ -24,4 +24,4 @@ // Expose for embedTweet.js window._nitterSendHeight = sendHeight; -})() +})(); diff --git a/public/js/embedTweet.js b/public/js/embedTweet.js index 74d2577..166f253 100644 --- a/public/js/embedTweet.js +++ b/public/js/embedTweet.js @@ -1,7 +1,6 @@ // This runs after embedResize.js sets up the sendHeight function (function() { var sendHeight = window._nitterSendHeight; - if (!sendHeight) return; // Make images load eagerly so height updates correctly var lazyImages = document.querySelectorAll('img[loading="lazy"]'); @@ -9,12 +8,14 @@ lazyImages[i].loading = 'eager'; } - // Update height when images finish loading - var allImages = document.querySelectorAll('img'); - for (var i = 0; i < allImages.length; i++) { - var img = allImages[i]; - if (!img.complete) { - img.addEventListener('load', sendHeight); + // Update height when images finish loading (only if sendHeight available) + if (sendHeight) { + var allImages = document.querySelectorAll('img'); + for (var i = 0; i < allImages.length; i++) { + var img = allImages[i]; + if (!img.complete) { + img.addEventListener('load', sendHeight); + } } } @@ -23,4 +24,5 @@ for (var i = 0; i < allLinks.length; i++) { allLinks[i].target = '_blank'; } + })(); diff --git a/src/nitter.nim b/src/nitter.nim index dc38161..a76dda6 100644 --- a/src/nitter.nim +++ b/src/nitter.nim @@ -81,8 +81,8 @@ routes: if request.path.len == 0 or request.path[0] != '/': halt Http400 - # skip all file URLs - cond "." notin request.path + # skip all file URLs (except Twitter widget compatibility) + cond "." notin request.path or request.path == "/embed/Tweet.html" applyUrlPrefs() get "/": diff --git a/src/views/oembed.nimf b/src/views/oembed.nimf index 34f3ccc..3dc793b 100644 --- a/src/views/oembed.nimf +++ b/src/views/oembed.nimf @@ -3,4 +3,5 @@ #proc renderOembedIframe*(embedUrl: string): string = # result = "" +# result = result.strip() #end proc