samipfjo / YouTube-Spam-Remover

Browser extension that detects and hides certain spam comments
GNU General Public License v3.0
8 stars 1 forks source link

Broken due to HTML change #4

Closed wooziwoozi closed 7 months ago

wooziwoozi commented 11 months ago

I just installed this, and saw a review on the Mozilla add on store saying it worked 5 days ago, so i thought I would make a post here.

This is how it looks for me: Screencap 003 - 2023-11-20

Even on comments that are not spam.

samipfjo commented 11 months ago

Thanks for the bug report! I bet YouTube changed something; I'll have to check it out. I'm fairly bogged down by work at the moment but I'll take a look as soon as possible.

samipfjo commented 10 months ago

Here's an update on the issues at hand for anyone passing by.

Two changes have been made that are preventing the extension from working.

The first was an easy fix and I just pushed a patch for it. YouTube tweaked the HTML structure of comments.

The second is a bit harder. I'm unclear on exactly what happened, but it appears that the ways that browsers are allowing the WebGPU API to be accessed has changed. This broke access to TensorFlow's GPU acceleration, which OpenNSFW.js depends on to run at a good speed while not metaphorically setting users' devices on fire by running on the CPU. YouTube Spam Remover relies on for OpenNSFW.js for nudity detection, so this issue subsequently breaks YTSR. The unfortunate news is that I'm also the author of OpenNSFW.js (I wrote it for this extension!), so it's on me to fix this on both ends 🙃.

I'm gonna do my best to get the patch pushed out as promptly as I can now that I have a moment to breathe.

samipfjo commented 10 months ago

Okay, fortunately the OpenNSFW.js issue was very straightforward and I just pushed a patch. My test builds of YTSR appear to be working again; I'll get the new version pushed out to the extension shops ASAP. Mozilla is usually pretty quick about clearing new versions for release. It will get pushed out to all users once y'all's browsers decide it's time to check for updates.

I'll post here again once the update has cleared and will mark the issue as resolved at that point, though I think I'll keep it open for a week or so until all users will has most likely gotten the patch.

samipfjo commented 10 months ago

Update is live on both the Mozilla and Chrome extension stores!

wooziwoozi commented 10 months ago

Thank you! I will try it out :)

nascentt commented 7 months ago

somehow this is both open and resolved.

samipfjo commented 7 months ago

somehow this is both open and resolved.

Thanks for letting me know. I had left it open keep it visible in case someone else came by for the same reason. It's been pretty long enough that this is no longer relevant.

PassiveLemon commented 2 months ago

I would like to say that I still occasionally experience this issue. After browsing for some time, all videos comments will get stuck in that loading state and only a page refresh will resolve it. I do use Firefox on Linux so it's possible the problem lies there.

Overall, the extension works very nicely, only relatively minor nits like described in this issue.

samipfjo commented 2 months ago

I would like to say that I still occasionally experience this issue. After browsing for some time, all videos comments will get stuck in that loading state and only a page refresh will resolve it. I do use Firefox on Linux so it's possible the problem lies there.

Overall, the extension works very nicely, only relatively minor nits like described in this issue.

Thank you for letting me know, and for the otherwise positive feedback. It can be really discouraging rarely hearing from folks for whom it's working, but I'm sure as hell never going to beg for reviews.

I'll track down what's going on as soon as I get a chance. The last update I pushed introduced a feature that should make sure comments are never permanently hidden, but it's entirely possible something broke such that's preventing that from happening. I also daily drive Linux and Firefox, but I've yet to encounter this bug.

If you encounter it again, it would be helpful if you could screenshot your inspector's console and post it here. Hopefully whatever is causing the issue will show up there.

samipfjo commented 2 months ago

Note for future Sami: implement failsafe for comment hiding as a CSS animation instead of a JS callback to prevent code failures from causing this issue

PassiveLemon commented 2 months ago

Managed to get it: 2024_Aug-20_02-19-21 Those uncaught exception: promise timed out after 10000 ms appear to be from the plugin: yt-spam-remover.js:195:13 but I also saw another error which may be related: Assertion failed: gpgpu_util.bindVertexProgramAttributeStreams not fully successful. opennsfw.min.js:2735:13332

samipfjo commented 1 month ago

Awesome! Thank you so much for doing that!

I have a bandaid ready that will ensure the comments get displayed even if the extension completely falls over. It will result in the extension essentially giving up when this happens, but it will work as an interim "solution" to keep the comment section functional until I get a chance to fix the actual root bug. That error message is a symptom rather than a cause, and the cause I suspect¹ is REALLY annoying to debug.

The error from OpenNSFW is unrelated and isn't actually an issue; IIRC it's just an oddity with TensorFlow.js that doesn't cause any noticable issues. I believe the last time I updated the TFJS version there was an open issue on their repo ala "why is there an assertion error in the release build when it doesn't affect anything?" ¯\⁠⁠(⁠ツ⁠)⁠/⁠¯

¹ YouTube is a "one-page app"² chuck-full of inconsistent behavior, so what appear to be page changes don't always fire page load events. I'm betting something is borked with the handling of virtual reloads.

² Insert Abe Simpson yelling at clouds meme here

samipfjo commented 1 month ago

Ugggghhhhhh Google! Why do you have to be my source of endless suffering??

I got held up because this well-intentioned waste of my time got implemented in Chrome (and not Firefox yet, naturally), which I don't use outside of testing this extension. Completely broke the extension for Chrome users. I really need to set up scheduled automated testing against the beta versions of both browsers, but I've been putting it off because it's likely to be a huge PITA. Finally got a fix in place, but it's nearly 1AM at this point and I don't have the brain to go through the submission process.

I'm heading out on a short trip tomorrow, but I will try to get the update submitted before I leave. In case I don't get to it, here's a copy of the patched version with debug logging enabled that you're welcome to use if you'd like -- just disable the live version, go to about:debugging#/runtime/this-firefox, and load the zip as a temporary add-on. It'll unload every time you close Firefox, but it's better than your comments breaking. If you manage to catch it breaking again, that'll tell me a hell of a lot more about what's going on.

Thanks again for your time, I really appreciate it.

samipfjo commented 1 month ago

broke:

let uri = "sad.js";

woke:

const getScriptURL: any = (typeof chrome === 'undefined' ? browser : chrome).runtime.getURL(url_string);
let url: any = getScriptURL("vibing.js");

bespoke:

var ttScriptURLPolicy: any;

if (window.trustedTypes && window.trustedTypes.createPolicy) {
  ttScriptURLPolicy = window.trustedTypes.createPolicy('default', {
    createScriptURL: (url_string: any) => {
      (typeof chrome === 'undefined' ? browser : chrome).runtime.getURL(url_string);
    }
  });
}

let ohGodKillMeNow = ttScriptURLPolicy.createScriptURL("abe-simpson-yelling-at-cloud.js");
samipfjo commented 1 month ago

Alright, now with the light of day I've discovered it's much less less horrific than previously thought. I completely lost track of days and realized I'm leaving tomorrow, not today lol. Working on getting the update pushed out.

Some keywords for any future folks searching: how to use Trusted Types (trustedTypes) with runtime.getURL for a browser extension and service worker importScripts

Main script:

var scripts: any;
var ttScriptURLPolicy: any;
if (window.trustedTypes && window.trustedTypes.createPolicy) {
    ttScriptURLPolicy = window.trustedTypes.createPolicy('default', {
        createScriptURL: (url_string: any) => url_string
    });
}

const getExtensionFileURL = (typeof chrome === 'undefined' ? browser : chrome).runtime.getURL;
const scripts = [getExtensionFileURL("script-1.min.js"),
                 getExtensionFileURL("script-2.min.js")];

const worker     = new Worker(getExtensionFileURL("yt-spam-remover-worker.js"));
worker.onmessage = (e: MessageEvent) => { };
worker.postMessage(["scripts", scripts]);

Worker:

var ttScriptURLPolicy: any;
if (typeof trustedTypes !== "undefined" && trustedTypes.createPolicy) {
    ttScriptURLPolicy = trustedTypes.createPolicy("default", {
        createScriptURL: (url_string: any) => url_string
    });
}

function onMessage(e: MessageEvent) {
    const command: string = e.data[0];
    const event_data: any = e.data[1];

    if (command === "scripts") {
        for (const script_url of event_data) {
            importScript(script_url);
        }
    }
} 
samipfjo commented 1 month ago

Great news! I just pushed out an update to the extension stores; it's already live on Firefox and Chrome. It should fix the root issue you're running into as well as preventing this category of error from ever permanently obscuring comments again. There's one bugfix I need to release yet, but it's not critical right now. I'll push it out as v2.3.1 along with an update to the allowed sites data once I have time.

nascentt commented 1 month ago

Appreciate your work!

Enjoy your trip.

PassiveLemon commented 1 month ago

Sorry to say that I have version 2.3.0 (Updated Aug 25) and I still have the issue... image I get some errors having to do with some Youtube API calls (typically blocked by UBO and possibly my DNS server). They just popup after some time and are seemingly unrelated to the plugin? Loading new comments and replies only displays the Referrer Policy Info logs.

I'll also provide my extensions (Firefox) in case those play a role:

samipfjo commented 1 month ago

Well that's a revolting development; sorry to hear the patch didn't fix the issue.

So, as you said, those errors are unrelated to YTSR, they're all stuff from Ublock doing its thing and Youtube itself.

Let's leverage one of the new features I added to get some more advanced logging going so I can get a better idea of what's going on!

First, go into the Firefox extensions menu, click on YTSR, and hit the "open settings" button. In the window that appears, click the "logging level" drop-down and select "verbose". You'll unfortunately need to refresh any Youtube pages you have open for the change to take effect.

When you encounter the bug again, open your developer console like before and just above the console in the space with the "filter output" placeholder text, enter /opennsfw|youtube[-_]|trusted/i. So you know what you're pasting (in case you don't already know), it's a case-insensitive regular expression that will catch most errors related to YTSR (opennsfw, youtube- (filenames), youtube_ (log prefixes), and the aforementioned trustedtypes)

Once you get that log, ctrl+A and stick it in an empty file, then post the file here. I'll take a look and, god willing, we'll have an idea of WTF is going on.

PassiveLemon commented 1 month ago

console-export-2024-8-29_12-2-35.txt

Ignore the Uncaught SyntaxError: invalid regular expression flag f debugger eval code:1:32 at the end, accidentally pasted it into the console instead

samipfjo commented 1 month ago

Whew, that log did the trick! There was a mistake in how timeouts for avatars loading were being handled, which is now fixed! Working on pushing out the update.

Edit: Version 2.3.1 is live on the Firefox store!

samipfjo commented 1 month ago

Out of curiosity, what are your computers specs, and how fast is your internet?

The bug was triggered by the video author's avatar taking longer than 10 seconds to load, which isn't something I've run into before. With that said, I have quite fast internet and a decently recent processor (i5-10210U / 4c8t).

There was code to account for it, it just wasn't working lol.

PassiveLemon commented 1 month ago

Glad to hear that you got it figured out!

I have a Ryzen 5 5600X and an RTX 3060 Ti. I usually average 100 mbps down and 2 mbps up

samipfjo commented 1 month ago

Me too!

Well that deepens the mystery. Obviously your hardware is plenty fast. It's been a bit since I've tested the extension on a computer with a dedicated GPU (I rarely watch videos on my gaming PC); I wonder if that's somehow contributing.

wooziwoozi commented 1 month ago

I am having the issue again too, and just wanted to throw out that I am also a gamer, so i7-11700k and 3080 Ti, so maybe it could be linked? My internet is 300Mbps down and 20Mbps up.

samipfjo commented 1 month ago

I am having the issue again too, and just wanted to throw out that I am also a gamer, so i7-11700k and 3080 Ti, so maybe it could be linked? My internet is 300Mbps down and 20Mbps up.

Could you please check what version of the extension you're running? about:addons > YouTube Spam Remover > Scroll to the bottom

If you're still on v2.3.0 you won't have the patch yet

samipfjo commented 1 month ago

Thinking about it more, the GPU shouldn't make a difference with this bug unless there's something VERY silly going on, as the speed at which the avatar loads depends primarily on the network

PassiveLemon commented 1 month ago

It does appear to be fixed! I have noticed that comments where the avatars is flagged as NSFW take 10 seconds to load (I'm assuming 10 is an enforced maximum), could this possibly be a cause? I don't know the threading of the various processes so I'm just making a guess here but maybe the process of analyzing the avatar for NSFW content blocks the loading of the avatar which in turn causes some timeout?

PassiveLemon commented 1 month ago

I caught this happening:

YOUTUBE_SPAM_REMOVER :: Adding event listener to comment #3486ca3825c7a8 by ModelAaliyahAustin-i8o yt-spam-remover.js:347:28
YOUTUBE_SPAM_REMOVER :: Load event fired for comment #3486ca3825c7a8 by ModelAaliyahAustin-i8o yt-spam-remover.js:552:24
YOUTUBE_SPAM_REMOVER :: Avatar for comment #3486ca3825c7a8 at https://yt3.ggpht.com/Mxa_I-AUysFxS0wT5ORRQ2j0oMI0wEzlQrOGTGsQnLS-J_f9a8836s4dvVCHZ5sxgKkD92RHu4c=s88-c-k-c0x00ffffff-no-rj loaded yt-spam-remover.js:555:28
YOUTUBE_SPAM_REMOVER :: Sending avatar from comment #3486ca3825c7a8 by "ModelAaliyahAustin-i8o" to worker yt-spam-remover.js:326:20
YOUTUBE_SPAM_REMOVER (worker) :: Getting imagedata for comment #3486ca3825c7a8 f6c89fd9-158a-4fb8-a943-be2b3003a8af:150:25
YOUTUBE_SPAM_REMOVER (worker) :: Comment #3486ca3825c7a8 has different avatar than video author f6c89fd9-158a-4fb8-a943-be2b3003a8af:174:33
YOUTUBE_SPAM_REMOVER (worker) :: OpenNSFW has been sent #3486ca3825c7a8 f6c89fd9-158a-4fb8-a943-be2b3003a8af:259:29
YOUTUBE_SPAM_REMOVER (worker) :: OpenNSFW thinks comment #3486ca3825c7a8 is NSFW (confidence: nsfw=0.979%) f6c89fd9-158a-4fb8-a943-be2b3003a8af:195:29
YOUTUBE_SPAM_REMOVER :: Comment #3486ca3825c7a8 was not processed before the retry timeout; retrying... yt-spam-remover.js:376:32
YOUTUBE_SPAM_REMOVER :: Sending avatar from comment #3486ca3825c7a8 by "ModelAaliyahAustin-i8o" to worker yt-spam-remover.js:352:28
YOUTUBE_SPAM_REMOVER (worker) :: Getting imagedata for comment #3486ca3825c7a8 f6c89fd9-158a-4fb8-a943-be2b3003a8af:150:25
YOUTUBE_SPAM_REMOVER (worker) :: Comment #3486ca3825c7a8 has different avatar than video author f6c89fd9-158a-4fb8-a943-be2b3003a8af:174:33
YOUTUBE_SPAM_REMOVER (worker) :: OpenNSFW has been sent #3486ca3825c7a8 f6c89fd9-158a-4fb8-a943-be2b3003a8af:259:29
YOUTUBE_SPAM_REMOVER (worker) :: OpenNSFW thinks comment #3486ca3825c7a8 is NSFW (confidence: nsfw=0.979%)

I also caught a different issue though...

Occasionally, comments take way long to load and spit out these messages every so often:

YOUTUBE_SPAM_REMOVER :: Comment #cbe788cd18d178 was not processed before the retry timeout; retrying... [yt-spam-remover.js:376:32](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER :: Adding event listener to comment #cbe788cd18d178 by riotakeuchi2886 [yt-spam-remover.js:347:28](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)

And after enough time:

YOUTUBE_SPAM_REMOVER :: Load event fired for comment #cbe788cd18d178 by riotakeuchi2886 [yt-spam-remover.js:552:24](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER :: Avatar for comment #cbe788cd18d178 at data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN8XA8AAksBZG7LpHYAAAAASUVORK5CYII= loaded [yt-spam-remover.js:555:28](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER :: Sending avatar from comment #cbe788cd18d178 by "riotakeuchi2886" to worker [yt-spam-remover.js:326:20](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER :: Load event fired for comment #cbe788cd18d178 by riotakeuchi2886 [yt-spam-remover.js:552:24](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER :: Avatar for comment #cbe788cd18d178 at data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN8XA8AAksBZG7LpHYAAAAASUVORK5CYII= loaded [yt-spam-remover.js:555:28](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER :: Sending avatar from comment #cbe788cd18d178 by "riotakeuchi2886" to worker [yt-spam-remover.js:326:20](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER :: Load event fired for comment #cbe788cd18d178 by riotakeuchi2886 [yt-spam-remover.js:552:24](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER (worker) :: Getting imagedata for comment #cbe788cd18d178 [f6c89fd9-158a-4fb8-a943-be2b3003a8af:150:25](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER :: Avatar for comment #cbe788cd18d178 at data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN8XA8AAksBZG7LpHYAAAAASUVORK5CYII= loaded [yt-spam-remover.js:555:28](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER :: Sending avatar from comment #cbe788cd18d178 by "riotakeuchi2886" to worker [yt-spam-remover.js:326:20](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER (worker) :: Image URL "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN8XA8AAksBZG7LpHYAAAAASUVORK5CYII=" is invalid (image_to_image_data) [f6c89fd9-158a-4fb8-a943-be2b3003a8af:280:33](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER :: Load event fired for comment #cbe788cd18d178 by riotakeuchi2886 [yt-spam-remover.js:552:24](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER (worker) :: undefined [f6c89fd9-158a-4fb8-a943-be2b3003a8af:319:29](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: Author imagedata was undefined for comment #cbe788cd18d178 (during judgeSpam) [f6c89fd9-158a-4fb8-a943-be2b3003a8af:160:29](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: Getting imagedata for comment #cbe788cd18d178 [f6c89fd9-158a-4fb8-a943-be2b3003a8af:150:25](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: Image URL "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN8XA8AAksBZG7LpHYAAAAASUVORK5CYII=" is invalid (image_to_image_data) [f6c89fd9-158a-4fb8-a943-be2b3003a8af:280:33](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER :: Avatar for comment #cbe788cd18d178 at data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN8XA8AAksBZG7LpHYAAAAASUVORK5CYII= loaded [yt-spam-remover.js:555:28](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER (worker) :: undefined [f6c89fd9-158a-4fb8-a943-be2b3003a8af:319:29](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: Author imagedata was undefined for comment #cbe788cd18d178 (during judgeSpam) [f6c89fd9-158a-4fb8-a943-be2b3003a8af:160:29](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: Getting imagedata for comment #cbe788cd18d178 [f6c89fd9-158a-4fb8-a943-be2b3003a8af:150:25](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: Image URL "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN8XA8AAksBZG7LpHYAAAAASUVORK5CYII=" is invalid (image_to_image_data) [f6c89fd9-158a-4fb8-a943-be2b3003a8af:280:33](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: undefined [f6c89fd9-158a-4fb8-a943-be2b3003a8af:319:29](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: Author imagedata was undefined for comment #cbe788cd18d178 (during judgeSpam) [f6c89fd9-158a-4fb8-a943-be2b3003a8af:160:29](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER :: Sending avatar from comment #cbe788cd18d178 by "riotakeuchi2886" to worker [yt-spam-remover.js:326:20](moz-extension://0e9bbb10-9195-47e6-8704-3177557a7b7f/yt-spam-remover.js)
YOUTUBE_SPAM_REMOVER (worker) :: Getting imagedata for comment #cbe788cd18d178 [f6c89fd9-158a-4fb8-a943-be2b3003a8af:150:25](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: Image URL "data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mN8XA8AAksBZG7LpHYAAAAASUVORK5CYII=" is invalid (image_to_image_data) [f6c89fd9-158a-4fb8-a943-be2b3003a8af:280:33](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: undefined [f6c89fd9-158a-4fb8-a943-be2b3003a8af:319:29](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)
YOUTUBE_SPAM_REMOVER (worker) :: Author imagedata was undefined for comment #cbe788cd18d178 (during judgeSpam) [f6c89fd9-158a-4fb8-a943-be2b3003a8af:160:29](blob:https://www.youtube.com/f6c89fd9-158a-4fb8-a943-be2b3003a8af)

This avatar was not NSFW, I looked at their profile and it is just a stick figure. The comment itself does end up loading, but not the avatar.

Sorry to load you up on issues haha, just doing my duty as a user and reporting errors

samipfjo commented 1 month ago

Sorry to load you up on issues haha, just doing my duty as a user and reporting errors

No worries! I actually appreciate it a lot! You're running into bugs I haven't encountered before, so without you others might run into them too!

I caught this happening ... "(...) was not processed before the retry timeout; retrying..."

The retry is intended behavior, the getting stuck for 10s sure isn't. I believe this is related to a bug I just fixed, so the issue will hopefully be gone in the next version. I've reduced the retry timeouts to 5s as well, so if it does get stuck in the future it will retry before it's too intolerable. The next update fixes an issue that has made it annoying, which is that screening avatars and text were accidentally coupled together. Text will soon un-blur immediately after passing screening, which happens a lot faster than images.

Interestingly, I've been seeing a spammer with almost the same name (AaliyahAustin-t7t) on the video I've been using to test the past couple of days (JaidenAnimation's latest), it even has the same avatar and profile content. I wonder where they source their names. Aaliyah Austin seems to be a decently common name for an actual person, and there's a basketball player named Aaliyah Austin who is listed on ESPN's site. I wonder if they scrape places like that?

The comment itself does end up loading, but not the avatar

That one is a bit baffling. You've run into a really weird bug (and a seemingly rare one at that) that I'm almost certain is completely unrelated to the add-on. For some reason a 1x1px base64-encoded GIF is getting stuck in the SRC tag of the avatar image.

Looking at the screenshot in the AskUbuntu post, I swear I've seen this before on my machine. I think a force-refresh (ctrl+shift+r) fixed it? At any rate, I've added a check for it since it's dead simple to do so. I won't be able to fix the avatar itself, but YTSR won't get stuck anymore.

image

samipfjo commented 1 month ago

2.4.0 is out! And... surprise! Support for Shorts!