radius-project / radius-project/dashboard

Connection context is implicit and cannot be selected or scoped consistently

Open
#367 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug triaged
Dominant language
TypeScript
Stars
18
Forks
13
Avg merge
1d 12h
Merged PRs (30d)
10

Description

Bug information

Steps to reproduce
  1. Configure Radius Dashboard with two Kubernetes clusters that expose different Radius control planes or applications.
  2. Open resource and environment list pages, change a persisted resource-group filter, and navigate to an application graph.
  3. Change or remove a configured cluster while requests are in flight.
Observed behavior

The dashboard has no explicit selected-connection model. RadiusApiImpl silently chooses the first configured cluster, ApplicationTab independently chooses the last, resource IDs and API paths assume the radius/local plane, and the environment filter uses the global radius-environment-filter-resource-group local-storage key. In-flight graph requests are timeout-aborted but are not cancelled because the selected connection changed.

This means multiple configured connections are auto-selected rather than requiring a choice; filters, links, and same-named resources are not connection-scoped; a removed selection cannot produce targeted recovery guidance; and late work can outlive the connection context that started it. The first-vs-last graph divergence is separately tracked by #356.

Desired behavior

A single explicit connection context should be shared by resource reads and graph requests. A sole connection may be selected automatically, but multiple connections should require a user choice. The context should include cluster and plane identity, scope cache/filter/link state, cancel superseded requests, reject late responses, and surface actionable errors when the selection is invalid or removed.

Workaround

Configure exactly one cluster and use the default radius/local plane. Clear browser storage manually when changing environments.

Additional context

Discovered while implementing Phase 2 requirements CN-02 and CN-05 through CN-08 in docs/design/2026-09-dashboard-plugin-test-plan.md. The Phase 2 tests characterize the current behavior so the plugin rearchitecture cannot change it accidentally.

Would you like to support us?
  • Yes, I would like to support you

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with RadiusApiImpl and ApplicationTab, then read docs/design/2026-09-dashboard-plugin-test-plan.md and its Phase 2 requirements CN-02 and CN-05 through CN-08. Trace how resource reads, graph requests, filters, links, and in-flight cancellation currently select connections. Done means one explicit connection context governs these operations, requires a choice when multiple connections exist, handles invalid or removed selections, and rejects superseded responses.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.