Two small pre-existing UI defects found in a browser check of v0.2.2-rc1 on staging. Neither is a regression; both are present in v0.2.1.
1. Console error from the channel message scroll listener
When you leave the Channels page, the console logs:
Uncaught TypeError: Cannot read properties of null (reading 'classList')
at HTMLDivElement.<anonymous> (channels.js:1668)
public/channels.js (~1664-1669) registers a scroll listener on #chMessages. The listener calls document.getElementById('chScrollBtn').classList.toggle(...). A scroll event can still fire after the page has been torn down, and then #chScrollBtn is no longer in the DOM. The line has not changed since the initial import.
Fix direction:
Acceptance:
- No console error when navigating
#/channels → #/live → #/channels several times.
- A unit test that dispatches
scroll on a detached #chMessages without throwing.
2. Two mobile tap targets below 48 px
Measured at 375×812 with a touch user agent:
| Element |
Height |
Where |
.gesture-hint-dismiss ("Got it") |
26 px |
swipe tips on Packets, mobile |
.col-hidden-pill |
18 px |
packets table, hidden-columns pill |
Neither was in the scope of #239/#264. Raise both to the 48 px minimum under pointer: coarse, using the same pattern as #239. Extend test-touch-targets.js to cover both elements.
Low priority.
Two small pre-existing UI defects found in a browser check of v0.2.2-rc1 on staging. Neither is a regression; both are present in v0.2.1.
1. Console error from the channel message scroll listener
When you leave the Channels page, the console logs:
public/channels.js(~1664-1669) registers ascrolllistener on#chMessages. The listener callsdocument.getElementById('chScrollBtn').classList.toggle(...). Ascrollevent can still fire after the page has been torn down, and then#chScrollBtnis no longer in the DOM. The line has not changed since the initial import.Fix direction:
msgEland guard against it being detached.Acceptance:
#/channels→#/live→#/channelsseveral times.scrollon a detached#chMessageswithout throwing.2. Two mobile tap targets below 48 px
Measured at 375×812 with a touch user agent:
.gesture-hint-dismiss("Got it").col-hidden-pillNeither was in the scope of #239/#264. Raise both to the 48 px minimum under
pointer: coarse, using the same pattern as #239. Extendtest-touch-targets.jsto cover both elements.Low priority.