fix(dashboard): Versions×PDF-Matrix horizontal scrollbar machen (Till-Live-Befund)#310
Merged
Merged
Conversation
…-Live-Befund) Till-Live-Befund am gemergten #305 (master 477eb07): in der Matrix liess sich nicht ganz nach rechts scrollen — bei voller Versionszahl (15 Spalten + PDF-Spalte, ~1500px Mindestbreite via nowrap/min-width) waren die hinteren Versionen nicht erreichbar. Ursache (Repro VOR dem Fix, Playwright/firefox-1532, echte Datenkopie): Die Matrix steckt zwar im etablierten .table-wrap (overflow-x:auto), aber die #203-P3-Media-Query gibt .table-wrap oberhalb 1200px auf overflow-x:visible frei — fuer die Bestandstabellen korrekt (die passen dort ohne Scroll, dafuer sticky-thead), fuer die Matrix nie. Der Ueberlauf wurde von .app{overflow-x:clip} abgeschnitten. Messwerte 1440px: Wrapper 1162px, Tabelle 1497px, letzte Spalte v0.3.143 endet bei x=1746 (ausserhalb Viewport), scrollLeft unbeweglich. 1280px analog. Unter 1200px griff der Basis-Wrapper (auto) und es war scrollbar — deshalb fiel es in der 1440px-Sichtpruefung von #305 nicht auf (Messfehler dort: nur Dropdown- Klicks, kein Scroll-Versuch in der Matrix selbst). Fix (minimal, nur die Matrix — #203-Bestand unangetastet): - Wrapper-Klasse pm-scroll: .table-wrap.pm-scroll { overflow-x:auto } haelt den Scroll-Container in ALLEN Viewport-Breiten aktiv (Spezifitaet (0,2,0) schlaegt die Media-Query-Regel (0,1,0)). - Nice-to-have (trivial geblieben): erste Spalte (PDF-Namen) sticky (left:0, opaker var(--bg-card)-Hintergrund, z-index:2). Erste Iteration hatte ein Light-Theme-Artefakt: die body.light-Zebra-Regel (0,3,4) schlug die sticky-Regel (0,3,1) und legte semi-transparentes rgba ueber die Spalte — durchgescrollte Zellen schienen in even-Zeilen durch (Screenshot-Beleg). Behoben ueber gezielte Opak-Override-Regel (0,5,4) fuer Zebra+Hover in genau dieser Spalte; Trade-off (kein Zebra/Hover-Tint in der ersten Spalte) im CSS-Kommentar dokumentiert. - Delta-Tabelle des Paarvergleichs NICHT angefasst: Repro zeigte kein Problem (width:100%, wrappt; >=1200 passt sie, <1200 greift der Basis-Wrapper). Verifikation NACH dem Fix (aktives Scrollen via scrollLeft, hell+dunkel, 1440/1280/1100px): letzte Spalte v0.3.143 in allen Konstellationen voll sichtbar (scrollLeft==maxScroll, lastColFullyVisible=true), sticky-Spalte opak ohne Durchschein-Artefakte, 0 Page-Errors. Screenshots C:/tmp/pairview-verify/hscroll-{repro,nachher}-*.png. Tests: 1 neuer HTML-Anker-Test (RED verifiziert: pm-scroll-Klasse fehlte), Muster test_dashboard_agent_stats_empty_message (_build_live_html, nie bash grep/sed wegen NUL-Byte). NUL-Byte-Check nach jedem HTML-Edit: 1 (unveraendert). Volle Suite: 6028 passed, 3 skipped. ruff check + format: clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Befund (Till, live am gemergten #305, master
477eb07)In der Versions×PDF-Matrix lässt sich nicht ganz nach rechts scrollen — bei voller Versionszahl (15 Versions-Spalten + PDF-Spalte, ~1500px Mindestbreite durch
nowrap/min-width) sind die hinteren Versionen nicht erreichbar.Repro (VOR dem Fix, Playwright/firefox-1532, Port 8069, read-only-Datenkopie)
Die Matrix steckt zwar im etablierten
.table-wrap(overflow-x:auto), aber die #203-P3-Media-Query gibt.table-wrapoberhalb 1200px aufoverflow-x:visiblefrei — für die Bestandstabellen korrekt (die passen dort ohne Scroll, dafür sticky-thead), für die 16-Spalten-Matrix nie. Den Überlauf schneidet.app{overflow-x:clip}ab. Messwerte:visiblevisibleauto(Basis-Wrapper)Deshalb fiel es in der #305-Sichtprüfung (1440px) nicht auf: dort wurde per Dropdown geklickt, aber nie in der Matrix selbst gescrollt. Die Delta-Tabelle des Paarvergleichs ist nicht betroffen (width:100%, wrappt; ≥1200 passt sie exakt, <1200 greift der Basis-Wrapper) — Repro-Messung im Skript enthalten, sie bleibt unangetastet.
Screenshots vorher:
C:/tmp/pairview-verify/hscroll-repro-VORHER-{1440,1280,1100}.pngFix (minimal, nur die Matrix — #203-Bestand bleibt separates Issue)
internal/dashboard/eval_dashboard.html:pm-scrollam Matrix-.table-wrap+ Regel.table-wrap.pm-scroll { overflow-x:auto; overflow-y:hidden }— hält den Scroll-Container in allen Viewport-Breiten aktiv (Spezifität (0,2,0) schlägt die Media-Query-Regel (0,1,0); der sticky-thead der Media-Query entfällt für die Matrix ohnehin, da ein Scroll-Container sein Containing-Block wäre — die Dashboard responsive: 1100px verschluckt Zeitstempel, Tabellen ohne Horizontal-Scroll, Sticky-Leiste verdeckt Tabellenköpfe #203-P3-Begründung selbst).left:0, opakervar(--bg-card)-Hintergrund,z-index:2) — die PDF-Namen bleiben beim Scrollen lesbar. Erste Iteration hatte ein Light-Theme-Artefakt: diebody.light-Zebra-Regel (Spezifität 0,3,4) schlug die sticky-Regel (0,3,1) und legte semi-transparentes rgba über die Spalte — durchgescrollte Zellen schienen in even-Zeilen durch (im Screenshot erkannt). Behoben über eine gezielte Opak-Override-Regel (0,5,4) für Zebra+Hover in genau dieser Spalte; Trade-off (Zebra-/Hover-Tint fehlt in der ersten Spalte) im CSS-Kommentar dokumentiert.Verifikation (NACH dem Fix, aktives Scrollen via
scrollLeft = scrollWidth)Hell (1440/1280/1100) + Dunkel (1440): letzte Spalte v0.3.143 in allen Konstellationen voll sichtbar (
scrollLeft == maxScroll,lastColFullyVisible: true), sticky-Spalte opak ohne Durchschein-Artefakte, 0 Page-Errors. Screenshots:C:/tmp/pairview-verify/hscroll-nachher-{LIGHT-1440,LIGHT-1280,LIGHT-1100,DARK-1440}.pngTests / Checks
test_html_pair_matrix_table_has_dedicated_scroll_wrapper(RED vor dem Fix verifiziert; Muster_build_live_html()wietest_dashboard_agent_stats_empty_message.py— nie bash grep/sed wegen des gewollten NUL-Bytes).ruff check+ruff format --check: clean.