feat(mcp-store): rename team access switch to allow members to connect their own account - #90038
Conversation
…t their own account
|
😎 Merged successfully - details. |
|
React Doctor found 4 issues in 2 files · 4 warnings. 4 warnings
Reviewed by React Doctor for commit |
🤖 CI report✅ Trunk lane — non-backend laneThis PR is assigned to the non-backend lane. It does not run backend Python tests and may merge in parallel with PRs in other lanes.
|
| File | Size | Δ vs base |
|---|---|---|
render-query/src/render-query/render-query.js |
21.74 MiB | 🔺 +12.9 KiB (+0.1%) |
exporter/src/exporter/scenes/ExporterNotebookScene.js |
3.40 MiB | 🔺 +2.3 KiB (+0.1%) |
toolbar/src/toolbar/debug/chunk-EventDebugMenu.js |
272.7 KiB | 🔺 +2.1 KiB (+0.8%) |
exporter/src/queries/schema.js |
1.16 MiB | 🔺 +2.1 KiB (+0.2%) |
posthog-app/src/queries/schema.js |
1.16 MiB | 🔺 +2.1 KiB (+0.2%) |
Posted automatically by build-bundle-size-report · uncompressed bytes from dist-report
✅ Eager graph — within budget
How much code each root ships on the eager path — downloaded and parsed before the surface is interactive. Measured from the esbuild output chunks (post-tree-shake, static imports only); lazy import() / React.lazy chunks are not counted.
| Root | Eager (shipped) | Δ vs base | Budget |
|---|---|---|---|
entry (logged-out pages, app bootstrap)src/index.tsx |
1.37 MiB · 22 files | no change | ███░░░░░░░ 30.3% of 4.51 MiB |
authenticated shell (every logged-in page)src/scenes/AuthenticatedShell.tsx |
8.81 MiB · 3,245 files | 🔺 +8.4 KiB (+0.1%) | █████████░ 90.7% of 9.71 MiB |
🟢 node_modules/monaco-editor/ stays out of src/index.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 [object Object] stays out of src/index.tsx
🟢 node_modules/monaco-editor/ stays out of src/scenes/AuthenticatedShell.tsx
🟢 src/lib/components/ActivityLog/describers stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
🟢 [object Object] stays out of src/scenes/AuthenticatedShell.tsx
Largest files eagerly shipped from src/index.tsx
| Size | File |
|---|---|
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 24.6 KiB | ../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js |
| 6.3 KiB | ../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js |
| 4.5 KiB | ../node_modules/.pnpm/@jspm+core@2.1.0/node_modules/@jspm/core/nodelibs/browser/process.js |
| 3.9 KiB | ../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js |
| 1.4 KiB | ../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js |
| 1.3 KiB | src/RootErrorBoundary.tsx |
| 912 B | ../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js |
| 789 B | src/scenes/ChunkLoadErrorBoundary.tsx |
| 762 B | src/index.tsx |
Largest files eagerly shipped from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 306.9 KiB | ../node_modules/.pnpm/posthog-js@1.420.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/rrweb.js |
| 267.7 KiB | ../node_modules/.pnpm/@posthog+icons@0.38.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 260.9 KiB | ../node_modules/.pnpm/posthog-js@1.420.0_@types+react@18.3.27_react@18.3.1/node_modules/posthog-js/dist/module.js |
| 252.5 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 154.2 KiB | ../node_modules/.pnpm/re2js@0.4.1/node_modules/re2js/build/index.esm.js |
| 126.8 KiB | ../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js |
| 104.7 KiB | src/lib/api.ts |
| 95.2 KiB | ../packages/quill/packages/quill/dist/index.js |
| 93.3 KiB | ../node_modules/.pnpm/prosemirror-view@1.40.1/node_modules/prosemirror-view/dist/index.js |
| 90.6 KiB | ../node_modules/.pnpm/@tiptap+core@3.20.6_@tiptap+pm@3.20.6/node_modules/@tiptap/core/dist/index.js |
Posted automatically by check-eager-graph · sizes are eager output bytes (shipped, post-tree-shake) from the esbuild metafile · part of #32479
✅ Toolbar bundle — eager 2.25 MiB within budget
What the toolbar ships to customer pages, measured from the esbuild output (minified, post-tree-shake). The eager set is the entry plus everything statically imported from it — fetched before any feature runs; deferred chunks load lazily. The eager guardrail is 5.72 MiB. Each output file must also stay below 10 MB, where CloudFront stops compressing it. The module boundary is enforced separately by check-toolbar-graph.
| Metric | Size | Δ vs base | Budget |
|---|---|---|---|
| Eager (shipped) entry + static imports |
2.25 MiB · 18 files | 🔺 +94 B (+0.0%) | ████░░░░░░ 39.4% of 5.72 MiB |
| Deferred (lazy) | 2.11 MiB · 45 files | 🔺 +2.1 KiB (+0.1%) | n/a — loads on demand |
Loader dist/toolbar.js |
1.1 KiB | no change | █░░░░░░░░░ 5.8% of 19.5 KiB |
Largest eagerly-shipped chunks
| Size | File |
|---|---|
| 748.8 KiB | dist/toolbar/toolbar-app-XYGAYFW6.css |
| 585.4 KiB | dist/toolbar/chunk-chunk-WAAZXMI4.js |
| 484.7 KiB | dist/toolbar/chunk-chunk-QMGLBVDO.js |
| 133.8 KiB | dist/toolbar/chunk-chunk-WIGPXHXA.js |
| 131.8 KiB | dist/toolbar/chunk-chunk-FDH2IBXT.js |
| 71.3 KiB | dist/toolbar/toolbar-app-IO2JX2X2.js |
| 69.0 KiB | dist/toolbar/chunk-chunk-TSAL54PB.js |
| 35.6 KiB | dist/toolbar/chunk-chunk-ENVYWGUI.js |
| 20.9 KiB | dist/toolbar/chunk-chunk-HEUIHINI.js |
| 6.8 KiB | dist/toolbar/chunk-chunk-DV7IWQNF.js |
Posted automatically by check-toolbar-size · sizes are toolbar output bytes (shipped, post-tree-shake) from the esbuild metafile
✅ Dist folder size — 🔺 +356.3 KiB (+0.0%)
Total size of the built frontend/dist folder (all assets), compared against the base branch.
Total: 1449.72 MiB · 🔺 +356.3 KiB (+0.0%)
HostHog preview —
|
5002dd7 to
f179826
Compare
🦔 Hogbox preview · ✅ ready▶ Open the preview
commit |
Prompt To Fix All With AI### Issue 1
products/desktop/packages/ui/src/features/mcp-gateway/components/parts/GatewayAddServer.tsx:244
**Raw names distort labels**
When an admin enters a whitespace-only name or surrounding whitespace, the new label interpolates the raw value instead of the trimmed value used by validation and submission. This produces malformed spacing, bypasses the `server` fallback for whitespace-only input, and can display a name different from the one eventually saved; the web add-server form has the same issue.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "feat(mcp-store): rename team access swit..." | Re-trigger Greptile |
There was a problem hiding this comment.
Pure UI copy change (renaming a toggle label, dropping its subtext) with no touch to auth, billing, data models, or CI — outside risky territory, so no independent assurance is required. The one unresolved reviewer comment flags a cosmetic edge case (untrimmed name in the label for whitespace-only input), not a functional or safety issue.
- Author wrote 46% of the modified lines and has 8 merged PRs in these paths (familiarity MODERATE).
- 👍 on the PR from greptile-apps[bot].
- Unresolved Greptile comment: whitespace-only/untrimmed server name is interpolated raw into the new label text on both desktop and web add-server forms, producing malformed spacing in that edge case — worth a quick follow-up fix but not blocking.
Gate mechanics and policy version
| Gate | Result | |
|---|---|---|
| prerequisites | ✓ | all clear |
| deny-list | ✓ | no deny categories matched |
| size | ✓ | 41L, 4F substantive, 45L/5F incl. docs/generated/snapshots — within ceiling |
| tier | ✓ | T1-agent / T1b-small (45L, 5F, single-area, feat) |
| stamphog 2.0.0b4 | .stamphog/policy.yml @ f179826 · reviewed head f179826 |
A new stamphog review started for this PR — the fresh verdict replaces this approval.
…ts/parts/GatewayAddServer.tsx Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Pure UI copy change (toggle label/description text) across web and desktop MCP store views, consistently applied and covered by the updated desktop test; no auth/data/API logic changed despite the access-control wording. Not risky territory, so no independent assurance is required.
- Author wrote 47% of the modified lines and has 8 merged PRs in these paths (familiarity MODERATE).
- 👍 on the PR from greptile-apps[bot].
- PR description claims the switch is renamed to 'Allow members to connect their own account' with the description line removed, but the actual diff instead renames it to 'Enabled for your organization' and keeps (and lengthens) the description text — the description appears stale relative to the shipped diff; author should update it.
- Greptile flagged that the new labels interpolate the raw (untrimmed) server name instead of the trimmed value used for validation/submission, which can produce a malformed label for whitespace-padded input — minor cosmetic issue, not a functional blocker.
Gate mechanics and policy version
| Gate | Result | |
|---|---|---|
| prerequisites | ✓ | all clear |
| deny-list | ✓ | no deny categories matched |
| size | ✓ | 41L, 4F substantive, 45L/5F incl. docs/generated/snapshots — within ceiling |
| tier | ✓ | T1-agent / T1b-small (45L, 5F, single-area, feat) |
| stamphog 2.0.0b4 | .stamphog/policy.yml @ f769941 · reviewed head f769941 |
Drop the two blank lines inside the ToggleRow JSX that the last suggestion commit introduced. `biome ci .` in products/desktop was failing on the formatting diff. Generated-By: PostHog Desktop Task-Id: c7aa7d64-4a0b-498d-ac6d-0f513f4a9f86
A new stamphog review started for this PR — the fresh verdict replaces this approval.
| <div> | ||
| <Text as="div" className="font-medium text-sm"> | ||
| Available to team members | ||
| Enabled for your organization |
There was a problem hiding this comment.
The title "Enabled for your organization" contradicts the PR description which states it should be "Allow members to connect their own account". The PR description explicitly gives an example showing "Allow members to connect their own GitHub account" as the expected output.
| Enabled for your organization | |
| Allow members to connect their own {server.name} account |
Spotted by Graphite
Is this helpful? React 👍 or 👎 to let us know.
There was a problem hiding this comment.
Purely cosmetic UI copy changes (switch labels/descriptions/aria-label) across desktop and web MCP store surfaces; the underlying access-control boolean and enforcement logic are untouched, tests were updated to match, and no reviewer flagged an outstanding concern on the current head.
- Author wrote 47% of the modified lines and has 8 merged PRs in these paths (familiarity MODERATE).
- 👍 on the PR from greptile-apps[bot].
- The PR description claims the labels became name-interpolated ("Allow members to connect their own account", add-server forms using the typed name) but the actual diff uses generic non-interpolated text like "Enabled for your organization" in the add-server forms — description appears stale relative to the final diff, though the resulting code is low-risk.
- Greptile's inline comment about raw (untrimmed) name interpolation in GatewayAddServer.tsx doesn't correspond to any interpolation present in this diff, suggesting it was reviewing an earlier revision; no current-diff evidence the flagged bug still applies.
Gate mechanics and policy version
| Gate | Result | |
|---|---|---|
| prerequisites | ✓ | all clear |
| deny-list | ✓ | no deny categories matched |
| size | ✓ | 39L, 4F substantive, 43L/5F incl. docs/generated/snapshots — within ceiling |
| tier | ✓ | T1-agent / T1b-small (43L, 5F, single-area, feat) |
| stamphog 2.0.0b4 | .stamphog/policy.yml @ 6103e39 · reviewed head 6103e39 |
|
/trunk merge |
Problem
Admins in the MCP store (web and desktop) see a switch called "Available to team members" with a two-line description under it. The name does not say what turning it on lets people do. The description repeats the same idea in a second sentence.
Changes
Accesspanel, desktopAccesssection) use the server's name.ToggleRowhelper loses its unusedsubprop, and the desktop test asserts the new text.Before, web server detail:
After:
No screenshots. The change is text and the removal of one line of text; the layout and the switch are unchanged.
How did you test this code?
GatewayAddServer.test.tsx(desktop, vitest) passes with the updated text assertion.@posthog/frontendand the desktopuipackage report no errors in the changed files.👉 Stay up-to-date with PostHog coding conventions for a smoother review.
Automatic notifications
Docs update
None.
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Claude Code (Fable 5) made the edits on the assignee's direction. Skills invoked:
/writing-pr-descriptions,/reviewing-before-pr,/code-review.Local review: the Greptile CLI is not installed in this environment, so the pre-PR review was the harness fallback (
/code-review low), which reported no findings. The bot review still applies; nono-greptilelabel.One decision: the desktop
ToggleRowhad a single caller, so itssubprop was removed rather than left optional and unused.