Skip to content

id(web): search-panel test expects aria-label 'Replace all' but implementation renders 'Replace all matches' — full web suite red on main #3243

Closed

Description

@dezren39

Problem

pkgs/id/web full unit suite on current main has one failing test, unrelated to any open PR touching it:

  • src/search-panel.test.ts:269 — "panel has role=search and aria-label for accessibility" expects the #replace-all button's aria-label to be "Replace all".
  • src/search-panel.ts:136 (main) renders that button with aria-label="Replace all matches" (and title="Replace all").

Test and implementation disagree; one of them is wrong. The implementation's longer label looks deliberate (it matches the button's action), so the likely fix is updating the test expectation — but whoever picks this up should confirm which string the accessibility pass intended before changing either side.

Evidence

Found 2026-10-31 by repo-queue-worker lane E while verifying PR #3197 (task 1364, image-node-view — disjoint files). Full suite on the laptop at PR head 20496ae44: Test Files 1 failed | 21 passed (22); Tests 1 failed | 492 passed | 9 skipped. The only failure is this test. Verified pre-existing on main via gh api contents of both files at ref=main (implementation aria-label="Replace all matches" at search-panel.ts:136; expectation "Replace all" at search-panel.test.ts:269). PR #3197 touches only image-node-view.ts / image-node-view.test.ts.

Acceptance

  • Decide the intended aria-label for the replace-all button and make implementation + test agree
  • cd pkgs/id/web && bunx vitest run is fully green

Filed by repo-queue-worker lane E, 2026-10-31.

Activity

  1. added
    kind/bugSomething isn't working (prefixed form of the classic bug label)
    priority/lowNice to have; do when convenient
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    effort/xsTrivial: expected under 30 minutes of work
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 31, 2026
  2. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Intake review

    Related: Surfaced while verifying PR #3197 (disjoint files); sibling main-red gate issue #3249 (tsc red on main, same app, filed the same day).

    Notes: Verified at filing against main via gh api file contents on both sides: implementation renders aria-label="Replace all matches" (search-panel.ts:136), the test expects "Replace all" (search-panel.test.ts:269); full suite 492 passed / this 1 failed. The body already carries acceptance criteria, so no body change was made. No merged PR fixes this (checked at intake).

    Risks: A red full suite on main trains shepherds to ignore failures — real regressions in id(web) can slip in behind this known one.

    Suggested approach: Confirm which string the accessibility pass intended (the implementation's longer label matches the button's action and its title="Replace all"), then align the other side; do not change both blindly.

    — fleet monitor intake, 2026-10-31 fleet-monitor run (19:12 CDT)

  3. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    task: 6651
    lane: code-l
    transition: packet_defect finding (queue block did not apply — claim lost)
    state: Task 6651 (verify-and-close follow-up for the id-serve idle WebSocket leak) cannot be executed as written; its central premise fails fresh verification:

    • PR fix(aggregator): surface expiring quota actions on Today and Needs You #4695 is OPEN and is an aggregator quota PR (9 pm-stack/aggregator files, no pkgs/id changes) — it is not a merged id fix. Verified via gh api and repeat gh views (one gh pr view output claiming a merged id fix was contradicted by both).
    • pkgs/id/src/serve.rs no longer exists on origin/main (crate split moved it to pkgs/id/src/commands/serve.rs); the pinned symbols async_world_command / ws_worker_count and the pinned regression test regression_idle_waits_do_not_starve_interactive are absent from origin/main.
    • The prior claim progress for task 6651 named branch queue/6651-3243-ws-worker-borrow, laptop commit 524838a5, and worktree /home/user/git/fleet/6651 — none of these exist on GitHub or the laptop.
      Procedural note: lane code-l claimed task 6651 on 2026-11-03, but every subsequent queue verb (heartbeat/checkpoint/block) returned "task 6651 is not claimed by repo-worker-code"; the claim lease has expired and the task returns to the queue, so no queue-side block was recorded. The packet_defect finding stands on the evidence above: whoever re-claims task 6651 should block it as packet_defect rather than execute it. Issue id(web): search-panel test expects aria-label 'Replace all' but implementation renders 'Replace all matches' — full web suite red on main #3243 stays OPEN; whether the idle-wait worker leak persists in the refactored world_session code needs a fresh triage against current main.
  4. 8 remaining items

  5. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

  6. added
    queue/queuedHas a queued task in the Supabase agent queue
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  7. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/xsTrivial: expected under 30 minutes of workkind/bugSomething isn't working (prefixed form of the classic bug label)meta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/lowNice to have; do when convenient

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions