From af132cd461a6db1e25bb797d958d3b4b32c16e11 Mon Sep 17 00:00:00 2001 From: Boris Tyshkevich Date: Tue, 28 Jul 2026 21:45:44 +0200 Subject: [PATCH] fix auth recovery overlay --- CHANGELOG.md | 6 ++++++ src/styles.css | 21 ++++++++++--------- tests/e2e/dashboard-kpi-move.html | 7 +++++++ tests/e2e/dashboard-membership.html | 7 +++++++ tests/e2e/dashboard-mobile.html | 4 ++++ tests/e2e/dashboard-tree.html | 13 ++++++++++++ tests/e2e/oauth-document-recovery.spec.js | 6 ++++++ tests/e2e/tile-open-workbench.html | 11 ++++++++++ .../connection-lifecycle-boundaries.test.js | 10 +++++++++ 9 files changed, 75 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16668b78..47f86e59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,12 @@ auto-generated per-PR notes; this file is the curated, human-readable history. ## [Unreleased] +### Fixed +- **In-place authentication recovery no longer compresses the mounted + workspace** (#512). The preserved editor or Dashboard now stays behind a + blocking viewport overlay, rather than being pushed below a second, + independently scrolling login region. + ### Added - **OAuth reauthentication now preserves dirty document work across its page redirect** (#512 phase 3). Before navigation, a versioned, expiring diff --git a/src/styles.css b/src/styles.css index 6465de21..7c674a78 100644 --- a/src/styles.css +++ b/src/styles.css @@ -432,22 +432,23 @@ h1, h2, h3, h4, h5, h6 { } .login-screen .mono { font-family: var(--mono); } .auth-host { - flex: 0 1 auto; - max-height: 48vh; + /* Authentication recovery must retain the mounted document session without + becoming part of its layout. Keeping this host in the flex column squeezed + the Dashboard beneath the card and created two competing vertical + scrollers. It is a blocking recovery overlay instead. */ + position: fixed; inset: 0; z-index: 120; + display: flex; align-items: center; justify-content: center; overflow: auto; - padding: 14px; - border-bottom: 1px solid var(--border); - background: - radial-gradient(620px 220px at 50% -30%, color-mix(in oklab, var(--accent) 12%, transparent), transparent 72%), - var(--bg); + box-sizing: border-box; padding: 24px; + background: var(--scrim); + backdrop-filter: blur(4px); } .auth-host[hidden] { display: none; } .login-inline { - display: flex; - justify-content: center; + flex: 0 0 auto; } .login-inline .login-card { - box-shadow: var(--shadow-popover); + box-shadow: var(--shadow-dialog); } .login-card { width: 380px; padding: 40px 36px 36px; diff --git a/tests/e2e/dashboard-kpi-move.html b/tests/e2e/dashboard-kpi-move.html index 107155f6..0d7c5d36 100644 --- a/tests/e2e/dashboard-kpi-move.html +++ b/tests/e2e/dashboard-kpi-move.html @@ -35,6 +35,7 @@