Describe the bug
The Spector dashboard exposes the package name @azure-typespec/http-client-csharp-mgmt in two places on the Azure HTTP dashboard:
https://azure.github.io/typespec-azure/can-i-use/http/
- The Coverage Overview includes the emitter as an additional language.
- The Azure Management Plane table uses the package name as its column header instead of the friendly language name C#, unlike the Azure Data Plane table.
The Management Plane table correctly needs the management-specific C# emitter to load its coverage. However, the implementation package name should not be user-facing.
The Azure dashboard configuration defines:
@azure-typespec/http-client-csharp in the top-level emitterNames
@azure-typespec/http-client-csharp-mgmt only in the Azure Management Plane table's emitterNames
Configuration:
https://github.com/Azure/typespec-azure/blob/main/website/src/pages/can-i-use/http.astro
Dashboard currently passes all loaded coverageSummaries to CoverageOverview:
https://github.com/microsoft/typespec/blob/main/packages/spec-dashboard/src/components/dashboard.tsx
CoverageOverview groups those summaries by emitter package name. emitterDisplayNames changes only the rendered label; it does not define a logical language identity or merge emitters:
https://github.com/microsoft/typespec/blob/main/packages/spec-dashboard/src/components/coverage-overview.tsx
The table header has the same missing friendly-name mapping, falling back to generatorMetadata.name:
https://github.com/microsoft/typespec/blob/main/packages/spec-dashboard/src/components/dashboard-table.tsx
Expected behavior:
- The Coverage Overview contains one entry per logical language.
- Coverage from
@azure-typespec/http-client-csharp and @azure-typespec/http-client-csharp-mgmt is aggregated into a single C# overview card, just as emitters shared by both tables aggregate their data-plane and management-plane scenarios.
- The
@azure-typespec/http-client-csharp-mgmt column in the Azure Management Plane table is displayed as C#, matching the C# header in the Azure Data Plane table.
Actual behavior:
@azure-typespec/http-client-csharp-mgmt appears in the overview alongside Python, Go, C#, JavaScript, Java, C++, and Rust as though it were another language.
- The Azure Management Plane table displays
@azure-typespec/http-client-csharp-mgmt as the column header.
The management emitter needs a C# friendly display name for its table header. The overview also needs language-level grouping rather than emitter-package grouping. Merely adding the display name with the current implementation would create two separate cards both labeled C#; excluding the management emitter would instead omit management-plane scenarios from C# while other languages include both planes.
Reproduction
- Open https://azure.github.io/typespec-azure/can-i-use/http/.
- Inspect the Coverage Overview section.
- Observe that
@azure-typespec/http-client-csharp-mgmt is listed as an additional entry.
- Inspect the Azure Management Plane table.
- Observe that its C# column is labeled
@azure-typespec/http-client-csharp-mgmt instead of C#.
Checklist
- by copilot
Describe the bug
The Spector dashboard exposes the package name
@azure-typespec/http-client-csharp-mgmtin two places on the Azure HTTP dashboard:https://azure.github.io/typespec-azure/can-i-use/http/
The Management Plane table correctly needs the management-specific C# emitter to load its coverage. However, the implementation package name should not be user-facing.
The Azure dashboard configuration defines:
@azure-typespec/http-client-csharpin the top-levelemitterNames@azure-typespec/http-client-csharp-mgmtonly in the Azure Management Plane table'semitterNamesConfiguration:
https://github.com/Azure/typespec-azure/blob/main/website/src/pages/can-i-use/http.astro
Dashboardcurrently passes all loadedcoverageSummariestoCoverageOverview:https://github.com/microsoft/typespec/blob/main/packages/spec-dashboard/src/components/dashboard.tsx
CoverageOverviewgroups those summaries by emitter package name.emitterDisplayNameschanges only the rendered label; it does not define a logical language identity or merge emitters:https://github.com/microsoft/typespec/blob/main/packages/spec-dashboard/src/components/coverage-overview.tsx
The table header has the same missing friendly-name mapping, falling back to
generatorMetadata.name:https://github.com/microsoft/typespec/blob/main/packages/spec-dashboard/src/components/dashboard-table.tsx
Expected behavior:
@azure-typespec/http-client-csharpand@azure-typespec/http-client-csharp-mgmtis aggregated into a single C# overview card, just as emitters shared by both tables aggregate their data-plane and management-plane scenarios.@azure-typespec/http-client-csharp-mgmtcolumn in the Azure Management Plane table is displayed as C#, matching the C# header in the Azure Data Plane table.Actual behavior:
@azure-typespec/http-client-csharp-mgmtappears in the overview alongside Python, Go, C#, JavaScript, Java, C++, and Rust as though it were another language.@azure-typespec/http-client-csharp-mgmtas the column header.The management emitter needs a
C#friendly display name for its table header. The overview also needs language-level grouping rather than emitter-package grouping. Merely adding the display name with the current implementation would create two separate cards both labeled C#; excluding the management emitter would instead omit management-plane scenarios from C# while other languages include both planes.Reproduction
@azure-typespec/http-client-csharp-mgmtis listed as an additional entry.@azure-typespec/http-client-csharp-mgmtinstead of C#.Checklist
- by copilot