I figured I'd pop this somewhere slightly less buried, in case anyone finds it useful. It's a browser userscript; it works on Firefox with Greasemonkey and ought to be fine on Chrome with Tampermonkey. Basically, if you want to ignore a user, put that username in the name array. If you want to ignore a thread, put that title in the thread array. Be exact. You can also decide whether or not to ignore threads which someone you're ignoring started.
// ==UserScript==
// @name Go Away
// @namespace MSB
// @include http://musoapbox.net/*
// @version 2.0
// @run-at document-end
// @grant none
// ==/UserScript==
'use strict';
(function ($) {
// Users you want to ignore
var users = ["Name1","Name2","NameN"];
// Threads you want to ignore
var threads = ["Thread1","Thread2","ThreadN"];
// Ignore threads started by ignored users? (true or false)
var hideStartedBy = true;
function cleanUsers() {
$.each(users,function(index,value) {
$('li[data-username="'+value+'"]').css('display','none');
$('img[data-original-title="'+value+'"]').closest('.card').css('display','none');
});
}
function cleanThreads() {
$.each(threads,function(index,value) {
$('meta[content="'+value+'"]').parent('li.row').css('display','none');
});
if (hideStartedBy) {
$.each(users,function(index,value) {
$('.pull-left div[data-original-title="'+value+'"]').closest('li[component="category/topic"]').css('display','none');
});
}
}
cleanUsers();
cleanThreads();
$(window).on('action:ajaxify.end', function(data) {
cleanUsers();
cleanThreads();
});
$(window).on('action:posts.loaded', function(data) {
cleanUsers();
});
$(window).on('action:topics.loaded', function(data) {
cleanUsers();
cleanThreads();
});
})(jQuery)
It's not fancy (or intensely tested), you'll get the little red notification even for threads you're ignoring (just mark all read to get rid of it), and it won't do anything about chats... but it handles the very basics. It's possible I'll get inspired to fancy it up later, but anyone else can feel free to do so themselves in the meantime.
(If you use it and a forum update breaks it, please let me know, since you may notice before I do.)