Skip to content

Landing welcome screen invisible — #chat-history containment layer occludes the un-z-indexed #welcome-screen #165

Description

@jdmanring

Summary

On the New Chat / landing screen the welcome splash (the "⚓ Odysseus / Yours for the voyage" branding, tip, and the incognito "Nobody" button) is invisible, even though #welcome-screen is fully rendered (opacity:1, laid out, content present). It briefly flashes into view when opening an existing chat, then disappears — the tell of an occlusion, not a paint or visibility bug.

Root cause

#welcome-screen is position:absolute with no z-index. Two develop-only fork changes to .chat-history combine to paint the (empty) chat log over it:

  • contain: layout style (7ad973f6) makes .chat-history a stacking context, lifting it to the same paint level as the positioned welcome screen.
  • background: var(--bg) (667c1006, a compositor tile-fill workaround) makes it opaque.

#chat-history comes later in the DOM (index.html:1021) than #welcome-screen (index.html:979), so at equal stacking level the log paints on top and hides the splash. The flash-on-open is selectSession fading #chat-history to opacity:0 for 120 ms, briefly exposing the splash before the chat covers it.

Upstream has neither contain nor background on .chat-history, so its chat log stays below the positioned splash — which is why upstream shows the welcome screen and the fork does not.

Fix

Give the overlay an explicit z-index: 1 on #welcome-screen so it paints above the chat log's containment layer. Keeps both fork optimizations (the Qt contain fix and the background) and carries no tile-fill risk. Regression guard added asserting #welcome-screen declares a z-index.

Classification

Develop-only fork regression (the containment/background live only on develop, not on the #2 branch or upstream). Fix lands on develop; no upstream PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions