Here’s a Greasemonkey script that seems to work for me
// ==UserScript==
// @name Discourse user blocking
// @version 1
// @grant none
// @include https://swi-prolog.discourse.group/*
// ==/UserScript==
const blockNames = ["USERNAMES", "HERE"];
const hideElements = () => {
for (username of blockNames) {
document.querySelectorAll(
`article.onscreen-post .first.username [data-user-card="${username}"]`
).forEach((elt) => {
do { elt = elt.parentElement } while (elt.tagName !== "ARTICLE")
elt.style.display = "none"
});
}
};
const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
const observer = new MutationObserver((mutations) => {
hideElements();
});
observer.observe(document.body,
{attributes: true, childList: true, subtree: true})