Settings: bottom sidebar Copy link is blocked by scroll edge #1416

Closed
opened 2026-10-07 22:48:11 +00:00 by kayg · 5 comments
Owner

Steps:

  1. Start a real production build with an Admin User.
  2. Open /settings/connected-accounts at 1440 × 900.
  3. Move the pointer over the Connected Accounts item at the bottom of the Settings sidebar, then click its Copy link to Connected Accounts settings control.

Expected: the clipboard contains the canonical section URL .../settings/connected-accounts.

Actual: the clipboard stays empty. At the button center, document.elementFromPoint reports the sidebar's .content.scroll-fade-end element; the Copy link control remains at pointer-events: none and opacity: 0. A real pointer click does not copy the link. The Account row above copies successfully with the same interaction.

Evidence: /home/kayg/Developer/calternal-wt/bash-core/artifacts/bash-core2/settings-copy-connected-hit.png (actual-size macOS-emulated production capture). The probe output records the hit target, pointer state, and empty clipboard.

Severity: minor. The section itself opens, but its standard Copy link action fails at the bottom of the sidebar. The issue appears to be in the shared Settings sidebar / scroll-edge interaction; this bug-bash job does not own packages/ui.

Steps: 1. Start a real production build with an Admin User. 2. Open `/settings/connected-accounts` at 1440 × 900. 3. Move the pointer over the `Connected Accounts` item at the bottom of the Settings sidebar, then click its `Copy link to Connected Accounts settings` control. Expected: the clipboard contains the canonical section URL `.../settings/connected-accounts`. Actual: the clipboard stays empty. At the button center, `document.elementFromPoint` reports the sidebar's `.content.scroll-fade-end` element; the Copy link control remains at `pointer-events: none` and `opacity: 0`. A real pointer click does not copy the link. The Account row above copies successfully with the same interaction. Evidence: `/home/kayg/Developer/calternal-wt/bash-core/artifacts/bash-core2/settings-copy-connected-hit.png` (actual-size macOS-emulated production capture). The probe output records the hit target, pointer state, and empty clipboard. Severity: minor. The section itself opens, but its standard Copy link action fails at the bottom of the sidebar. The issue appears to be in the shared Settings sidebar / scroll-edge interaction; this bug-bash job does not own `packages/ui`.
Author
Owner

Correction after a realistic retest: the initial Copy link failure was a harness race. The sidebar had not finished expanding after route load, and scrollIntoViewIfNeeded() moved the row below the scrollport. After waiting for layout and scrolling the sidebar with pointer-wheel input, Apps & Devices copies /settings/apps-devices correctly. The reported Connected Accounts failure also used the premature scroll. #1416 is not confirmed as a product bug; please treat it as withdrawn pending owner cleanup. I am rerunning all section Copy links with the corrected flow.

Correction after a realistic retest: the initial Copy link failure was a harness race. The sidebar had not finished expanding after route load, and `scrollIntoViewIfNeeded()` moved the row below the scrollport. After waiting for layout and scrolling the sidebar with pointer-wheel input, Apps & Devices copies `/settings/apps-devices` correctly. The reported Connected Accounts failure also used the premature scroll. #1416 is not confirmed as a product bug; please treat it as withdrawn pending owner cleanup. I am rerunning all section Copy links with the corrected flow.
Author
Owner

Retest update, superseding my previous correction: #1416 is confirmed for Connected Accounts only. I waited for the route heading and sidebar layout, used pointer-wheel scrolling to place the row in the middle of the sidebar, then moved and clicked on the real Copy link control. The control stayed opacity: 0 / pointer-events: none; the hit target was .content.scroll-fade-end; the clipboard stayed empty. A corrected 26-section sweep passed 25 Copy links and all 26 deep links; only /settings/connected-accounts failed. Evidence: /home/kayg/Developer/calternal-wt/bash-core/artifacts/bash-core2/settings-copy-connected-natural.png. The earlier extra failures were from the test's premature scrolling and are not product findings. Please use this update in place of the prior withdrawal note.

Retest update, superseding my previous correction: #1416 is confirmed for Connected Accounts only. I waited for the route heading and sidebar layout, used pointer-wheel scrolling to place the row in the middle of the sidebar, then moved and clicked on the real Copy link control. The control stayed `opacity: 0` / `pointer-events: none`; the hit target was `.content.scroll-fade-end`; the clipboard stayed empty. A corrected 26-section sweep passed 25 Copy links and all 26 deep links; only `/settings/connected-accounts` failed. Evidence: `/home/kayg/Developer/calternal-wt/bash-core/artifacts/bash-core2/settings-copy-connected-natural.png`. The earlier extra failures were from the test's premature scrolling and are not product findings. Please use this update in place of the prior withdrawal note.
Author
Owner

Started: branch job/scrollfade-1416, base d395b6e25

Started: branch job/scrollfade-1416, base d395b6e25
Author
Owner

Finished on job/scrollfade-1416, head e5349d6ed. Root cause: Pill's .pill.icon position:relative beat FloatingSidebar's bare .row-copy, so the Copy link button stayed in flow and, for long labels (Connected Accounts), sat past the row and card edge, under .content. The scroll-fade mask was not involved. Fix in packages/ui FloatingSidebar (specificity, absolute inline-end placement, item min-width 0). Regression: apps/web/e2e/scroll-fade-hit-1416.mjs (failed before, passes after). bun run check rc=0; bun run test: 297 files, 2116 tests passed.

Finished on job/scrollfade-1416, head e5349d6ed. Root cause: Pill's .pill.icon position:relative beat FloatingSidebar's bare .row-copy, so the Copy link button stayed in flow and, for long labels (Connected Accounts), sat past the row and card edge, under .content. The scroll-fade mask was not involved. Fix in packages/ui FloatingSidebar (specificity, absolute inline-end placement, item min-width 0). Regression: apps/web/e2e/scroll-fade-hit-1416.mjs (failed before, passes after). bun run check rc=0; bun run test: 297 files, 2116 tests passed.
Author
Owner

Deployed to calternal.cloud in merge round 35a (build cc1af3c12, live 2026-10-09 00:12 IST). Closing.

Deployed to calternal.cloud in merge round 35a (build cc1af3c12, live 2026-10-09 00:12 IST). Closing.
kayg closed this issue 2026-10-08 18:41:46 +00:00
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-v0#1416
No description provided.