From 54cd57f93a97e71ca41d2443adbe0152d140265c Mon Sep 17 00:00:00 2001 From: 4gray Date: Thu, 1 Oct 2026 07:29:01 +0200 Subject: [PATCH] fix(dashboard): scroll a focused rail card fully into view Chromium skips its focus scroll when 32px or more of the element already shows, so Tab onto the last source card of a rail that overflows by less than a card left it half-hidden under the edge fade. The rail track now handles focusin and scrolls to the first card-start snap position that reveals the whole card; a plain "nearest" scroll is not enough because mandatory snapping can round it back (seen on the live channel rail). Co-Authored-By: Claude Opus 5.5 --- .changes/dashboard-rail-focus-reveal.md | 8 + .../lib/rails/dashboard-rail.component.html | 3 +- .../rails/dashboard-rail.component.spec.ts | 165 ++++++++++++++++++ .../src/lib/rails/dashboard-rail.component.ts | 50 ++++++ 4 files changed, 225 insertions(+), 1 deletion(-) create mode 100644 .changes/dashboard-rail-focus-reveal.md diff --git a/.changes/dashboard-rail-focus-reveal.md b/.changes/dashboard-rail-focus-reveal.md new file mode 100644 index 000000000..7c6368b10 --- /dev/null +++ b/.changes/dashboard-rail-focus-reveal.md @@ -0,0 +1,8 @@ +--- +type: fix +area: dashboard +--- + +Moving keyboard focus onto a dashboard rail card, such as a source in Recently +Used Sources, now scrolls the rail so the whole card shows instead of leaving +it half-hidden under the edge fade. diff --git a/libs/workspace/dashboard/feature/src/lib/rails/dashboard-rail.component.html b/libs/workspace/dashboard/feature/src/lib/rails/dashboard-rail.component.html index 649460d5b..74fe5d5d2 100644 --- a/libs/workspace/dashboard/feature/src/lib/rails/dashboard-rail.component.html +++ b/libs/workspace/dashboard/feature/src/lib/rails/dashboard-rail.component.html @@ -33,7 +33,7 @@ } -
+