Skip to content

Add name filter to can-i-use dashboard - #11304

Open
Renhe Li (lirenhe) wants to merge 7 commits into
mainfrom
spector_dashboard_update
Open

Add name filter to can-i-use dashboard#11304
Renhe Li (lirenhe) wants to merge 7 commits into
mainfrom
spector_dashboard_update

Conversation

@lirenhe

@lirenhe Renhe Li (lirenhe) commented Jul 20, 2026

Copy link
Copy Markdown
Member

Summary

Adds a name filter to the can-i-use coverage dashboard (e.g. https://azure.github.io/typespec-azure/can-i-use/http/) so users can quickly locate a specific scenario/test among the ~1000 cases.

Changes

  • New SearchBox placed below the Coverage Overview and directly above the coverage tables.
  • Filters scenarios by case-insensitive substring match on the scenario name, applied across all tiers and tables (works together with the existing All tiers / Core / Backlog tabs).
  • Tables with no matching scenarios are hidden, and a "No scenarios match ..." message is shown when nothing matches.
  • Auto-expands matching scenarios while filtering so results are immediately visible without manual expansion. This is gated behind an active filter, so the expanded tree only contains the (small) filtered result set.
  • Uses React's useDeferredValue so the SearchBox stays responsive while the filter + expand render runs as a lower-priority, non-blocking update — no typing lag even with ~1000 scenarios.

Impact

  • expandAll is a new optional prop on the internal DashboardTable (default false); the public Dashboard / DashboardFromAzureStorage API is unchanged.
  • With no active filter, expandAll is false and the tree renders exactly as before — no change to the default page load / idle experience.
  • Only consumers are the can-i-use/http pages, which pass only options.

Files

  • packages/spec-dashboard/src/components/dashboard.tsx
  • packages/spec-dashboard/src/components/dashboard-table.tsx
  • packages/spec-dashboard/src/components/dashboard.module.css

Note: @typespec/spec-dashboard is a private package, so no changelog entry is required.

Add a search box below the coverage overview that filters scenarios by
name (case-insensitive substring match) across all tiers and tables.
Tables with no matching scenarios are hidden and a 'No scenarios match'
message is shown when nothing matches.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cae584f3-c6db-4366-9331-811f932cbfea
@github-actions

Copy link
Copy Markdown
Contributor

No changes needing a change description found.

@azure-sdk-automation

azure-sdk-automation Bot commented Jul 20, 2026

Copy link
Copy Markdown

You can try these changes here

🛝 Playground 🌐 Website 🛝 VSCode Extension

Comment thread packages/spec-dashboard/src/components/dashboard.tsx
Renhe Li (lirenhe) and others added 2 commits July 21, 2026 13:18
When a name filter is active, expand all rows so matching scenarios are
immediately visible without manual expansion. Use React's useDeferredValue
so the SearchBox stays responsive while the filter + expand render happens
as a lower-priority, non-blocking update.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: cae584f3-c6db-4366-9331-811f932cbfea
@lirenhe
Renhe Li (lirenhe) added this pull request to the merge queue Jul 22, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 22, 2026
@microsoft-github-policy-service microsoft-github-policy-service Bot added the stale Mark a PR that hasn't been recently updated and will be closed. label Aug 11, 2026
@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

Hi @Renhe Li (@lirenhe). Your PR has had no update for 14 days and it is marked as a stale PR. If it is not updated within 14 additional days, the PR will automatically be closed. If you want to refresh the PR, please remove the stale label.

@lirenhe

Copy link
Copy Markdown
Member Author

Copilot resolve the merge conflicts in this pull request

Co-authored-by: lirenhe <9100546+lirenhe@users.noreply.github.com>

Copilot AI commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Copilot resolve the merge conflicts in this pull request

Resolved and pushed in 7901b5c. I merged origin/main into this branch, resolved the conflict in packages/spec-dashboard/src/components/dashboard.tsx, and validated @typespec/spec-dashboard with lint/build/tests.

@lirenhe

Copy link
Copy Markdown
Member Author

Copilot , please fix the format issue:

Run pnpm run format:check
$ prettier . --check
Checking formatting...
[warn] packages/spec-dashboard/src/components/dashboard.tsx
[warn] Code style issues found in the above file. Run Prettier with --write to fix.
[ELIFECYCLE] Command failed with exit code 1.
Error: Process completed with exit code 1.

Co-authored-by: lirenhe <9100546+lirenhe@users.noreply.github.com>

Copilot AI commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Copilot , please fix the format issue:

Run pnpm run format:check
...

Fixed in d19f19a. I ran Prettier on packages/spec-dashboard/src/components/dashboard.tsx and verified with pnpm run format:check.

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

Labels

stale Mark a PR that hasn't been recently updated and will be closed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants