Skip to content

feat: add Admin UI deprecation notice - #7301

Open
vishu-bh wants to merge 2 commits into
mainfrom
7297-admin-ui-deprecation-banner
Open

vishu-bh wants to merge 2 commits into
mainfrom
7297-admin-ui-deprecation-banner

Conversation

@vishu-bh

@vishu-bh vishu-bh commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Pull Request

🔗 Related Issue

Closes #7297


📝 Summary

Show a red deprecation banner below the shared Admin UI header after login. The notice announces that support ends on 27 January 2027.

  • Link to the new UI repository and getting started documentation.
  • Add a close button that hides the notice until refresh, including during tab navigation.
  • Enable the notice by default through MCPGATEWAY_UI_DEPRECATION_NOTICE_ENABLED.
  • Explain how to disable the notice through configuration and restart the gateway.
  • Keep the banner visible during content scrolling and readable on mobile in both themes.
  • Document the flag and add configuration, template, HTTP, and browser regression tests.

The date is informational. This change adds no automatic expiry, redirect, or Admin UI shutdown.

Screenshot 2026-10-21 at 14 38 44

Dark mode

Screenshot 2026-10-21 at 14 43 39

📏 Reviewability

  • This PR has one clear purpose
  • The linked issue is not labeled triage
  • Unrelated bugs or improvements are tracked in separate issues/PRs
  • Tests are included with the code they validate
  • If AI-assisted, I understand and can explain the generated changes

🏷️ Type of Change

  • Bug fix
  • Feature / Enhancement
  • Documentation
  • Refactor
  • Chore (deps, CI, tooling)
  • Other (describe below)

🧪 Verification

Check Command Status
Scoped Python quality checks make ruff bandit interrogate pylint TARGET='mcpgateway/config.py mcpgateway/admin.py' Passed; Pylint 10/10
Applicable pre-commit hooks PRE_COMMIT_HOME="$PWD/.cache/pre-commit-home" .venv/bin/pre-commit run --show-diff-on-failure Passed
HTML lint node_modules/.bin/htmlhint mcpgateway/templates/admin.html Passed
Admin and configuration tests .venv/bin/python -m pytest tests/unit/mcpgateway/test_admin.py tests/unit/mcpgateway/test_config.py --no-cov -p no:rerunfailures 1,537 passed
Live gateway and browser tests .venv/bin/python -m pytest tests/live_gateway/e2e/test_admin_deprecation_notice.py -o addopts= -p no:rerunfailures -p no:playwright --no-cov -q Four passed with the flag enabled; four passed with it disabled
New-file type checks .venv/bin/ty check tests/live_gateway/e2e/test_admin_deprecation_notice.py Passed
New-file mypy .venv/bin/mypy --follow-imports=silent tests/live_gateway/e2e/test_admin_deprecation_notice.py Passed
New-file Pyrefly .venv/bin/pyrefly check tests/live_gateway/e2e/test_admin_deprecation_notice.py Passed
Package verification make verify Passed; wheel, source distribution, manifest, and metadata verified
Full lint suite make lint Pending
Full unit suite make test Pending
Coverage ≥ 80% and changed-line coverage make coverage diff-cover Pending
Production-style stack make docker-nuke docker-prod-rust testing-up RUST_MCP_MODE= Pending
Full protocol E2E make test-e2e Pending
Changed-file secret scan make detect-secrets-scan Pending; applicable pre-commit secret scan passed

Live validation uses temporary gateways and an isolated SQLite database. Set the flag identically in the gateway and test process.
Install Playwright Chromium for the browser regression test.

Browser checks cover mouse and keyboard dismissal, refresh restoration, tab navigation, scrolling, desktop and mobile layouts, and both themes.


✅ Checklist

  • Code formatted (make black isort pre-commit)
  • Tests added/updated for changes
  • Documentation updated (if applicable)
  • No secrets or credentials committed

Formatting verification uses the repository's Ruff pre-commit hooks. The secret baseline changes update existing finding line numbers.


📓 Notes (optional)

This PR remains a draft until the full pre-merge gate completes. Pending checks have no approved waiver.
The linked issue still carries triage. The AI-assisted reviewability checkbox requires author confirmation.

Manual reproduction:

  1. Start a gateway with Admin UI enabled and the notice flag unset or set to true.
  2. Log in and inspect the red banner below the header.
  3. Close the banner and navigate to another tab. Confirm that it stays hidden.
  4. Refresh the page. Confirm that the banner returns.
  5. Set MCPGATEWAY_UI_DEPRECATION_NOTICE_ENABLED=false and restart. Confirm that the banner disappears.

@vishu-bh
vishu-bh marked this pull request as ready for review October 21, 2026 13:24
@vishu-bh vishu-bh self-assigned this Oct 21, 2026
marekdano
marekdano previously approved these changes Oct 21, 2026

@marekdano marekdano left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally and it looks good!

LGTM 🚀

Lang-Akshay
Lang-Akshay previously approved these changes Oct 22, 2026

@Lang-Akshay Lang-Akshay left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ✅

Display a default-on notice with the support deadline and links to the new UI. Allow dismissal until refresh.

Closes #7297

Signed-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>
Signed-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>
@vishu-bh
vishu-bh force-pushed the 7297-admin-ui-deprecation-banner branch from fccd8b1 to 68bb3a7 Compare October 23, 2026 13:22

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE]: Add a feature-flagged Admin UI deprecation banner

3 participants