MEDIUM: jump-to-top/bottom nav hidden on mobile until a resize event #282

Closed
opened 2026-09-18 01:25:33 +00:00 by fen · 1 comment
Collaborator

Found in v0.5.0 pre-release pentest.

At 375x812 on a long paste, #jumpnav keeps .hidden with scrollHeight 5038 in an 812px viewport: the visibility check runs before the mobile layout settles and no later event corrects it on real phones. A manual resize flips it visible, so the logic works but the initial evaluation is too early. Desktop and the editor-side textarea scroller are fine.

Definition of done: #jumpnav visible on long pastes at 375x812 on initial load without any resize; verify 1400x900 and 375x812.

Found in v0.5.0 pre-release pentest. At 375x812 on a long paste, #jumpnav keeps .hidden with scrollHeight 5038 in an 812px viewport: the visibility check runs before the mobile layout settles and no later event corrects it on real phones. A manual resize flips it visible, so the logic works but the initial evaluation is too early. Desktop and the editor-side textarea scroller are fine. Definition of done: #jumpnav visible on long pastes at 375x812 on initial load without any resize; verify 1400x900 and 375x812.
fen added the In Progress label 2026-09-18 01:26:17 +00:00
fen added spent time 3 minutes 2026-09-18 01:26:17 +00:00
fen added spent time 15 minutes 2026-09-18 01:26:34 +00:00
fen added the Medium label 2026-09-18 01:26:34 +00:00
fen added spent time 3 minutes 2026-09-18 01:27:38 +00:00
fen added QA and removed In Progress labels 2026-09-18 01:30:33 +00:00
fen closed this issue 2026-09-18 01:35:16 +00:00
Author
Collaborator

QA PASS (attempt 1). PR #285 merged into dev (ed435c5), CI green (test + docker), deployed to palette-dev. Evidence: served /static/jump.js sha256 3c68b42d... matches origin/dev tip. Rendered probes on live dev: long paste at 375x812 on INITIAL load (no resize) shows #jumpnav visible (classList=jumpnav, no .hidden, scrollHeight 6853 in 691px viewport); short paste at 375x812 correctly keeps .hidden (scrollHeight == viewport); long paste at 1400x900 visible. Also verified pre-merge on a local build at both widths. No CSP/console issues (external JS only).

QA PASS (attempt 1). PR #285 merged into dev (ed435c5), CI green (test + docker), deployed to palette-dev. Evidence: served /static/jump.js sha256 3c68b42d... matches origin/dev tip. Rendered probes on live dev: long paste at 375x812 on INITIAL load (no resize) shows #jumpnav visible (classList=jumpnav, no .hidden, scrollHeight 6853 in 691px viewport); short paste at 375x812 correctly keeps .hidden (scrollHeight == viewport); long paste at 1400x900 visible. Also verified pre-merge on a local build at both widths. No CSP/console issues (external JS only).
fen removed the QAMedium labels 2026-09-18 01:38:36 +00:00
fen added spent time 25 minutes 2026-09-18 01:38:47 +00:00
fen added spent time 15 minutes 2026-09-18 01:42:43 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Total Time Spent: 1 hour 1 minute
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: poslop/palette#282