Skip to content

feat(intelligent-assistant): implement permission-denied UI for chat, notebooks, and MCP tools - #4604

Closed
rohitratannagar wants to merge 1 commit into
redhat-developer:mainfrom
rohitratannagar:feat/RHIDP-15932-15933-15934-permission-ui
Closed

rohitratannagar wants to merge 1 commit into
redhat-developer:mainfrom
rohitratannagar:feat/RHIDP-15932-15933-15934-permission-ui

Conversation

@rohitratannagar

Copy link
Copy Markdown
Contributor

Description

Implements permission-denied UI screens for three permission sets in the Intelligent Assistant plugin:

RHIDP-15932 — Chat permissions (chat.use)

  • When intelligent-assistant.chat.use is denied, the MessageBar is fully disabled (no typing, no send button, no attach/mic buttons)
  • Placeholder text shows "Read-only — sending messages is not permitted"
  • Tooltip on hover shows the full permission message with the permission name
  • New chat button and welcome prompts are hidden
  • Models and chat history remain visible (read-only access)

RHIDP-15933 — Notebook permissions (notebooks.use / notebooks.manage)

  • When intelligent-assistant.notebooks.use is denied, the entire Notebooks tab disappears
  • When intelligent-assistant.notebooks.manage is denied, rename and delete actions are disabled with explanatory tooltips
  • Applies to notebook cards, document sidebar, and inline rename

RHIDP-15934 — MCP tools permissions (mcp.tools.use)

  • When mcp.tools.use is denied, the MCP Settings menu item is disabled with a tooltip
  • Inside McpServersSettings, a warning alert is shown and the server table is hidden
  • Existing mcp.tools.manage read-only behavior is preserved

Translation updates

All permission strings are translated in all 6 supported locales (en, de, es, fr, it, ja).

Fixed

  • RHIDP-15932 — Implement permission-denied screen for chat permission changes
  • RHIDP-15933 — Implement permission-denied screen for notebook permission changes
  • RHIDP-15934 — Implement permission-denied screen for MCP tools permission changes

Checklist

  • A changeset describing the change and affected packages. (more info)
  • TypeScript compiles cleanly (npx tsc --noEmit)
  • All permission strings translated in 6 locales
  • Tests updated for new props
  • RBAC policy reference updated for local testing
  • Added or Updated documentation
  • Screenshots attached (for UI changes)

Made with Cursor

… notebooks, and MCP tools

Fixes: https://redhat.atlassian.net/browse/RHIDP-15932
Fixes: https://redhat.atlassian.net/browse/RHIDP-15933
Fixes: https://redhat.atlassian.net/browse/RHIDP-15934
Signed-off-by: rohitratannagar <rohitratannagar2003@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@rhdh-gh-app

rhdh-gh-app Bot commented Sep 8, 2026

Copy link
Copy Markdown

Important

This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior.

Changed Packages

Package Name Package Path Changeset Bump Current Version
@red-hat-developer-hub/backstage-plugin-intelligent-assistant workspaces/intelligent-assistant/plugins/intelligent-assistant minor v4.2.0

@sonarqubecloud

sonarqubecloud Bot commented Sep 8, 2026

Copy link
Copy Markdown

@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 76.69903% with 24 lines in your changes missing coverage. Please review.
✅ Project coverage is 62.39%. Comparing base (48f1e14) to head (103fb84).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4604   +/-   ##
=======================================
  Coverage   62.38%   62.39%           
=======================================
  Files        2607     2607           
  Lines      104787   104807   +20     
  Branches    29432    29466   +34     
=======================================
+ Hits        65375    65394   +19     
+ Misses      38856    38854    -2     
- Partials      556      559    +3     
Flag Coverage Δ *Carryforward flag
adoption-insights 84.77% <ø> (ø) Carriedforward from 48f1e14
ai-integrations 78.80% <ø> (ø) Carriedforward from 48f1e14
app-defaults 56.22% <ø> (ø) Carriedforward from 48f1e14
augment 46.67% <ø> (ø) Carriedforward from 48f1e14
boost 80.51% <ø> (ø) Carriedforward from 48f1e14
bulk-import 73.12% <ø> (ø) Carriedforward from 48f1e14
cost-management 13.35% <ø> (ø) Carriedforward from 48f1e14
dcm 73.47% <ø> (ø) Carriedforward from 48f1e14
e2e-adoption-insights 60.00% <ø> (ø) Carriedforward from 48f1e14
e2e-extensions 62.31% <ø> (ø) Carriedforward from 48f1e14
e2e-global-header 50.35% <ø> (ø) Carriedforward from 48f1e14
e2e-homepage 61.11% <ø> (ø) Carriedforward from 48f1e14
e2e-intelligent-assistant 47.28% <ø> (+0.23%) ⬆️ Carriedforward from 48f1e14
e2e-orchestrator 49.52% <ø> (ø) Carriedforward from 48f1e14
e2e-orchestrator-plugin 49.51% <ø> (ø) Carriedforward from 48f1e14
e2e-quickstart 55.21% <ø> (ø) Carriedforward from 48f1e14
e2e-scorecard 50.21% <ø> (ø) Carriedforward from 48f1e14
e2e-theme 16.36% <ø> (ø) Carriedforward from 48f1e14
extensions 57.37% <ø> (ø) Carriedforward from 48f1e14
global-floating-action-button 71.18% <ø> (ø) Carriedforward from 48f1e14
global-header 68.09% <ø> (ø) Carriedforward from 48f1e14
homepage 48.48% <ø> (ø) Carriedforward from 48f1e14
install-dynamic-plugins 71.31% <ø> (ø) Carriedforward from 48f1e14
intelligent-assistant 76.38% <76.69%> (-0.06%) ⬇️
konflux 91.98% <ø> (ø) Carriedforward from 48f1e14
lightspeed 69.02% <ø> (ø) Carriedforward from 48f1e14
mcp-integrations 84.14% <ø> (ø) Carriedforward from 48f1e14
orchestrator 71.13% <ø> (ø) Carriedforward from 48f1e14
quickstart 63.74% <ø> (ø) Carriedforward from 48f1e14
sandbox 79.56% <ø> (ø) Carriedforward from 48f1e14
scorecard 87.96% <ø> (ø) Carriedforward from 48f1e14
theme 87.91% <ø> (ø) Carriedforward from 48f1e14
translations 5.12% <ø> (ø) Carriedforward from 48f1e14
x2a 77.18% <ø> (ø) Carriedforward from 48f1e14

*This pull request uses carry forward flags. Click here to find out more.


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 48f1e14...103fb84. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@michael-valdron michael-valdron left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hi @rohitratannagar,

Thanks for taking care of the frontend work and getting started.

Before we proceed I want to inform you of some major revisions pushed by UI team and the PM, see: https://redhat.atlassian.net/browse/RHIDP-16542

I'll be working on library/backend changes starting today and should take me a day or two to complete. Once its done, these changes can be adjusted to the new revised changes.

cc @its-mitesh-kumar

@michael-valdron michael-valdron left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

#4612 should merge before this one.

fyi @rohitratannagar @its-mitesh-kumar

@michael-valdron michael-valdron left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

#4612 is merged ✔️

@rohitratannagar You can now proceed to adjust the changes here for the #4612 revised permission sets.

cc @its-mitesh-kumar

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants