Skip to content

[BUG][PERFORMANCE][UI]: The team members and non-members should not load in one go in Manage members modal. #3085

@marekdano

Description

@marekdano

🐞 Bug Summary

A large number (20K+) of members/non‑members inside the Manage members modal will crush both the browser and backend if we try to render them in one go.


🧩 Affected Component

Select the area of the project impacted:

  • mcpgateway - API
  • mcpgateway - UI (admin panel)
  • mcpgateway.wrapper - stdio wrapper
  • Federation or Transports
  • CLI, Makefiles, or shell scripts
  • Container setup (Docker/Podman/Compose)
  • Other (explain below)

🔁 Steps to Reproduce

  1. Go to https://localhost:8080/admin/#teams where we have a large number of users created (100K)
  2. Open the Manage members modal in one of the team
  3. Try to add or remove members in the modal and observe

🤔 Expected Behavior

Suggestions:

  • Current member list displayed with virtualised scroll
  • Current member list should have a searchbar option
  • No non-member list shown by default.
  • Non-member list displayed with search option only

Simple design

Manage Team Members
Current Members (2,341) [ Search members 🔍 ]
------------------------------------------------------
▢ John Doe [Role ▼]
▢ Jane Smith [Role ▼]
▢ ... (virtualized scroll)
------------------------------------------------------
Add Users
[ Search users by name or email 🔍 ]
Results (max 50):
▢ John Brown [Role ▼]
▢ John Adams [Role ▼]
------------------------------------------------------
[Save changes]

📓 Logs / Error Output

Paste any relevant stack traces or logs here.
⚠️ Do not paste secrets, credentials, or tokens.


🧠 Environment Info

You can retrieve most of this from the /version endpoint.

Key Value
Version or commit e.g. v0.9.0 or main@a1b2c3d
Runtime e.g. Python 3.11, Gunicorn
Platform / OS e.g. Ubuntu 22.04, macOS
Container e.g. Docker, Podman, none

🧩 Additional Context (optional)

Add any configuration details, flags, or related issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releasebugSomething isn't workingperformancePerformance related itemsreadyValidated, ready-to-work-on itemsuiUser Interface

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions