Skip to content

feat(pipes): select a pipe from its lint finding - #292

Merged
erkamyaman merged 4 commits into
mainfrom
pipes/lint-show-pipe
Oct 11, 2026
Merged

erkamyaman merged 4 commits into
mainfrom
pipes/lint-show-pipe

Conversation

@erkamyaman

@erkamyaman erkamyaman commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

What and why

In the Pipes tab, a Lint finding showed its pipe name as plain text. To see that pipe's details you had to type its name into the search. Now the name is a Show pipe button when the pipe is in the list. It clears the search or Show pipes filter only if that filter hides the pipe, selects the pipe, scrolls its row into view and moves focus to the detail heading, the same way Forms' "Show field" works. Findings for pipes that are not in the list stay plain text. The Lint section of the Pipes docs page describes this.

How it was verified

  • pnpm format:check
  • pnpm typecheck (no messages for the changed page)
  • pnpm test:panel: 246 tests pass; the 4 new tests in pipes-lint-show.test.ts fail without the change
  • pnpm test:devtools (1508 passed)
  • pnpm docs:build
  • pnpm extension:build, extension/ui committed
  • scripts/panel-axe.mjs: 0 violations on every view, dark and light
  • Pipes tab on the dev server (live lint data): Show pipe moves focus to the detail heading and clears a search that hides the pipe; 0 axe violations and no overflow at 1280px and 360px, dark and light
  • pnpm commit:check

Screenshots

None attached.

Notes for reviewers

A finding's file is often the template where the pipe is used, not where it is declared. The button picks the listed pipe with the same name and file, or else the first listed pipe with that name. The filter logic was split into fitsKind and fitsQuery so the list and the button use the same rules. No RPC or data shape changes.

Summary by CodeRabbit

  • New Features
    • Pipe names in lint findings are clickable when the pipe appears in the list. Selecting one opens its details and brings it into view.
  • Bug Fixes
    • Filters that hide a selected pipe are cleared, while filters that already show it remain unchanged. Selecting a built-in pipe also resets the kind filter to show all pipes.
  • Documentation
    • Updated the Pipes Inspector guide to explain which pipe names are clickable and how filters behave.

A lint finding showed the pipe name as plain text, so reading its
details meant typing the name into the search. The name is now a
"Show pipe <name>" button when the pipe is in the list. It clears the
search or Show pipes filter only when that filter hides the pipe,
selects it, scrolls its row into view and moves focus to the detail
heading. Findings for pipes that are not listed stay plain text.

Updates the Lint section of the Pipes docs page and rebuilds
extension/ui.
@github-actions github-actions Bot added area: panel The devtools panel app (app/) area: extension The Chrome extension area: docs The documentation site labels Oct 11, 2026
@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6fc3bc0d-1bd0-4212-b72b-647872742d4f

📥 Commits

Reviewing files that changed from the base of the PR and between 3f2c202 and 9d87b76.


⛔ Files ignored due to path filters (1)
  • extension/ui/assets/index-C9d0ohZn.js is excluded by !**/assets/index-[0-9a-z_-][0-9a-z_-][0-9a-z_-][0-9a-z_-][0-9a-z_-][0-9a-z_-][0-9a-z_-][0-9a-z_-].js

📒 Files selected for processing (2)
  • extension/ui/assets/browser-agent-rpc-BXhoSh1z-DIT7xZ-N.js
  • extension/ui/index.html

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 4 remain after this review.



📝 Walkthrough

Walkthrough

Lint findings for listed pipes now link to their pipe details. Selecting a link adjusts filters only when they hide the pipe, selects it, scrolls its row into view, and focuses the detail heading. The extension UI references an updated bundled asset.

Changes

Pipe finding navigation

Layer / File(s) Summary
Resolve and render listed pipe findings
app/src/pages/pipes-inspector.ts, app/src/__tests__/pipes-lint-show.test.ts
The inspector matches findings to listed pipes by name and file, then renders matching names as links. Findings without a listed match remain plain text. Tests cover listed and unlisted findings.
Select and focus the matching pipe
app/src/pages/pipes-inspector.ts, app/src/__tests__/pipes-lint-show.test.ts, apps/docs/src/content/inspectors/pipes.md
Selecting a pipe clears a search or kind filter only if it hides that pipe. The inspector then selects the pipe, scrolls its row into view, and focuses the detail heading. Tests and documentation describe this behavior.

Extension UI asset reference

Layer / File(s) Summary
Update extension UI asset references
extension/ui/index.html, extension/ui/assets/browser-agent-rpc-BXhoSh1z-DIT7xZ-N.js
The module script and browser-agent RPC bundle reference index-C9d0ohZn.js instead of index-CoOSAhs2.js.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Sequence Diagram(s)

sequenceDiagram
  actor User
  participant PipesInspector
  participant PipeRow
  participant DetailHeading
  User->>PipesInspector: Clicks the listed pipe link
  PipesInspector->>PipesInspector: Selects pipe and updates filters that hide it
  PipesInspector->>PipeRow: Scrolls the selected pipe row into view
  PipesInspector->>DetailHeading: Focuses the detail heading
Loading

Merge Risk: ⚪ Minimal · up to 9d87b

No actionable merge-blocking risk is established by the supplied current-head evidence.

Architecture Summary

Architecture risk: 🔵 Low · up to 9d87b

The change affects 3 systems.

Changed systems: extension, app, apps/docs

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — extension (ui) was modified; 2 changed files map to changed impact.
  • observed — app (ui) was modified; 2 changed files map to changed impact.
  • observed — apps/docs (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in app/src/tests/pipes-lint-show.test.ts: Defines two listed pipes with standalone and purity metadata for use in the inspector tests.
  • observed — Modified behavior in app/src/tests/pipes-lint-show.test.ts: Defines three lint findings, including two for listed pipes and one for an unlisted library pipe.
  • observed — Modified behavior in app/src/tests/pipes-lint-show.test.ts: Adds a mocked RPC client, fixture settling and rendering helpers, and DOM selectors for Show pipe buttons and pipe names.
  • observed — Modified behavior in app/src/tests/pipes-lint-show.test.ts: Adds an expectation that findings for listed pipes have Show pipe buttons, while the unlisted libraryPipe finding has none.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 17 functions across 5 files. (1 skipped: 1… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: selecting a pipe from its lint finding.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 17 functions across 5 files. (1 skipped: 1 unsupported.)


  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR






🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Failed ❌

View logs ↗
9d87b76 2026-10-11T05:46:44.332Z View logs ↗
  • Build: Failed ❌

View logs ↗
3f2c202 2026-10-11T05:36:52.654Z View logs ↗
  • Build: Failed ❌

View logs ↗
b61bd94 2026-10-11T03:28:58.458Z View logs ↗

# Conflicts:
#	app/src/pages/pipes-inspector.ts
#	extension/ui/assets/browser-agent-rpc-BXhoSh1z-CFmADKyK.js
#	extension/ui/assets/browser-agent-rpc-BXhoSh1z-CQUbrXfP.js
#	extension/ui/assets/browser-agent-rpc-BXhoSh1z-DlWvzvAg.js
#	extension/ui/assets/index-CgvJVwtz.js
#	extension/ui/assets/index-MIHPPrL0.js
#	extension/ui/assets/index-RHlVGXjX.js
#	extension/ui/index.html
The merge with main changed the panel, so the committed bundle is rebuilt to match.
# Conflicts:
#	extension/ui/assets/browser-agent-rpc-BXhoSh1z-CFmADKyK.js
#	extension/ui/assets/browser-agent-rpc-BXhoSh1z-CSxlKyzP.js
#	extension/ui/assets/browser-agent-rpc-BXhoSh1z-DPWCK8mF.js
#	extension/ui/assets/index-CoOSAhs2.js
#	extension/ui/assets/index-RHlVGXjX.js
#	extension/ui/assets/index-cXWBDTJ3.js
#	extension/ui/index.html
@erkamyaman
erkamyaman merged commit 40cfa09 into main Oct 11, 2026
7 of 8 checks passed
@erkamyaman
erkamyaman deleted the pipes/lint-show-pipe branch October 11, 2026 05:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: docs The documentation site area: extension The Chrome extension area: panel The devtools panel app (app/)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant