I'm not sure I agree in the least with using a GIF image for this in React. There are a *LOT* of spinner components in npm that will use SVG (smaller than animated GIF) with enough CSS for the animation itself. The overall effect will usually be smoother, and every remotely modern browser (even IE 10) supports this without issue.
https://caniuse.com/#feat=css-animation
Are you adding a URL or just Text? If you just add a URL, is that URL banned? Then it's probably not allowing it in the text either. Without more information it would be hard to tell.
A significant portion of news submissions are spammy in nature. Some is borderline, much is outright spam. I've cleared out as many as 10 posts in a day. I think Fabien catches just as much of it.
If you put the information you were trying to post in a comment on this thread, or reach out via twitter as much, it might be easier to give a better response.
Poor quality posts that are selling/promoting consulting services and/or unrelated to JS are deleted as soon as spotted. Also, there is no gain in terms of SEO as links have a nofollow set. Most people in this community don't like, appreciate or want such posts and actively vote them down.
Only optimize cases like this if the performance is actually effecting your application. While it's interesting and nice to be aware of, the underlying engines can and do change over time.
I've tended to use `-r esm` for a while now instead of experimental modules, but really need to start using mjs and experimental module to get used the to more rigid structure node has applied.
IIRC, I've used cheerio for this kind of work in the past... not sure about re-writing after updates tbh, been a while since I've dealt with XML in JS.
Cool... had setup something similar recently, only implemented sqlite currently. May switch to this if I'm able.
I did have two other pieces though... I had a lookup for startsWith and a deleteStartingWith, to remove/query anything that starts with the string, kind of a wildcard match.