Skip to content

feat: Gate FAB and Replay behind Manage SAS permission#71

Merged
debdevops merged 1 commit intomainfrom
feature/fab-permission-gating
Mar 26, 2026
Merged

feat: Gate FAB and Replay behind Manage SAS permission#71
debdevops merged 1 commit intomainfrom
feature/fab-permission-gating

Conversation

@debdevops
Copy link
Owner

Summary

Gate the FAB (Quick Actions) button and Replay behind Manage SAS permission.

Changes

UI Permission Gating

  • MainLayout.tsx: FAB requires non-Production AND hasSendPermission
  • MessageDetailPanel.tsx: Replay shows disabled state without Send permission

User Guidance

  • ConnectPage.tsx: Two-tier SAS policy instructions (Listen vs Manage)
  • Updated permission toasts and environment help text

Help Content

  • Updated all FAB tooltips and FAQs with Manage requirement
  • Added Permissions and Security FAQ section

Documentation

  • Fixed Swagger URLs to /scalar/v1 across 6 files

Testing

  • 743 frontend tests pass
  • 825 backend tests pass
  • TypeScript: no errors, production build succeeds
  • E2E verified with Manage SAS policy

- MainLayout: FAB now requires both non-Production environment AND
  hasSendPermission (Manage SAS policy) to be visible
- MessageDetailPanel: Replay button shows 'Manage Required' state
  when namespace lacks Send permission
- ConnectPage: Updated SAS policy instructions with two-tier guidance
  (Listen for read-only, Manage for full FAB/replay operations)
- ConnectPage: Permission toasts now mention FAB requires Manage
- helpContent: Updated all FAB tooltips, FAQs, and glossary entries
  to document Manage permission requirement
- helpContent: Added new 'Permissions & Security' FAQ section with
  guidance on SAS policies, FAB visibility, and Scalar API docs
- Fixed Swagger → Scalar URL references across 6 documentation files
- Updated production build assets
@debdevops debdevops merged commit 39e0797 into main Mar 26, 2026
11 checks passed
@debdevops debdevops deleted the feature/fab-permission-gating branch March 26, 2026 06:29
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.

1 participant