Merge b626-631 (batch #626+)
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
@@ -142,6 +142,13 @@
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
_keys = await Keys.ListAsync(default);
|
_keys = await Keys.ListAsync(default);
|
||||||
|
// The one-time banner is only meaningful while its key exists; the credential is
|
||||||
|
// otua_<keyId>_<secret>, so drop it once no listed key matches (deleted here or elsewhere).
|
||||||
|
if (_created is not null
|
||||||
|
&& !_keys.Any(k => _created.StartsWith($"otua_{k.ApiKeyId}_", StringComparison.Ordinal)))
|
||||||
|
{
|
||||||
|
_created = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -48,3 +48,14 @@
|
|||||||
flex: 0 0 18px;
|
flex: 0 0 18px;
|
||||||
width: 18px;
|
width: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Modal backdrop overran the viewport on /raw (#631). The theme's `.rise` entrance animation runs with
|
||||||
|
`animation-fill-mode: both`, which keeps its final keyframe's transform applied for good — and ANY
|
||||||
|
transform (even the identity it leaves) makes that section the containing block for position:fixed
|
||||||
|
descendants. A modal rendered inside a `.panel.rise` therefore had its fixed backdrop offset by the
|
||||||
|
panel's left edge, so it ran 240px past the viewport and the page grew a horizontal scrollbar.
|
||||||
|
`backwards` keeps the hidden start state during the stagger delay but drops the transform once the
|
||||||
|
animation ends. (Upstream fix belongs in ZB.MOM.WW.Theme's theme.css.) */
|
||||||
|
.rise {
|
||||||
|
animation-fill-mode: backwards;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user