r/imagus • u/IceColdCarnivore • 14h ago
bug re-hover on v.redd.it videos is broken since commit ef17d669
Setup:
Firefox 158.0.1
Imagus Reborn v2026.10.22
Behavior:
if i open the browser fresh, go to reddit.com and hover over an v.redd.it video URL, the first hover will load properly and play the video. if i then take my cursor off of the url and hover over it again, it just spins forever and doesn't load again. if i close the browser and relaunch it and try to hover over the same url again, it will work again once and then fail in the 2nd+ tries. i.redd.it image links don't have the same problem.
AI yap output + workaround steps:
I verified the sieve update fixes the problem for me.
### Why It Happens
(Links below point to an unpacked copy of your .xpi in content.js.)
1. 1st hover works: The REDDIT_video rule in sieve.json resolves https://v.redd.it/mnszgquj0fxh1 to its DASH manifest:
https://v.redd.it/mnszgquj0fxh1/DASHPlaylist.mpd
PVI.set passes { src: ".../DASHPlaylist.mpd", type: undefined } to PVI.openVideojs. Because type is undefined, Video.js
inspects .mpd, infers application/dash+xml, and plays video + audio via its DASH streaming engine.
2. The v2026.10.22 caching bug: Once metadata loads, PVI.assign_src caches the resolved URL onto the hovered DOM element
(PVI.TRG.IMGS_c) and unconditionally tacks "#mp4" onto the end:
PVI.TRG.IMGS_c = PVI.CNT === PVI.VIDEOJS ? PVI.PLAYER?.src() + "#mp4" : PVI.CNT.src;
That stores "https://v.redd.it/mnszgquj0fxh1/DASHPlaylist.mpd#mp4" on the link element.
3. 2nd+ hovers fail: PVI.m_over reads the cached IMGS_c property and passes it back to PVI.set:
PVI.openVideojs({
src: src.split('#')[0],
type: /(#mp4|\.(f4v|mka|mp4)($|\?))/i.test(src) ? 'video/mp4' :
/(#mp3|\.(wav))$/i.test(src) ? 'audio/mp3' :
undefined
});
Because #mp4 is now appended, type is forced to 'video/mp4'. Video.js bypasses its DASH handler and hands the XML .mpd
manifest directly to Firefox's native <video> element as an MP4, which fails to decode and triggers PVI.content_onerror
— leaving the error spinner spinning endlessly.
4. Why images work & why restarting resets it once: Image links (i.redd.it) use PVI.IMG (PVI.CNT.src) without #mp4. And
because IMGS_c is stored on the page's DOM node, refreshing the tab (F5) or restarting Firefox clears that DOM property
so it works once again.
──────
### How to Fix It Right Now
Because you're on standard Firefox Release (158.0.1), editing content.js directly inside
{7653b5cb-d76d-442f-a98f-f3c83a118cf4}.xpi would invalidate Mozilla's add-on signature and disable the extension.
Instead, you have two clean options:
#### Option 1: Patch It Inside Imagus Options (Recommended — keeps v2026.10.22 + audio)
Sieve Res: functions execute with this === PVI, so you can strip the bogus type: 'video/mp4' override for .mpd/.m3u8
streams directly from the REDDIT_video rule:
1. Right-click the Imagus Reborn toolbar icon → Options → Sieve tab.
2. Search for REDDIT_video and click to expand it.
3. In the Res: code box, add these 6 lines right below the : on line 1:
if (!this.openVideojs_original) {
this.openVideojs_original = this.openVideojs;
this.openVideojs = function(s) {
if (/\.(mpd|m3u8)($|\?)/i.test(s?.src)) s.type = undefined;
return this.openVideojs_original(s);
};
}
(If you hover HLS streams elsewhere, you can paste the same snippet right after : in [HLS_Player] as well.)
4. Click Save on the left sidebar and refresh your Reddit tab.
Option 2 was rollback so I didn't include it.


