Skip to content

[Rush] Add rush-serve plugin dashboard UI and config updates - #5893

Merged
Bharat Middha (bmiddha) merged 13 commits into
microsoft:mainfrom
mojaza:rush-server-plugin-dashboard
Aug 4, 2026
Merged

[Rush] Add rush-serve plugin dashboard UI and config updates#5893
Bharat Middha (bmiddha) merged 13 commits into
microsoft:mainfrom
mojaza:rush-server-plugin-dashboard

Conversation

@mojaza

@mojaza Mo Jazayeri (mojaza) commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds a built-in dashboard for the Rush serve plugin so developers can monitor and control watch-mode execution from a browser without creating a separate client.

The change introduces dashboard frontend assets, serves them through the plugin, and documents how to configure and open the dashboard route.

Details

Added a dashboard UI with:

  • WebSocket connection and reconnect handling
  • Overall status and iteration state visibility
  • Table and graph views
  • Filtering, search, and selection workflows
  • Run controls: run once, pause/resume, abort
  • Terminal/log output panel

Other changes:

  • Added global routing config to serve dashboard assets from a workspace-level path.
  • Added build copy steps so dashboard static assets are emitted with package outputs.
  • Added lint configuration for browser globals used by dashboard code.
  • Updated plugin documentation with setup and usage instructions.

Design notes

Considered keeping the dashboard as an external sample app.

Chose an in-package dashboard to make onboarding easier and reduce setup friction.

Compatibility and performance

Backward compatibility is preserved; changes are additive.

Existing plugin configuration continues to work.

Runtime impact is expected to be minimal and mostly limited to static asset serving during watch-mode usage.

How it was tested

View Expected This PR
Table view image image
Graph view image image

How to run the server

  • Run rush build -t rush in your terminal
  • Then, run node ./apps/rush/lib-esm/start-dev.js start --port <port_number>
  • Find the dashboard in https://127.0.0.1:<port_number>/dashboard/dashboard.html

Impacted documentation

  • Plugin README was updated with dashboard configuration and usage guidance.
  • No website documentation updates identified.

Comment thread rush-plugins/rush-serve-plugin/src/dashboard/dashboard.ts Outdated
Comment thread rush-plugins/rush-serve-plugin/src/dashboard/dashboard.ts Outdated
Comment thread rush-plugins/rush-serve-plugin/tsconfig.json Outdated
Keep prefer-const, no-explicit-any, no-new-null, and no-control-regex enabled. Resolve their findings without eslint-disable suppressions.
Resolve typedef and no-explicit-any lint findings without ESLint suppressions.
Comment thread apps/rush-serve-dashboard/src/dashboard.ts Outdated
Comment thread apps/rush-serve-dashboard/src/test/graphView.test.ts Outdated
Comment thread rush-plugins/rush-serve-plugin/src/phasedCommandHandler.ts Outdated
Comment thread apps/rush-serve-dashboard/src/modules/mainBar.ts
Comment thread apps/rush-serve-dashboard/src/modules/graphView.ts Outdated
Comment thread apps/rush-serve-dashboard/config/heft.json Outdated
Comment thread apps/rush-serve-dashboard/package.json
…shboard

# Conflicts:
#	common/config/subspaces/default/pnpm-lock.yaml
#	common/config/subspaces/default/repo-state.json
Comment thread rush-plugins/rush-serve-plugin/webpack.config.js
Comment thread apps/rush-serve-dashboard/src/dashboard.ts
Comment thread apps/rush-serve-dashboard/src/styles/global.css Outdated
Comment thread apps/rush-serve-dashboard/src/modules/graphSelection.ts Outdated
Comment thread apps/rush-serve-dashboard/src/styles/top-bar.css Outdated
@bmiddha
Bharat Middha (bmiddha) enabled auto-merge (squash) August 4, 2026 05:49
auto-merge was automatically disabled August 4, 2026 06:11

Head branch was pushed to by a user without write access

@bmiddha
Bharat Middha (bmiddha) merged commit 216afdf into microsoft:main Aug 4, 2026
6 checks passed
@github-project-automation github-project-automation Bot moved this from Needs triage to Closed in Bug Triage Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Closed

Development

Successfully merging this pull request may close these issues.

4 participants