-
Notifications
You must be signed in to change notification settings - Fork 30
feat(mesh): render user names via USER_GET tool #2135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🧪 BenchmarkShould we run the MCP Gateway benchmark for this PR? React with 👍 to run the benchmark.
Benchmark will run on the next push after you react. |
Release OptionsShould a new version be published when this PR is merged? React with an emoji to vote on the release type:
Current version: Deployment
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3 issues found across 18 files
Prompt for AI agents (all issues)
Check if these issues are valid — if so, understand the root cause of each and fix them.
<file name="apps/mesh/src/storage/user.ts">
<violation number="1" location="apps/mesh/src/storage/user.ts:72">
P2: Type assertion `as User & { image?: string }` has no effect here because the function's declared return type is `Promise<User | null>`. Callers won't have type-safe access to the `image` field. Either update the return type to `Promise<(User & { image?: string }) | null>`, or define a separate `UserWithImage` type.</violation>
</file>
<file name="apps/mesh/src/web/hooks/use-user.ts">
<violation number="1" location="apps/mesh/src/web/hooks/use-user.ts:33">
P2: Query runs even when `userId` is empty. Add `enabled: !!userId` to prevent unnecessary API calls with invalid user IDs.</violation>
</file>
<file name="apps/mesh/src/web/components/user/user.tsx">
<violation number="1" location="apps/mesh/src/web/components/user/user.tsx:47">
P2: The `Avatar.Skeleton` should receive the `size` prop to match the actual avatar size and prevent layout shift when loading completes. Currently it defaults to `"base"` (40×40px) while the avatar uses `"xs"` (24×24px).</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is being reviewed by Cursor Bugbot
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
8a8fbfc to
e461d0d
Compare
What
Why
Show human-friendly user info in collection tables instead of raw user ids, without exposing user data outside authenticated MCP access.
Testing
Summary by cubic
Show user names and avatars in collection tables via a secured USER_GET MCP tool, replacing REST user lookups. Improves readability while enforcing org-scoped access.
New Features
Refactors
Written for commit fab4397. Summary will update on new commits.
Note
Shows human-friendly user info in collection tables via a secure MCP tool.
USER_GETtool with Zod I/O and org-shared access checks; implementUserStoragequerying Better Authusertable; wire intoMeshContextstorageuseUserByIdhook andUsercomponent; update collections list to rendercreated_by/updated_byusingUser; add React Query keyuseruserfields (emailVerified, image, banned fields) to support lookupsWritten by Cursor Bugbot for commit fab4397. This will update automatically on new commits. Configure here.