Skip to content

fix(ui): 48px navigation and channel buttons (port of upstream 2078) - #201

Merged
dborup merged 2 commits into
masterfrom
codex/port-upstream-2078-touch-targets-48
Oct 4, 2026
Merged

dborup merged 2 commits into
masterfrom
codex/port-upstream-2078-touch-targets-48

Conversation

@adminopenclaw8-sketch

@adminopenclaw8-sketch adminopenclaw8-sketch commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Relates to #189 (test-touch-targets.js).

Port of upstream Kpa-clawbot/CoreScope PR 2078, "fix(ui): use consistent 48px navigation and channel buttons" (merge 410c82c0, head 51445031). The maintainer decided on 48 px, replacing the 44 px choice in #85 (1a2de251). #85 followed option 1 of upstream issue 2052; upstream later closed 2052 with option 2, 48 px.

What changes

public/style.css (CSS only, no JS changes):

  • .nav-btn and .ch-icon-btn take their 48×48 minimum from the shared touch-target block, which the block comment calls the house preference. Their component rules no longer set min-width/min-height.
  • .nav-btn is removed from the @media (pointer: coarse) 44 px list, which would otherwise shrink it back to 44 on touch devices.
  • .ch-item.ch-user-added .ch-item-top { flex-wrap: wrap; }: on user-added channel rows, share and remove wrap onto a second line instead of being clipped by the sidebar at 768–1330 px. Network channel rows are unchanged.
  • Comments that called 48 a WCAG requirement or still mentioned 44 are corrected.
  • No colours added. No new settings, so there is nothing for the customizer.

Differences from upstream, and why

Area Upstream Here Why
48 px group rule Already in the touch-target block; only the 44 px component rules were deleted Restores .nav-btn { … } and adds .ch-icon-btn to the .ch-remove-btn, .ch-share-btn group #85 had deleted these declarations from the touch-target block
touch-action Only in the touch-target block Removed from the component rules that #85 added it to; the touch-target block still sets it Same final shape as upstream; the CSS test still requires manipulation
32 px mobile #chList .ch-icon-btn rule Removed Only the comment is updated #85 had already removed the rule
Test paths tests/e2e/, tests/unit/ Repo root Fork layout
test-touch-targets.js No MIN_OVERRIDES table; drops .compare-btn, .ch-back-btn, .filter-toggle-btn Takes upstream's file, with REPO = __dirname and no line numbers in comments The fork copy predated upstream's harness fixes
test-issue-2052-touch-target-{css,e2e}.js n/a (fork-only, from #85) Tightened from 44 to 48. The 768 px "known limitation" step is now a gate at 768/1024/1180/1330 px Requested: keep them green or tighten them

Tests

  • test-touch-targets.js: green, and registered in the Playwright step of deploy.yml as CHROMIUM_REQUIRE=1 node test-touch-targets.js. It runs with no server; upstream's CHROMIUM_REQUIRE support is ported. Its KNOWN_UNREGISTERED entry in test-test-all.js is removed.
  • test-channel-fluid-e2e.js: upstream's 375/390/768/1280 px block, added verbatim. It checks that the real controls are at least 48×48, sit inside their navbar or channel row, cause no horizontal overflow, and still work when clicked (Filters, Share).
  • test-issue-2052-touch-target-css.js: the minimum is now 48, and every control must declare both min-width and min-height. Deleting the group rule now fails the test.
  • test-issue-2052-touch-target-e2e.js: share and remove must be at least 48×48 on desktop and at 768–1330 px. The generic mobile sidebar check stays at 44 (WCAG_MIN), because .region-pill is 44 through the coarse-pointer rule, which is outside this change.
  • test-channel-ux-followup.js: Fix 1 is ported from upstream: the .ch-icon-btn component rules must not set min sizes. The file stays unregistered and red on master's Fix 3 copy assertion, which test: fix or retire the remaining orphan tests (#189) #197 repairs and registers.
  • Fork guards: deploy.yml 9 → 9 and release-fast-path.yml 1 → 1.

Red before, green after. All five suites run against master's style.css, then against this branch:

Suite master this branch
test-touch-targets.js exit 1 (.nav-btn, .ch-icon-btn 44×44) OK
test-issue-2052-touch-target-css.js exit 1 OK
test-channel-ux-followup.js 2 failed 1 failed (pre-existing Fix 3, #197)
test-channel-fluid-e2e.js 11 passed, 4 failed 15 passed
test-issue-2052-touch-target-e2e.js 6 passed, 5 failed 11 passed

Mutants. Each mutant was run against this branch's CSS, and each one makes at least one test fail:

  1. 48 → 44 in the touch-target group: fails touch-targets, 2052-css, channel-fluid and 2052-e2e.
  2. Wrap rule removed: fails channel-fluid (768: Share clipped) and 2052-e2e (share or remove clipped by #chList at 768/1024/1180/1330, by 7 to 40 px).
  3. .nav-btn put back in the coarse-pointer 44 px list: fails touch-targets, 2052-css and channel-fluid (375/390).
  4. min-width/min-height: 44px put back in the .ch-icon-btn component rule: fails channel-ux-followup Fix 1, 2052-css and touch-targets.

Local runs:

  • sh test-all.sh: 201/201 files.
  • node test-test-all.js: 10/10.
  • scripts/check-xss-sinks.sh --diff: no JS/HTML changes.
  • test-e2e-playwright.js: 132/135, 3 skipped.
  • Nav and channel suites, all green: 1055, 1102, 1311, 1391, 1413, 1400, 1139, 1061, 1109, 1224, 1367, 1087, 1111, 1122, 1128-multi, 1056 and 1648-m3.

Browser check

Local Go server against e2e-fixture.db, prepared as in CI (freshen, seed, migrate, seed-2073), with one saved user channel key:

  • /#/channels at 768, 1024, 1180, 1280, 1330 and 1440 px:
    • Share is 66.9×48 and Remove is 48×48, both inside the row and the sidebar, with no horizontal overflow.
    • At 768 px both wrap onto a second row line.
    • Visible .nav-btn controls (More, favourites, search, customize) are at least 48 tall; navbar height stays 52 px.
  • /#/packets at 375 and 390 px: the mobile .nav-btn mirrors are 48×48 and 65.7×48, inside the 52 px navbar, with no overflow.

Interaction with other PRs

Known effects (accepted)

Both come from the same CSS as upstream. Nothing is clipped and there is no overflow.

  • Navbar at 1330–1440 px: the 48 px buttons take about 12 px more navbar width, so the nav scheduler moves one more link into More. Observers moves there at 1330 px, and Analytics at 1440 px. Other widths show the same links as master.
  • Taller user-added channel rows: the wrap rule applies at every width. A user-added row therefore takes two lines (about 71 → 123 px at 1330–1440 px), and Remove can sit alone on the second line. Network channel rows are unchanged. Limiting the rule to narrow sidebars would be a possible follow-up.

Known leftovers (out of scope, unchanged from upstream)

  • The @media (pointer: coarse) block still sets 44 px on .filter-bar .btn, .region-pill, .tab-btn and others. It comes after the touch-target block and has equal specificity, so it wins over the 48 px .filter-bar .btn rule on touch devices.
  • .ch-back-btn, .theme-toggle and .fav-star still declare 44 px in their component rules. (.fav-star is commented as a 44×44 WCAG target.)

🤖 Generated with Claude Code

Port of Kpa-clawbot/CoreScope PR 2078 (410c82c). .nav-btn and
.ch-icon-btn now take the shared 48x48 house minimum from the
touch-target block instead of 44px component rules, replacing the 44px
choice made in #85. .nav-btn is dropped from the coarse-pointer 44px
list. User-added channel rows let their controls wrap so share and
remove stay inside the sidebar at 768-1330px.

Fork adaptations: #85 had removed the 48px group declarations, so they
are restored in the touch-target block. Tests live in the repo root.
test-touch-targets.js takes upstream's harness fixes and is registered
in the Playwright step; test-issue-2052-touch-target-{css,e2e}.js are
tightened to 48 and the 768px characterization step becomes a gate at
768/1024/1180/1330px.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adminopenclaw8-sketch

Copy link
Copy Markdown
Collaborator Author

Rapport — CS-Macmini PR#201 port 2078 — head 06f53ab

Status: Draft, CI green (37180036258). Ready for review; nothing is merged and the PR is still a draft.

Evidence: [T] = tested or run, [A] = read in source or diff, [K] = known from earlier work or another report, not re-verified here.

Changes

  • public/style.css, ported from Kpa-clawbot/CoreScope PR 2078 (410c82c0) [A]:
    • .nav-btn and .ch-icon-btn now get their 48×48 minimum from the shared touch-target block, which is the house preference. The 44 px declarations in the component rules are gone.
    • .nav-btn is no longer in the coarse-pointer 44 px list.
    • User-added channel rows now wrap their controls.
    • Comments are corrected.
    • No colours and no JS changes.
  • Fork adaptation: fix(css): unify compact touch target sizes #85 had deleted the 48 px group declarations from the touch-target block, so this PR restores them there [A].
  • test-touch-targets.js [A]:
    • takes upstream's harness fixes: .compare-btn, .ch-back-btn and .filter-toggle-btn are dropped, and CHROMIUM_REQUIRE support is added;
    • is registered in the Playwright step of deploy.yml;
    • is removed from KNOWN_UNREGISTERED.
  • test-channel-fluid-e2e.js: upstream's block for 375/390/768/1280 px, added verbatim [A].
  • test-channel-ux-followup.js: Fix 1 is ported from upstream [A].
  • test-issue-2052-touch-target-css.js and test-issue-2052-touch-target-e2e.js [A]:
    • minimum raised from 44 to 48;
    • the 768 px characterization step is now a gate at 768, 1024, 1180 and 1330 px.

Tests and mutants

  • Red before, green after: I ran all five suites against master's style.css and then against this branch [T].
    • On master all five fail: the touch-targets suite (.nav-btn and .ch-icon-btn at 44×44), 2052-css, channel-fluid (4 failures), 2052-e2e (5 failures), and channel-ux-followup Fix 1.
    • On this branch all five pass. channel-ux-followup still has 1 failure, the Fix 3 copy assertion, which exists on master and is fixed by test: fix or retire the remaining orphan tests (#189) #197.
  • Every mutant made at least one test fail [T]:
    1. 48 → 44 in the group rule: 4 suites fail.
    2. Wrap rule removed: share or remove is clipped by #chList by 7 to 40 px at 768, 1024, 1180 and 1330 px. channel-fluid also fails at 768 px.
    3. .nav-btn added back to the coarse-pointer 44 px list: 3 suites fail.
    4. 44 px added back to the .ch-icon-btn component rule: 3 suites fail.
  • Local runs [T]:
    • sh test-all.sh: 201/201 files.
    • node test-test-all.js: 10/10.
    • scripts/check-xss-sinks.sh --diff: nothing to scan, no JS or HTML changed.
    • test-e2e-playwright.js: 132/135, 3 skipped.
    • 17 nav and channel E2E suites, all green: 1055, 1102, 1311, 1391, 1413, 1400, 1139, 1061, 1109, 1224, 1367, 1087, 1111, 1122, 1128-multi, 1056 and 1648-m3.
  • Fork guards: deploy.yml 9 → 9, release-fast-path.yml 1 → 1 [T].

Browser

I ran a local Go server against e2e-fixture.db, prepared in CI order (freshen, seed, migrate, seed-2073), with one saved user channel. I stopped the server by port [T].

  • /#/channels at 768, 1024, 1180, 1280, 1330 and 1440 px [T]:
    • Share is 66.9×48 and Remove is 48×48, both inside the row and the sidebar, with no horizontal overflow.
    • At 768 px both move onto a second line.
    • Every visible .nav-btn is at least 48 tall.
    • The navbar is 52 px.
  • /#/packets at 375 and 390 px: the mobile .nav-btn mirrors are 48×48 and 65.7×48, inside the navbar, with no overflow [T].

CI per job (run 37180036258, head 06f53ab1)

  • Go Build & Test: success [T]. Unit suite 201/201 files, including test-issue-2052-touch-target-css.js and test-test-all.js.
  • Playwright E2E Tests: success [T].
    • test-touch-targets.js: OK.
    • test-issue-2052-touch-target-e2e.js: 11 passed, 0 failed.
    • channel-fluid: 48 px checks pass at all 4 widths.
    • Main suite: 132/135, 3 skipped.
  • Build & Publish Docker Image: success [T].
  • Release Artifacts, Deploy Staging, Publish Badges & Summary: skipped, as expected for a PR from a fork [T].

Conflicts with #197 and #180

Known remaining issues

These are out of scope, and upstream has them too [A]:

  • The coarse-pointer block still sets 44 px on .filter-bar .btn, .region-pill, .tab-btn and similar controls. It comes after the 48 px rules with equal specificity, so 44 px wins for .filter-bar .btn on touch devices.
  • .ch-back-btn and .theme-toggle still declare 44 px.
  • Because of the .region-pill rule, the general mobile sidebar check in 2052-e2e stays at 44 (WCAG_MIN).
  • test-channel-ux-followup.js stays unregistered until test: fix or retire the remaining orphan tests (#189) #197 lands [T].

@dborup

dborup commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Review — CS-MacBook PR#201 touch-targets — head 06f53ab

Dom: APPROVE med nits

The port is faithful and the 48 px rules are right, but the branch has to be rebased onto current master before it can merge, because it does not merge cleanly (finding 1). I verified the resolved result below.

Evidence: [T] = ran it, [A] = read in source or diff, [K] = taken from the author's report or earlier work, not re-verified here.

Read-only review. Head 06f53ab1 was identical before and after (git ls-remote). Master was 33b0dfe5 (contains #197) throughout. Nothing was pushed, merged or changed.

Findings

# Severity Finding
1 Must fix before merge The branch does not merge cleanly into current master. git merge-tree against 33b0dfe5 reports one conflict, in test-test-all.js [T]. The branch is based on 6f7a5e7c, before #198 and #197 [A]. The correct resolution is to delete only the test-touch-targets.js line from KNOWN_UNREGISTERED and keep master's side otherwise. Taking the PR side of the hunk would bring back the test-marker-outline-weight.js and test-table-sort.js entries that #197 removed; I did not run that variant [A]. The resolved tree is verified in point 4.
2 Nit (behaviour change) The 48 px buttons use up 12 px of navbar width, and the nav scheduler (which measures widths dynamically, with no hard-coded button size) moves one more link into More. At 1330 px Observers moves into More, and at 1440 px Analytics does, compared with master. At 1180 px, 1280 px and 1600 px and above, and at 1024 px and below, the visible links are identical [T]. This is graceful and has no overflow. The same CSS is in upstream [A]. It is a visible change for users at 1330–1440 px, so worth knowing about.
3 Nit (layout) The wrap rule .ch-item.ch-user-added .ch-item-top { flex-wrap: wrap; } applies at every width. On master a user-added row fits on one line at 1330 and 1440 px. With the PR the row wraps there too: height 71 → 123 px at 1330 and 1440 px, 98 px at 768 px and 92 px at 1024 px. At 1330 and 1440 px Remove ends up alone on a second line, detached from Share (screenshots inspected) [T]. Nothing is clipped, and the row only grows for user-added channels. The rule is the same as upstream's [A]. Scoping it to narrower sidebars would be a follow-up, not a blocker.
4 Info Some 44 px rules remain in the same navbar and channel area. They are not .nav-btn or .ch-icon-btn, and upstream has them too [A]: .theme-toggle (44 px, next to the 48 px buttons), .fav-star (44 px, with a comment that says 48 px), .ch-back-btn, and the coarse-pointer block. This extends the author's "Known remaining issues" list.
5 Info GitHub still shows c7798e0b as the PR base, which is older than master [A]. This goes away with the rebase.

No other defects found.

Answers to points 1–5

1. Fidelity to upstream 410c82c0 [A]

  • public/style.css against the upstream commit:
    • The component rules lose min-width/min-height for .nav-btn and .ch-icon-btn, as upstream does.
    • .nav-btn is dropped from the coarse-pointer 44 px list, as upstream does.
    • The wrap rule for user-added rows at the same selector is present.
    • The comment corrections are the same.
    • There are no colours in the diff.
  • The fork-specific difference is correct: fix(css): unify compact touch target sizes #85 had removed the 48 px group declarations, so the PR restores .nav-btn { min-height/min-width: 48px; touch-action } and adds .ch-icon-btn to the .ch-remove-btn, .ch-share-btn group. The 32 px mobile #chList .ch-icon-btn rule is already gone from master, and the comment is updated.
  • No 44 px or 32 px rule for .nav-btn or .ch-icon-btn remains in public/style.css or any other CSS file [T/A]. Measured sizes are 48 px everywhere (see browser table).
  • Tests:
    • The added lines in test-channel-fluid-e2e.js and test-channel-ux-followup.js are identical to upstream's diff.
    • test-touch-targets.js differs from upstream only in REPO = __dirname and in comment wording.

2. Layout regressions: none that clip or overflow; see findings 2 and 3 and the browser table. Bottom-nav and the Live page are unchanged.

3. Tests

  • test-touch-targets.js is registered in the Playwright step of deploy.yml and is removed from KNOWN_UNREGISTERED [A]. It passes with CHROMIUM_REQUIRE=1 [T].
  • test-issue-2052-touch-target-css.js and -e2e.js are tightened to 48 and pass [T].
  • Mutants and the full runs are below.

4. Conflict and test-test-all.js

  • The merge conflicts as described in finding 1 [T].
  • I built the merged tree in scratch from the git merge-tree result, resolving only that hunk by deleting the test-touch-targets.js line [T]:
    • node test-test-all.js: 10/10, including "every root test-*.js runs in test-all.sh or deploy.yml" and "KNOWN_UNREGISTERED has no stale entries".
    • sh test-all.sh: 211 passed, 0 failed (211 files), run with GITHUB_REF_NAME=local-validation.
    • deploy.yml auto-merges and differs from master only by the two added test-touch-targets.js lines.
  • test-channel-ux-followup.js is 30/0 on the merged tree. It was red on the branch alone because of Fix 3, which test: fix or retire the remaining orphan tests (#189) #197 repairs, and it is registered in master's test-all.sh [T].

5. Rules

  • No hard-coded colours added [A].
  • Fork guards: deploy.yml 9 → 9 (also 9 on the merged tree) and release-fast-path.yml 1 → 1 [T].
  • No closing keywords in the PR body, the commit message or the added lines [A].
  • Upstream is credited as code: PR 2078 and merge 410c82c0 in backticks, no link. The remaining #2052 mentions are plain-text comments in CSS and tests ported from upstream. They are not links and not keywords.

Tests and mutants

Merged tree, local Go server on the CI-prepared fixture (freshen, grouped-packet seed, migrate, seed-2073) serving the merged public/:

Suite Result
test-touch-targets.js (CHROMIUM_REQUIRE=1) OK
test-issue-2052-touch-target-css.js OK
test-issue-2052-touch-target-e2e.js 11 passed, 0 failed
test-channel-fluid-e2e.js 15 passed, 0 failed
test-channel-ux-followup.js 30 passed, 0 failed
10 nav and channel E2E suites: 1109, 1122-details-row-clamp, 1122-packets-filter-ux, 1128-multi-viewport, 1128-packets-layout, 1224, 1367, 1400, 1413, 1648-m3 all exit 0

Mutants: each one was applied to the merged public/style.css, the server was confirmed to serve the mutant (checksum), and all five touch suites were run. Result: every mutant is killed by at least one suite [T].

Mutant Killed by
M1: 48 → 44 in the .nav-btn and .ch-icon-btn groups 2052-css, touch-targets, 2052-e2e, channel-fluid
M2: wrap rule removed 2052-e2e, channel-fluid
M3: .nav-btn back in the coarse 44 px list 2052-css, touch-targets, channel-fluid
M4: 44 px back in the .ch-icon-btn component rule all five, including channel-ux-followup Fix 1
M5: .ch-icon-btn dropped from the 48 px group 2052-css, touch-targets
M6: .nav-btn 48 px block deleted 2052-css, touch-targets, channel-fluid
M7: .nav-btn only back to 44 2052-css, touch-targets, channel-fluid
M8: 32 px #chList .ch-icon-btn override in the mobile media block 2052-css, channel-ux-followup (the browser suites still pass: they measure at 768 px and above)

M1–M4 are the author's four mutants and I reproduced them. M5–M8 are mine. M2 is caught only by the two server-based E2Es, which CI runs (deploy.yml), and not by the CSS-only suites.

Browser check

Playwright Chromium, merged tree against master (33b0dfe5) as baseline, each with its own copy of the fixture DB, one saved user channel in localStorage. Routes: channels, packets, live and nodes at each width. Screenshots were taken and inspected locally and are not attached.

Width Top-nav and navbar Channel sidebar (user row) Bottom-nav Live
375 Navbar 52 px as on master. Packets mirror buttons 48×48 and 66×48 (master 44) and fit the navbar. No overflow. Mobile chat-app list, no inline actions. 58 px, 6 buttons, min 56 px, identical to master. No overflow. Navbar hidden here on master too.
768 52 px, no overflow. Share 67×48 and Remove 48×48 wrapped inside row and sidebar. On master both were clipped (44×44, CLIP). Identical to master. No overflow.
1024 More 71×48, the other three 48×48, 52 px. Same links as master. Both inside row and sidebar. On master both were clipped. n/a Controls laid out correctly; screenshot inspected.
1330 48 px buttons, 52 px. Observers moves into More (finding 2). Inside; row wraps, 123 px (finding 3). n/a No overflow.
1440 Same. Analytics moves into More. Same as 1330. n/a No overflow.

No width has horizontal overflow, no navbar child past the right edge, and no clipped share or remove control. The Live page has no CSS from this diff, and its controls and the bottom-nav are unchanged.

Not verified

  • No physical touch device, no real pointer: coarse at 768–1330 px (touch emulation only), no Safari or Firefox, no dark theme pass.
  • Channel rows: one user channel only. No several saved channels and no very long channel names.
  • The merged tree was built by me in scratch and is not a real commit. I ran no CI on it. The suites above were run, not the author's full list: I did not run 1055, 1102, 1311, 1391, 1139, 1061, 1087, 1111, 1056 or the 132-test test-e2e-playwright.js.
  • The Live page and bottom-nav were compared by measurement and a screenshot of the PR, not by pixel diff against master.
  • The CI run was not re-run. I only re-read its status (Go, Playwright and Docker green; the rest skipped).
  • The #2052 comment wording was not checked against upstream's own comments beyond the diff.

Resolve test-test-all.js: keep master's KNOWN_UNREGISTERED (#197) and
drop the test-touch-targets.js entry, which this branch registers in
the Playwright step of deploy.yml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@adminopenclaw8-sketch

Copy link
Copy Markdown
Collaborator Author

Rapport — CS-Macmini PR#201 runde 2 — head 0111b7a

Status: The review's finding 1 (merge conflict) is resolved. Master is merged in with a merge commit, and CI is green on 0111b7a2. The PR is still a draft and nothing is merged.

Evidence: [T] = tested or run, [A] = read in source or diff, [K] = taken from the review or an earlier report.

Merge

  • Merge commit 0111b7a2. Parents: 06f53ab1 (previous head) and 33b0dfe5 (origin/master, which includes test: fix or retire the remaining orphan tests (#189) #197). Author is dborup <kontakt@meshview.dk>. I used no rebase, amend or force-push, and the push was a fast-forward (06f53ab1..0111b7a2) [T].
  • The one conflict was in test-test-all.js. I kept master's KNOWN_UNREGISTERED and deleted only the test-touch-targets.js entry, because this branch registers that file in the Playwright step of deploy.yml. test-marker-outline-weight.js and test-table-sort.js stay removed, as in master [T].
  • deploy.yml and test-channel-ux-followup.js merged without conflicts [T].
  • Against master the PR diff is unchanged: 8 files, +169/−72 [T].

Tests on the merged tree

Check Result
node test-test-all.js 10 passed, 0 failed [T]
sh test-all.sh 211 passed, 0 failed (211 files) [T]
CHROMIUM_REQUIRE=1 node test-touch-targets.js OK [T]
test-issue-2052-touch-target-css.js OK [T]
test-issue-2052-touch-target-e2e.js 11 passed, 0 failed [T]
test-channel-fluid-e2e.js 15 passed, 0 failed [T]
test-channel-ux-followup.js (registered by #197) 30 passed, 0 failed [T]
Fork guards deploy.yml 9, release-fast-path.yml 1, unchanged [T]

I ran the E2E tests against a local Go server built from the merged tree. It used e2e-fixture.db, prepared in CI order: freshen, seed, migrate, seed-2073. I stopped the server by port [T].

CI per job (run 37185710773, head 0111b7a2)

  • Go Build & Test: success [T]. Unit suite 211/211 files, test-issue-2052-touch-target-css.js OK, test-channel-ux-followup.js 30/0.
  • Playwright E2E Tests: success [T]:
    • test-touch-targets.js OK;
    • test-issue-2052-touch-target-e2e.js 11/0;
    • channel-fluid 48 px checks pass at 375, 390, 768 and 1280 px;
    • main suite 132/135 with 3 skipped.
  • Build & Publish Docker Image: success [T].
  • Release Artifacts, Deploy Staging and Publish Badges & Summary were skipped, as expected for a PR from a fork [T].

Review nits

  • Findings 2 and 3 have been accepted as known effects, so there is no code change. The PR description now has a "Known effects (accepted)" section covering both [T]:
    • Observers or Analytics moves into More at 1330–1440 px.
    • User-added channel rows are taller because of the wrap rule.
  • Finding 4: I added .fav-star to "Known leftovers" [T]. Its comment in public/style.css says 44×44 (WCAG 2.5.5), not 48, so I described it as it stands [A].
  • Finding 5: the base is current now that master is merged [T].
  • The "Interaction with other PRs" section is updated: test: fix or retire the remaining orphan tests (#189) #197 is merged, and the resolution is described [T].

Known remaining issues

Same as round 1. These are out of scope, and upstream has them too [A]:

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.

2 participants