fix(integrations): keep the Atlassian coverage hint visible, and trim dead surface - #6105
Conversation
… comments Cursor Bugbot: `ChipModalField` hides a `hint` whenever that field shows an `error`, so the multi-product coverage sentence vanished the moment the domain format check fired — exactly when someone mid-form most needs it. The sentence also describes the token, not the domain, so it read as domain guidance. Moves it to the API token field, which surfaces its errors through `ChipModalError` at the bottom rather than its own `error` prop, so the hint cannot be displaced. Also drops rationale comments that restated the code they sat above.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryLow Risk Overview The hint now sits on the API token field (where it belongs semantically). That field uses In emcn, The Reviewed by Cursor Bugbot for commit 4f284f6. Configure here. |
Greptile SummaryThe PR completes the Atlassian coverage-hint fix and reduces the integrations barrel surface.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains; the API-token input receives ARIA attributes referencing the currently rendered hint or error text, resolving the previous accessibility finding.
|
| Filename | Overview |
|---|---|
| packages/emcn/src/components/chip-modal/chip-modal.tsx | Adds a typed render-function form for custom fields so consumers can attach field-derived ARIA attributes to the actual focusable control. |
| apps/sim/app/workspace/[workspaceId]/integrations/components/connect-service-account-modal/connect-service-account-modal.tsx | Relocates the Atlassian coverage hint to the API-token field and correctly forwards the field ARIA to SecretInput. |
| apps/sim/lib/integrations/index.ts | Removes five unused credential-display helper re-exports while retaining the two symbols consumed through the barrel. |
Reviews (2): Last reviewed commit: "fix(emcn): let a custom modal field asso..." | Re-trigger Greptile
…ol it wraps `ChipModalField` computes `aria-required`/`aria-invalid`/`aria-describedby` from its own state, but `type='custom'` returned its children untouched — so the `hint` and `error` text it renders was visible and never announced. The field cannot apply the ARIA itself here: a custom child may be a bare input or a wrapper several levels above one, which is the same reason `associatesLabel` already excludes custom from the label's `htmlFor`. Adds a function form for custom children that receives the ARIA, so the consumer — which knows where focus lands — attaches it. Existing `ReactNode` children are unaffected; all five current custom-field call sites keep working untouched. Uses it for the Atlassian API token field, whose coverage hint this branch had just relocated onto a custom field.
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 4f284f6. Configure here.
Follow-up to #6102. Those two commits were on the branch but landed after the squash-merge took
14b5fa7d8, so they never reached staging.Summary
hinton the Site domain field.ChipModalFieldhides ahintwhenever that field shows anerror, so the message vanished the moment the domain format check fired — exactly when someone mid-form most needs it. It also describes the token, not the domain, so under Site domain it read as domain guidance.ChipModalErrorat the bottom rather than its ownerrorprop, so the hint cannot be displaced.@/lib/integrationsbarrel to the two symbols consumers actually import (resolveCredentialDisplay,CredentialDisplay) — the other five were dead surface, and the barrel is a hazard to widen because it evaluatesgetAllBlockMeta()at module load.Type of Change
Testing
check:client-boundary,check:utils,check:bare-icons,check:icon-paths,check:api-validationall pass.Checklist