Fix JS concatenation in tweet embeds

Fixes #586
This commit is contained in:
Zed 2026-07-19 22:30:52 +02:00
commit 6d41157603
3 changed files with 9 additions and 5 deletions

View file

@ -22,5 +22,6 @@
window.addEventListener('load', sendHeight); window.addEventListener('load', sendHeight);
new ResizeObserver(sendHeight).observe(embedElement); new ResizeObserver(sendHeight).observe(embedElement);
return sendHeight; // Expose for embedTweet.js
window._nitterSendHeight = sendHeight;
})() })()

View file

@ -1,5 +1,8 @@
// This runs after embedResize.js sets up the sendHeight function // This runs after embedResize.js sets up the sendHeight function
(function(sendHeight) { (function() {
var sendHeight = window._nitterSendHeight;
if (!sendHeight) return;
// Make images load eagerly so height updates correctly // Make images load eagerly so height updates correctly
var lazyImages = document.querySelectorAll('img[loading="lazy"]'); var lazyImages = document.querySelectorAll('img[loading="lazy"]');
for (var i = 0; i < lazyImages.length; i++) { for (var i = 0; i < lazyImages.length; i++) {
@ -20,4 +23,4 @@
for (var i = 0; i < allLinks.length; i++) { for (var i = 0; i < allLinks.length; i++) {
allLinks[i].target = '_blank'; allLinks[i].target = '_blank';
} }
})(arguments[0]); })();

View file

@ -8,8 +8,8 @@ import general, tweet
const const
doctype = "<!DOCTYPE html>\n" doctype = "<!DOCTYPE html>\n"
embedResizeJs = staticRead("../../public/js/embedResize.js") embedResizeJs = staticRead("../../public/js/embedResize.js")
embedTweetJs = embedResizeJs & staticRead("../../public/js/embedTweet.js") embedTweetJs = embedResizeJs & ";" & staticRead("../../public/js/embedTweet.js")
embedErrorJs = embedResizeJs & ";requestAnimationFrame(arguments[0]);" embedErrorJs = embedResizeJs & ";if(window._nitterSendHeight)requestAnimationFrame(window._nitterSendHeight);"
proc renderVideoEmbed*(tweet: Tweet; cfg: Config; req: Request): string = proc renderVideoEmbed*(tweet: Tweet; cfg: Config; req: Request): string =
let let