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
+17 -2
View File
@@ -72,8 +72,23 @@ Rutsch ein und ordnet jede `tr` nach ihrem ersten verwertbaren Link zu. Eine
Forenzeile verlinkt in der Spalte „letzter Beitrag" ebenfalls `viewtopic.php` —
zaehlte man Themenlinks zuerst, faellt die Zeile als Thema an, der Forenname
verschwindet und nur die Beschreibung bleibt als `.rm-last` uebrig. Genau so
war es vor 3.2. Brotkrumen und „Mark forums read" verlinken ebenfalls Foren,
stehen aber in Zeilen ohne Forenmerkmale und werden verworfen.
war es vor 3.2. Brotkrumen verlinken ebenfalls Foren, stehen aber in Zeilen
ohne Forenmerkmale und werden verworfen.
**„Mark topics read" braucht eine eigene Bremse, „Mark forums read" nicht.**
Beide sind reine Aktionslinks, keine Inhaltslinks, aber nur „Mark forums read"
zeigt auf `index.php` und faellt schon beim Einsammeln durch, weil das keine
der gesuchten Adressen ist. „Mark topics read" oberhalb der Themenliste zeigt
dagegen mit `?mark=topics` auf dieselbe `viewforum.php`-Seite und passt damit
auf den Sammel-Selektor. Sein Link liegt zwar in einer eigenen inneren `tr`
ohne verschachtelte Tabelle, `a.closest('td.cat')` findet aber trotzdem die
aeussere Kategoriezelle drumherum — bis 3.7 wurde daraus eine dauerhafte,
nicht einklappbare `.rm-sec`-Karte oberhalb von Global Announcements statt gar
keiner. `rowKind()` verwirft seit 3.8 jeden Link mit `?mark=` oder `&mark=`
in der Adresse, bevor die uebrige Klassifizierung ueberhaupt beginnt. Das
Repository hat keine eingeloggte `viewforum.php`-Fixture, die diesen Link mit
echtem Markup zeigt — geprueft ist die Bremse nur gegen den vermuteten
`mark=topics`-Parameter, per Texteinfuegung in `dev/viewforum.php`.
**Der Typ einer Themenzeile steht im Symbol, nicht am Titel.** `rinDark`
unterscheidet `global_read.png`, `announce_read.png`, `sticky_read.png` und