[One Workflow] Fix connector step icons falling back to generic plugs in YAML editor#260785
Merged
Kiryous merged 2 commits intoelastic:mainfrom Apr 2, 2026
Merged
Conversation
… in YAML editor Check HardcodedIcons before resolveIconToDataUrl so connector types like Slack, Email, and Inference show their branded icons in Monaco instead of the generic plugs fallback. Update default fallback from circle SVG to the plugs icon. Add coverage for all hardcoded entries, priority over EUI name strings, error paths, and cross-path consistency. Fix Storybook stories (StepIcon, UseDynamicTypeIcons, ActionsMenu). Made-with: Cursor
Contributor
⏳ Build in-progress, with failures
Failed CI Stepscc @Kiryous |
Made-with: Cursor
yngrdyn
approved these changes
Apr 2, 2026
| ]; | ||
|
|
||
| export const Default = () => { | ||
| const hasHardcodedIcon = (actionTypeId: string): boolean => |
Contributor
There was a problem hiding this comment.
[nit] this could be extracted to a util an reuse the same one here and in step_icon.stories.tsx
mbondyra
added a commit
to mbondyra/kibana
that referenced
this pull request
Apr 2, 2026
…heck * commit 'af66aadafa7470ca8ba3e3edd3793bde81fa4596': (31 commits) [Scout] Update test config manifests (elastic#260850) [SLO]: register alerts schema embeddable (elastic#256570) [Discover][Flyout] Update overview fields table with new prop headerVisibility set to false (elastic#260692) [AiButton/Security] Migrate ai-related buttons to use custom styles (elastic#259847) [One Workflow] Fix connector step icons falling back to generic plugs in YAML editor (elastic#260785) [Agent Builder] Dashboard skill: Guard against editing non-ESQL based panels (elastic#260714) Security quality gate Cypress cleanup - Periodic Pipeline (elastic#260820) [Search] Deprecate search indices in favour of index management (elastic#260210) Upgrade dependency @elastic/charts to v71.4.0 (elastic#260593) [Security Solution] [HDQ]: integration-based targeting and descriptor versioning (elastic#258418) docs(saved-objects): consolidate docs and document scoped vs system client (elastic#260743) Fix observability UIAM config and add CPS observability variant (elastic#260485) [Security Solution] Add "matched_indices_count" rule execution metric (elastic#259938) [SigEvents] Add callout with working promote action. (elastic#260433) [Alerting V2] Episode table actions (elastic#260195) [Automatic Migration] Add ability to skip Reference Set step in QRadar upload workflow (elastic#259959) [Rules] KQL-to-DSL conversion without data view produces incorrect queries for keyword fields for Metric threshold rule (elastic#260046) Update dependency lightningcss to v1.32.0 (main) (elastic#259017) Update postcss (main) (elastic#255420) Migrate server-side apm.addLabels to OTel dual-write helpers (elastic#259619) ...
paulinashakirova
pushed a commit
to paulinashakirova/kibana
that referenced
this pull request
Apr 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes https://github.com/elastic/security-team/issues/16358
Summary
getIconBase64was checkingresolveIconToDataUrl(icon)before looking upHardcodedIcons[actionTypeId]. Connector icons like Slack, Email, and Inference pass an EUI icon name string (e.g.'logoSlack') asicon, whichresolveIconToDataUrlcan't resolve to a data URL — so it fell back to the generic plugs icon for all of them.Fix: check
HardcodedIcons[actionTypeId]first. If a hardcoded SVG exists for the connector, return it immediately without trying to resolve the runtime icon. Also changed the default fallback from a generic circle SVG to the plugs icon (consistent withStepIconcomponent behavior).The regression was introduced on
mainduring the refactor that extractedresolveIconToDataUrl— on 9.3, the old code gracefully fell through EUI name strings and reached the hardcoded lookup. No backport needed.Before / After (Storybook
Use Dynamic Type Icons)slack,email,inference,slack_api, and all built-in step types now show their correct branded icons instead of the generic plugs fallback.Testing
HardcodedIconsentries, priority over EUI name strings, error handling paths, andgetStepIconType/getIconBase64consistencyStepIcon,Use Dynamic Type Icons, andActionsMenu(were missing Kibana context)