Skip to content

feat(bay): focus the crustacean finder with the / shortcut - #1182

Open
steipete wants to merge 1 commit into
mainfrom
steipete/bay-finder-slash-shortcut
Open

feat(bay): focus the crustacean finder with the / shortcut#1182
steipete wants to merge 1 commit into
mainfrom
steipete/bay-finder-slash-shortcut

Conversation

@steipete

Copy link
Copy Markdown
Contributor

Summary

Pressing / anywhere outside a form control now focuses the Bay finder ("Where's my crustacean?"), matching the common search-shortcut convention, and the finder hint advertises it ("press /").

Behavior

  • / focuses the search input unless typing in an input, textarea, select, or contenteditable element, and never with a modifier held.
  • The hint text under the finder now reads "Search the visible public references · press /" (also after Clear).

Proof

  • pnpm build clean on the branch head.
  • The change is three lines in dashboard/bay-page.ts (hint text in two places plus one delegated keydown listener); the bay routes test asserting the finder markup still passes.

Pressing / anywhere outside a form control focuses the Bay search box,
and the finder hint advertises the shortcut.
@clawsweeper

clawsweeper Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

🦞👀
ClawSweeper picked this up.

Pull request received. I will update this pull request when review starts.

@clawsweeper clawsweeper Bot added P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. labels Aug 17, 2026
@clawsweeper

clawsweeper Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs changes before merge. Reviewed August 30, 2026, 12:52 PM ET / 16:52 UTC.

ClawSweeper review

What this changes

Adds a / keyboard shortcut and visible hint for focusing the OpenClaw Bay public-reference finder.

Merge readiness

⚠️ Needs maintainer review before merge - 5 items remain

Keep open: the shortcut works for the primary path, but the introduced global listener still captures / from focused buttons and does not honor Shift, contrary to the PR's stated scope.

Priority: P3
Reviewed head: a34b5e1c78de3986e37bd0e95598f295ef4d335b

Review scores

Measure Result What it means
Overall readiness 🦐 gold shrimp (3/6) The basic shortcut has credible real-path proof, but two small correctness defects remain in its global interaction guard.
Proof confidence 🐚 platinum hermit (4/6) Sufficient (live_output): The changed production owner is Bay's document keydown listener; supplied evidence from merged #1206 records / plus a finder-focus wait passing on this exact head. That proves the basic after-fix browser path, while the review findings require refreshed proof after the guard repair.
Patch quality 🦐 gold shrimp (3/6) 2 actionable review findings remain.

Verification

Check Result Evidence
Real behavior Verified Sufficient (live_output): The changed production owner is Bay's document keydown listener; supplied evidence from merged #1206 records / plus a finder-focus wait passing on this exact head. That proves the basic after-fix browser path, while the review findings require refreshed proof after the guard repair.
Evidence reviewed 5 items Introduced listener misses button controls: The PR-added keydown listener excludes inputs, textareas, selects, and contenteditable targets, but not buttons; / from Find, Clear, or Preview tide focuses the finder.
Stated modifier guard is incomplete: The PR body promises no shortcut with a modifier held, while the introduced guard checks Meta, Ctrl, and Alt but not Shift.
Primary shortcut behavior has real-path evidence: Merged follow-up #1206 records that pressing / and waiting for finder focus passed against this PR head; that covers the basic focus path but not button or Shift exclusions.
Findings 2 actionable findings [P2] Ignore the shortcut while a button has focus
[P2] Honor the Shift modifier guard
Security None None.

How this fits together

OpenClaw Bay is ClawSweeper's public, read-only dashboard over bounded operational-status data. Its browser-side finder filters the already visible public issue and pull-request references without querying GitHub.

flowchart LR
A[Public status snapshot] --> B[OpenClaw Bay]
C[Keyboard input] --> D[Shortcut guard]
D --> E[Finder input]
E --> F[Visible reference search]
B --> F
Loading

Before merge

  • Ignore the shortcut while a button has focus (P2) - The introduced listener excludes text-entry targets but not buttons. Pressing / from Find, Clear, or Preview tide prevents the key and moves focus to the finder, despite the stated outside-a-form-control scope.
  • Honor the Shift modifier guard (P2) - The PR promises that no modified key press focuses the finder, but the introduced guard omits event.shiftKey. Include it so Shift-modified slash input cannot be intercepted.
  • Resolve merge risk (P1) - Merging now makes the global / shortcut override focused Bay buttons rather than remaining outside form controls.
  • Resolve merge risk (P1) - The missing Shift guard can capture a modified slash input on layouts or events that report / with Shift held.
  • Complete next step (P2) - A narrow mechanical repair can resolve both accepted interaction blockers without a product decision.

Findings

  • [P2] Ignore the shortcut while a button has focus — dashboard/bay-page.ts:368
  • [P2] Honor the Shift modifier guard — dashboard/bay-page.ts:368
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Patch footprint 1 production file; 3 additions, 3 deletions The isolated UI change has a small mechanical repair boundary.

Merge-risk options

Maintainer options:

  1. Correct shortcut eligibility before merge (recommended)
    Ignore Shift and focused buttons, add focused coverage for both exclusions, and refresh exact-head browser proof.
  2. Pause the convenience change
    Close or defer the shortcut if its intended interaction rules cannot be made explicit without widening the global keyboard contract.
Copy recommended automerge instruction
@clawsweeper automerge

Special instructions:
Update the keydown guard to ignore Shift and button-focused events, then add focused regression coverage for both cases and refresh real-browser proof.

Technical review

Best possible solution:

Keep the shortcut, but restrict it to non-interactive targets and no modifiers, with focused regression coverage and refreshed exact-head browser proof.

Do we have a high-confidence way to reproduce the issue?

Yes for the reviewed behavior: source directly shows the listener accepts focused buttons and omits Shift, while the supplied related evidence records the basic slash-to-focus path on this exact head.

Is this the best way to solve the issue?

No: the shortcut is a reasonable implementation, but its eligibility guard must match the stated non-form-control and no-modifier behavior before merge.

Full review comments:

  • [P2] Ignore the shortcut while a button has focus — dashboard/bay-page.ts:368
    The introduced listener excludes text-entry targets but not buttons. Pressing / from Find, Clear, or Preview tide prevents the key and moves focus to the finder, despite the stated outside-a-form-control scope.
    Confidence: 0.99
  • [P2] Honor the Shift modifier guard — dashboard/bay-page.ts:368
    The PR promises that no modified key press focuses the finder, but the introduced guard omits event.shiftKey. Include it so Shift-modified slash input cannot be intercepted.
    Confidence: 0.97

Overall correctness: patch is incorrect
Overall confidence: 0.98

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against c179a466606f.

Labels

Label justifications:

  • P3: This is a low-blast-radius dashboard convenience feature with a bounded interaction defect.
  • merge-risk: 🚨 compatibility: The introduced document-wide shortcut currently changes existing focused-button keyboard behavior.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🐚 platinum hermit and patch quality is 🦐 gold shrimp.
  • status: ⏳ waiting on author: ClawSweeper has contributor-facing work open and is waiting for author action. Sufficient (live_output): The changed production owner is Bay's document keydown listener; supplied evidence from merged fix(live-proof): install the target toolchain and assert satisfiable values #1206 records / plus a finder-focus wait passing on this exact head. That proves the basic after-fix browser path, while the review findings require refreshed proof after the guard repair.
  • proof: sufficient: Contributor real behavior proof is sufficient. The changed production owner is Bay's document keydown listener; supplied evidence from merged fix(live-proof): install the target toolchain and assert satisfiable values #1206 records / plus a finder-focus wait passing on this exact head. That proves the basic after-fix browser path, while the review findings require refreshed proof after the guard repair.

Evidence

Acceptance criteria:

  • [P1] pnpm run test:unit -- test/dashboard-worker-bay-records-routes.test.ts.
  • [P1] pnpm run check.
  • [P1] Run focused Bay browser proof in Crabbox local-container and record the exact head, provider, image, lease, artifact, and limits.

What I checked:

  • Introduced listener misses button controls: The PR-added keydown listener excludes inputs, textareas, selects, and contenteditable targets, but not buttons; / from Find, Clear, or Preview tide focuses the finder. (dashboard/bay-page.ts:368, a34b5e1c78de)
  • Stated modifier guard is incomplete: The PR body promises no shortcut with a modifier held, while the introduced guard checks Meta, Ctrl, and Alt but not Shift. (dashboard/bay-page.ts:368, a34b5e1c78de)
  • Primary shortcut behavior has real-path evidence: Merged follow-up fix(live-proof): install the target toolchain and assert satisfiable values #1206 records that pressing / and waiting for finder focus passed against this PR head; that covers the basic focus path but not button or Shift exclusions. (33ef24274870)
  • Current main has not superseded the shortcut: The fetched current-main Bay page still has the original finder hint and no document keydown shortcut listener, so the central feature remains unique to this branch. (dashboard/bay-page.ts:132, c179a466606f)
  • Recent Bay ownership trail: Martin Cleary authored the recent merged Bay-page work restoring public reference blades and the associated finder surface. (dashboard/bay-page.ts:130, db26b72b3b73)

Likely related people:

  • Martin Cleary: Suggested for follow-up; no historical authorship or introduction is verified. (role: unverified routing candidate; confidence: low)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Ignore buttons and Shift in the shortcut guard.
  • Add focused coverage and refresh exact-head browser proof for allowed and excluded targets.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (6 earlier review cycles)
  • reviewed 2026-08-17T12:39:53.169Z sha a34b5e1 :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-18T02:59:48.960Z sha a34b5e1 :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-18T05:23:37.903Z sha a34b5e1 :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-18T08:14:20.558Z sha a34b5e1 :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-18T08:52:07.144Z sha a34b5e1 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-24T09:36:01.260Z sha a34b5e1 :: needs changes before merge. :: [P2] Exclude button-focused key presses | [P2] Honor the Shift modifier guard

steipete added a commit that referenced this pull request Aug 17, 2026
…ests everywhere (#1184)

The exact-event review lane delivers GitHub effects directly and skips the
artifact publication job, so its recommended live proofs never dispatched
(observed on #1182, run 32002395638). Both lanes now
share a repair-built candidates CLI, which the conditional build-script
emits in every branch, and dispatch with a host-repo app token.

live_test is now inherited from generic fallback profiles, enabling
terminal-surface live proofs for every openclaw/* and steipete/* target
(including openclaw/openclaw), with browser configs for ClawHub and the
ClawSweeper bay demo. A recommended browser plan for a terminal-only
repository is a logged skip instead of an error.
@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event exact_review_queue).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event exact_review_queue).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event exact_review_queue).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. labels Aug 17, 2026
steipete added a commit that referenced this pull request Aug 17, 2026
…1198)

The attach job hydrates the CURRENT record straight from the canonical
store, but repair:publish-main fell back to the intentionally unhydrated
CLAWSWEEPER_STATE_DIR for its three-way baseline, so every publication
looked like a same-section concurrent edit and conflicted
deterministically (#1182 run 32031655761). Each
retry attempt now captures the freshly hydrated record as an explicit
baseline for the unchanged strict fence, matching exact review's
capture-before-mutate idiom.
@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event exact_review_queue).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels Aug 18, 2026
@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event exact_review_queue).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. labels Aug 18, 2026
@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event exact_review_queue).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@steipete

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event exact_review_queue).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. proof: sufficient Contributor real behavior proof is sufficient. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant