fix: stop "Mark topics read" from becoming a stuck-open list section

Its link sits inside a category cell but in an inner row with no
nested table, so it slipped past the layout-row guard and got read as
a genuine category heading. Unlike a real heading it never got the
group machinery that makes Announcements and Stickies collapsible, so
it just sat there permanently open with no way to close it.
This commit is contained in:
Andre
2026-08-02 16:28:57 +02:00
parent aec883e7c9
commit 0d2731eaa9
2 changed files with 29 additions and 7 deletions
+12 -5
View File
@@ -1,7 +1,7 @@
// ==UserScript==
// @name RIN Mobile
// @description Mobile Ansicht fuer cs.rin.ru: Themenlisten als Karten, Threads als Beitragsstrom
// @version 3.7
// @version 3.8
// @match *://cs.rin.ru/forum/*
// @run-at document-start
// ==/UserScript==
@@ -905,12 +905,19 @@
}
// Welche Karte eine Zeile ergibt, entscheidet der erste verwertbare Link
// darin. Beiwerk wie die Brotkrumen oder "Mark topics read" verlinkt
// ebenfalls auf viewforum.php, steht aber in keiner Zeile, die eine Karte
// hergibt — deshalb muss eine Forenzeile als solche erkennbar sein.
// darin. Beiwerk wie die Brotkrumen verlinkt ebenfalls auf viewforum.php,
// steht aber in keiner Zeile, die eine Karte hergibt — deshalb muss eine
// Forenzeile als solche erkennbar sein.
function rowKind(a, tr) {
if (!txt(a) || a.classList.contains('breadcrumbs') ||
a.closest('p.breadcrumbs')) return '';
// "Mark topics read" (eingeloggt oberhalb der Themenliste) und "Mark
// forums read" verlinken mit ?mark=topics/forums auf die aktuelle Seite
// selbst. Der Link liegt zwar in einer eigenen inneren <tr> ohne
// verschachtelte Tabelle, .closest('td.cat') findet aber trotzdem die
// aeussere Kategoriezelle und machte daraus bislang eine dauerhafte,
// nicht einklappbare .rm-sec-Karte statt gar keine.
if (/[?&]mark=/.test(a.getAttribute('href') || '')) return '';
if (/viewtopic\.php/.test(a.getAttribute('href') || '')) {
if (tr.querySelector('a.forumlink')) return 'forum';
// Der Menuebalken der Seite verlinkt "Forum rules" und die FAQ ebenfalls
@@ -1280,7 +1287,7 @@
if (DEBUG) {
var d = document.createElement('div');
d.className = 'rm-dbg';
d.textContent = 'RIN Mobile v3.7\n' + log.join('\n');
d.textContent = 'RIN Mobile v3.8\n' + log.join('\n');
document.body.insertBefore(d, document.body.firstChild);
}
}