Repository navigation
test(console): measure the Slack people-search focus ring - #2901
Conversation
The Create Agent case now types a search, arrows to a result and measures the active option's ring against its results scroller at 1440 and 390, so a ring moved outward with the scroller's padding removed fails (finding 1963). The Configure plugins dialog case waits for the open animation before its walk, and the clip check reads the scroller's fractional far edges and ignores sub-pixel overhang from whole-pixel scroll offsets; under load the walk otherwise measured a 0.5-0.8px overhang and flaked.
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: test(console): measure the Slack people-search focus ring This is item 1/1 in the current shard. Shard 0/1. This temporary status tracks the active review worker. The completed review will appear in the durable ClawSweeper review comment. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
Internal review: headless Chromium hides scrollbars, so the far-edge gap is only clientWidth rounding; rounding it could move the edge a whole pixel. A gap under 2px now counts as no scrollbar. The routed directory answer uses a real-shaped request ID.
freeqaz-openai
left a comment
There was a problem hiding this comment.
Free's clanker here. The new check reaches the active Slack search result and rejects a full CSS pixel of clipping. I approve the test-only change at 04fa4984.
I had the unchanged owning file run in sandboxed Chromium: all five tests passed. Before ArrowDown no result was active; afterward focus stayed in the combobox, its aria-activedescendant pointed at Freeman Example, and that option drew the expected 3 px inset ring. This used the local directory fixture, not a Slack workspace.
We also tested the boundary, rather than relying on a large easy-to-detect clip. At both 390 and 1440 px widths, measured overhangs of 0, 0.40625, and 0.984375 CSS px passed; 1.0 and 1.015625 CSS px failed at the actual clipping assertion, naming .slack-directory-results. So “unclipped” here means less than one CSS pixel of measured overhang, not a guarantee about every painted device pixel. That distinction matters: this tolerance would permit the small real overhang we found on #2899, where the product was corrected separately.
I verified the hosted browser artifact, its digest and the tested merge parents: 366 passed, none failed or skipped, including all five focus tests. This is source approval; please use an actual Claw verdict on this head and normal landing protections.
|
@clawsweeper re-review Your previous exact-review workflow completed for |
|
🦞👀 Re-review progress:
|
|
Codex review: needs maintainer review before merge. What this changesExtends the console browser test to measure active Slack people-search results and stabilize focus-ring clipping measurements. Example: Search for “free” and press ArrowDown to activate Freeman Example at widths of 390 and 1440 pixels.
Review scores
ProductKind: Test only · Worth it: Yes · Fix scope: Complete Merge readiness✅ Ready for maintainer review Keep open: this PR adds useful, focused regression coverage, has explicit approval on the reviewed head, and introduces no actionable defect found in this review. Priority: P3 Before mergeNone. FindingsNone. Agent review detailsHow this fits togetherThe console renders Slack directory candidates returned by a Namespace lookup; the browser test supplies that response and checks the real UI’s keyboard handling, CSS tokens, and clipping geometry. flowchart TB
A[Browser test] --> B[Create Agent console]
B --> C[Simulated directory response]
C --> D[Rendered Slack result]
A --> E[ArrowDown keyboard input]
E --> D
D --> F[Token and clipping assertions]
Technical reviewBest possible solution: Retain the focused test extension with the existing ring helper and explicitly accepted 1 CSS pixel clipping boundary. Do we have a high-confidence way to reproduce the issue? Source confirms that current main never measures the active Slack result; the PR documents mutant failures, and the approved review records exact clipping-boundary checks without this review rerunning tests. Is this the best way to solve the issue? Extending the existing browser case is proportionate: it exercises the production keyboard handler and CSS while simulating only the directory response, and the corrected request ID matches the API contract. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against d7179620ea35. Provenance checked
TestingProof path: in-process harness. SecurityNone. EvidenceWhat I checked:
Likely related people:
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed October 18, 2026, 11:48 PM ET / October 19, 2026, 03:48 UTC. |
|
Free's clanker here. The corrected head’s Claw review is complete: “Before merge: None,” zero findings. For the landing owner, I also ran the exact one-file change against |
Problem
The focus-ring test never measured the ring on the active Slack people-search result (
.slack-directory-result.active, anaria-activedescendantoption inside the.slack-directory-resultsscroller). Its Create Agent case only Tab-walks to the chip-field input, so a mutant that moves that ring outward and removes the scroller's padding passed all 5 tests (finding 1963).Change
Test only,
tests/browser/console-focus-ring.test.mjs:focusedRing()takes an optional selector for an element that shows focus without holding it.Verification
slack_pad0(.slack-directory-results{padding:0}plus.slack-directory-result.active{outline-offset:2px}) now fails; a clip-only variant (.slack-directory-result{width:calc(100% + 24px)}) fails on the clip check.dialog_pad0andversion_list_pad0survive on main as well (items already inset).tests/browser/console-focus-ring.test.mjs20/20 at 2 CPUs after the dialog change; prettier and eslint clean.Risks
None identified: test-only.