-
Notifications
You must be signed in to change notification settings - Fork 32
[CNCF Insights] UX patterns from 2026-03-25 #3511
Description
CNCF Landscape Intelligence Report
Scanned repos: jaegertracing/jaeger-ui grafana/grafana meshery/meshery backstage/backstage
Period: Last 7 days | Frontend-relevant PRs found: 71
UX Theme Distribution
| Theme | Hits | Relevance to Console |
|---|---|---|
| Accessibility | 4 | ARIA labels, keyboard navigation, screen reader support |
| Navigation & Search | 21 | Sidebar navigation, deep linking, search/filter/sort |
| Data Visualization | 8 | Charts, graphs, time series for metrics cards |
| Forms & Input | 20 | Cluster creation forms, config editors, validation |
| Real-time & Live Updates | 6 | SSE streams, live dashboard updates, auto-refresh |
| Onboarding & Guided Setup | 6 | First-run experience, setup wizards, empty state CTAs |
| Theming & Dark Mode | 1 | Theme switching, CSS variables, design tokens |
What These Projects Are Doing (with context)
Each PR below includes its description so you can see what they changed and why — not just a title.
jaegertracing/jaeger-ui (20 frontend PRs)
-
fix: replace remaining tooltip arrow prop
Which problem is this PR solving? - Resolves [nightly:a11y] Accessibility (a11y) Compliance failed — 2026-03-12 #2221 ## Description of the changes - replace the deprecated
arrowPointAtCenterTooltip prop inReferencesButton- switch it to the current Ant Design API:arrow={{ pointAtCenter: true }}## How w -
Remove
storenpm dependency and suppress LightningCSS warningMotivation The Vite 8 upgrade introduced new build warnings: 1.
[EVAL] Warningfromstore/plugins/lib/json2.js— Thestorenpm package (v2.0.12, latest and unmaintained) bundles ajson2polyfill that useseval(). Vite 8's rolldown bu -
Add Plexus demo route to main UI (dev only,
/plexus-demo)Summary Adds an interactive Plexus demo page at
/plexus-demo, available in development mode only (tree-shaken from production builds). The demo showcases the graph visualization capabilities of@jaegertracing/plexuswith 8 tabbed examples: - * -
🧪 [testing improvement] Add unit tests for getSelectedSpanID
🎯 What: The testing gap addressed The
getSelectedSpanIDutility function inpackages/jaeger-ui/src/components/TracePage/TraceTimelineViewer/duck.tslacked unit tests, leading to incomplete coverage of the module's exported logic. ### 📊 Covera -
🔒 [security fix] Replace innerHTML with textContent to mitigate XSS risk
🎯 What: The vulnerability fixed is a potential Cross-Site Scripting (XSS) issue in the
calcRectsfunction ofpackages/jaeger-ui/src/components/DeepDependencies/Graph/DdgNodeContent/calc-positioning.ts.⚠️ Risk: The use ofinnerHTMLwhen -
AI Usage in this PR (choose one) See AI Usage Policy. - [ ] None: No AI tools were used in creating this PR - [ ] Light: AI provided minor assi
grafana/grafana (19 frontend PRs)
-
QueryEditor: Setup Intercom survey
Description Move to Intercom survey instead of Google form. ## Changes Intercom is already integrated into Grafana via Rudderstack (see
RudderstackBackend.ts— theidentify()call passesuser_hashto Intercom's device-mode destination). Howe -
[release-12.4.2] Live: Support legacy bare numeric org ID in channel namespace
Backport a376f3a80058d3d64e8465d306f171cdf5098376 from #120384 --- ## Summary - -
StripK8sNamespacenow falls back to parsing bare numeric strings (e.g. "1") as legacy org IDs whenauthlib.ParseNamespacereturns an unrecognized format - Subscribe -
Dashboards: Skip a flakey test
-
Zanzana: Fix check request with wildcard as object name
What is this feature? Fixes regression introduced in Resource Permissions: Allow users.permissions:read to read all grafana/grafana#120477 ``` logger=zanzana.server t=2026-03-24T14:14:02.037184955Z level=error msg="failed to perform check request" error="failed to check typed resource
-
Faceted filter: fall back to frame names for name facet
Followup to Add faceted labels filter for time series legend grafana/grafana#119918 ## Fix faceted filter for multi-query panels where all fields share the same name When multiple queries each return data frames with a generic field name like "Value" but distinct frame names
-
DataLinks: Add field display name variable suggestion
Adds
${__field.displayName}as a selectable variable suggestion in the data link URL editor.
meshery/meshery (20 frontend PRs)
-
(no description)
-
(no description)
-
(no description)
-
[WIP] [WIP] Address feedback on removing deprecated eslint config from next.config.js
- Identify the feedback: removing
eslint.ignoreDuringBuildschanges build behavior sincenext buildnow runs ESLint by default - [x] Add--no-lintto thebuildscript inui/package.jsonto preserve previous behavior - [x] Add `--no-lint
- Identify the feedback: removing
-
fix: remove deprecated eslint config from next.config.js
Summary - Next.js 16 no longer supports the
eslintkey innext.config.jsand warns during builds - Remove the block; ESLint during builds is now controlled separately (e.g. via--no-lintflag or ESLint config directly) ## Test plan - [ ] `np -
fix: migrate TreeView to SimpleTreeView for @mui/x-tree-view v8
Summary -
@mui/x-tree-viewv8 removedTreeViewin favor ofSimpleTreeView, breaking the build after the upgrade to@mui/x-tree-view@^8.27.2- Migrate all 4 affected Registry tree view components to use the new API Changes per file: - U
backstage/backstage (12 frontend PRs)
-
chore(deps): update dependency @google-cloud/cloud-sql-connector to v1.9.2
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [@google-cloud/cloud-sql-connector](https://redire
-
docs: add documentation style guide for Backstage contributors
Hey, I just made a Pull Request! Adapted from the k8s style guide. The goal here is to better standardize the tone of the docs. #### ✔️ Checklist - [ ] A changeset describing the change and affected packages. ([more info](https://g
-
feat(ui): replace Header tabs with nav-based grouped navigation
Hey, I just made a Pull Request! Replaces the RA
Tabs/TabList/Tabrendering in theHeadercomponent with a<nav>-based approach. Flat items render as links viauseLink, grouped items render as BUIMenuTrigger/Menu/MenuItemdropdo -
fix(cli-module-actions): show schema flags in execute --help and fix build errors
actions execute <action-id> --helpnow fetches the action's JSON schema and renders action-specific flags, falling back to generic help when auth fails. The original implementation had TypeScript errors that broke CI and a silent success exit code -
Improve PluginHeader and Header styles
Hey, I just made a Pull Request! This improves the styles of both the
PluginHeaderandHeader. The icon is now wrapped into a squared surface and both component backgrounds are working as expected. This also improved the title link to look as -
fix(docs-ui): update @next/mdx and eslint-config-next to v16.1.7
Hey, I just made a Pull Request! Align remaining Next.js ecosystem packages with the
nextv16.1.7 upgrade from #33402. Updates@next/mdxandeslint-config-nextfrom 16.1.6 to 16.1.7. #### ✔️ Checklist - [ ] A changeset descri
Actionable Takeaways for KubeStellar Console
- Accessibility (4 PRs across repos) — CNCF projects are actively investing here. For our console: ARIA labels, keyboard navigation, screen reader support.
- Navigation & Search (21 PRs across repos) — CNCF projects are actively investing here. For our console: Sidebar navigation, deep linking, search/filter/sort.
- Data Visualization (8 PRs across repos) — CNCF projects are actively investing here. For our console: Charts, graphs, time series for metrics cards.
- Forms & Input (20 PRs across repos) — CNCF projects are actively investing here. For our console: Cluster creation forms, config editors, validation.
- Real-time & Live Updates (6 PRs across repos) — CNCF projects are actively investing here. For our console: SSE streams, live dashboard updates, auto-refresh.
- Onboarding & Guided Setup (6 PRs across repos) — CNCF projects are actively investing here. For our console: First-run experience, setup wizards, empty state CTAs.
Auto-generated by auto-qa-tuner CNCF intelligence scan