Skip to content

release/v1.28.29 — dashboard edits show up on the way back; one scrollbar again#475

Merged
MBombeck merged 1 commit into
mainfrom
release/v1.28.29
Jul 11, 2026
Merged

release/v1.28.29 — dashboard edits show up on the way back; one scrollbar again#475
MBombeck merged 1 commit into
mainfrom
release/v1.28.29

Conversation

@MBombeck

Copy link
Copy Markdown
Owner

Both defects REPRODUCED with evidence before fixing.

Stale tiles, layer 3 (final) — invalidation used the default refetchType: 'active' while the dashboard was unmounted; combined with the snapshot query's deliberate refetchOnMount: false, same-tab back-navigation showed stale tiles until the poll/focus. The three mutations now invalidate with refetchType: 'all' (unmounted cell refetches immediately — proven in a live SPA session). New test pins the defect shape, the fix, and the key-prefix matching; refetchOnMount: false and the v1.28.28 focus-refetch stay as designed.

Second scrollbar — the sr-only drag hint (position: absolute) below every sortable list escaped to the initial containing block (no positioned ancestor) and lengthened the document by ~600px on /settings/layout/dashboard (html.scrollHeight 1500 vs 900 viewport, element-bisected). Fixed by making the five list wrappers relative (dashboard layout, medication order, module order, mood tag manager + groups). e2e/settings-overscroll.spec.ts now asserts the one-scroll-floor on these routes; negative-tested against the revert.

Gate: typecheck, lint, 13490 unit tests, prettier, build, knip, openapi:check all green.

…ne scrollbar again

The third and final layer of the stale-tile bug: saving invalidated the
dashboard snapshot with the default refetchType 'active', but the dashboard
page is unmounted while the user sits in settings — the cell only went stale,
and the snapshot query's deliberate refetchOnMount: false then suppressed the
re-read on same-tab navigation back. The save, reset and ring mutations now
invalidate with refetchType 'all', refreshing the cell mounted or not
(proven live in one SPA session against the real query client).

The sortable settings editors (dashboard layout, medication order, modules,
mood tags x2) painted a second page scrollbar: the sr-only drag hint below
each list is position: absolute, no ancestor was positioned, so it resolved
against the initial containing block, escaped the shell's overflow clipping
and lengthened the DOCUMENT by its static offset. The list wrappers are now
relative; the e2e overscroll guard asserts the one-scroll-floor on these
routes and was negative-tested against the revert.
@MBombeck MBombeck merged commit 14a5173 into main Jul 11, 2026
13 checks passed
@MBombeck MBombeck deleted the release/v1.28.29 branch July 11, 2026 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant