From 4c8e1199a4e7c5b1066120547ea49c9117e0ece2 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 18 May 2026 22:15:19 +0000 Subject: [PATCH] test(home): outline every fixed/sticky element to find the white bar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User reports: TEST #3 marker sits at the true bottom of the home page's main content, but when scrolled the test text "goes behind" an opaque white bar — confirming the bar is fixed/sticky (overlays scrolling content). Our CSS only declares ONE fixed element near the bottom (``#datatools-sticky-footer``), which the user already ruled out. So something else — Streamlit native chrome, a third- party widget, or a fixed element we haven't enumerated — is overlaying the content. Inject a small diagnostic iframe whose JS, running against the parent document, walks every element on the page and outlines each ``position: fixed`` or ``position: sticky`` node with a distinct color + a top-left label showing ``tagName#id[data-testid] pos=… h=…px bg=…``. Re-runs after initial paint, on a couple of delays (for late-mounting components), and on every scroll. This is read-only — no DOM mutations beyond outline styles and labels — so it's safe to ship even if I miss removing it. The user can now visually identify which colored box is the offending white bar and report its label. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/gui/_home.py | 83 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 77 insertions(+), 6 deletions(-) diff --git a/src/gui/_home.py b/src/gui/_home.py index 1602c4a..3d32555 100644 --- a/src/gui/_home.py +++ b/src/gui/_home.py @@ -289,16 +289,87 @@ def _home_page() -> None: key_namespace=name, ) - # TEMP: visible marker at the very end of the home page's main - # content. Used to locate the "white bar" the user wants removed. - # If this red banner lines up with the offending white strip when - # scrolled to the bottom, the strip is something rendered right - # here at the tail of ``stAppViewBlockContainer``. + # TEMP: end-of-content marker — confirmed at the true bottom of + # the home page's main content. The user reports content scrolls + # *behind* the offending white bar, so the bar is fixed-positioned. + # Only ``#datatools-sticky-footer`` is fixed at the bottom per + # our CSS, but the user already confirmed the sticky footer is + # NOT the offending bar. So there's a fixed element we haven't + # accounted for. The JS below outlines EVERY fixed/sticky element + # in the parent document with a labelled colored border so we can + # see exactly what's overlaying scrolled content. st.markdown( '
' - '◀ CLAUDE TEST #3 — END OF MAIN CONTENT — IS THIS THE WHITE BAR? ▶' + '◀ CLAUDE TEST #3 — END OF MAIN CONTENT ▶' '
', unsafe_allow_html=True, ) + st.iframe( + """ + +""", + height=1, + )