Improve OAuth2 consent screen UX#3116
Conversation
Recognize both hosted MCP resource URIs, add missing organization scope descriptions, make permission groups collapsible, paginate project and organization pickers with infinite scroll, remove per-scope copy buttons, and add account switching via a dropdown on the account chip. Co-authored-by: Cursor <cursoragent@cursor.com>
Greptile SummaryThis PR improves the OAuth2 consent screen UX across several dimensions: it recognizes both
Confidence Score: 5/5Safe to merge — the changes are additive UX improvements with no mutations to auth logic or grant approval paths. All three core additions (pagination, collapsible groups, account switching) were traced end-to-end and the logic holds. The sessionStorage propagation chain through PAR → request_uri → grant_id is correct, the multi-org offset arithmetic in searchProjects handles boundary cases properly, and the loadingMore guard in the infinite-scroll component prevents duplicate fetches. No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "Address Greptile review" | Re-trigger Greptile |
Replace heading-string matching with an explicit collapsible flag on PermissionGroup, use startsWith instead of full-text search for the organization picker, and reset loadingMore via finally on stale-term early returns. Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
https://mcp.appwrite.ioandhttps://mcp.appwrite.io/mcp) so grants with either audience get the MCP-specific consent screenScreenshots
MCP consent with account chip
Account menu (switch account)
Clicking the account chip opens a menu with the current account and a "Use a different account" action, which signs out and restarts the OAuth request from login.
Collapsible permission groups
Projects expanded with Organizations collapsed (MCP narrowing editor):
Read-only permission view with both groups collapsed:
Organization scope descriptions
Project / organization pickers with infinite scroll
First page of results:
After scrolling (next page loaded):
Test plan
https://mcp.appwrite.io/and verify the MCP consent screen (narrowing editor) rendersMade with Cursor