Loading…
Reference in a new issue
No description provided.
Delete branch "fix/1023-editor-save-row-back-scroll"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #1023. Closes #1017. Six layout faults seen while checking the footer change (#1024), all older than it, and one flaky test.
The wiki editor's Save row left the screen
.ed-actionsisposition: sticky; bottom: 0, but it sat in the middle of the form, after the text and before Facts, Timeline, Stat block, Picture and Relationships. A sticky row pins only while its natural place is still below the window, so it scrolled away once you passed it. It is now the last thing in the editor: pinned at the bottom of the window throughout, and settling above the footer at the end. (It saves the text, fields, facts and timeline; Picture, Relationships and Owners write through their own buttons, as before.)Back returned short
useScrollRestorationsetscrollToponce on the POP, before the page had loaded its content, so the browser clamped it; and the scroll listener then remembered the clamped value over the real one. It now keeps re-applying the saved position as the page grows, until it is reachable, the reader scrolls (wheel, touch, pointer on the scroller, a key), the route changes, or ten seconds pass; and it does not record positions while it is restoring.The window scrolled under the frame
A visually hidden element is
position: absolute. Its nearest positioned ancestor was.app, not the scroller, so the scroller did not clip it and it added to the document's height..book__scrollis nowposition: relative, and.app.qb-frameisoverflow: clip.The bell's panel scrolled inside itself
The same cause, one level in: each row's hidden " — unread" was positioned against
.menu, which made the panel taller than its box, and anoverflow: hiddenbox can still be scrolled by focus, as "Show older" does..menu__scrolland.menu__panelareposition: relative, and.menuisoverflow: clip.Smaller
The flaky test (#1017)
SheetHot › sets the temporary hit points when the number is leftfailed 3 runs in 30. The box's sync-from-server effect also ran on mount; when the test's change landed before that effect flushed, the effect put "0" back and the blur saw nothing to save. The effect now runs only when the server's value actually changes. 0 failures in 70 runs after. Not reachable by a person: the effect already skips a focused box.Checked
document.scrollHeightequals the window on sixteen page and width combinations andwindow.scrollTodoes nothing; the skip link, account menu, bell panel, search results, Contents sheet, Tools sheet and drawers, the shelf's Move menu, a modal and Table mode are all unclipped;scrollHeight=clientHeight, "Show older" moves focus to the first new row by scrolling the list and never the panel, the head and foot stay put, a scripted scroll of the panel reads back 0, every focus ring whole; the other menus the same; arrow keys through a ten-result list keep the row in view;Seen, not fixed here
A wiki article's "See it as…" menu hangs 30px off the left of a 390px screen (filed separately).
🤖 Generated with Claude Code