Skip to content

fix(apollo-react): render stage task entry-condition icon at a consistent size#901

Open
BenNormann wants to merge 1 commit into
mainfrom
fix/mst-12000-entry-condition-icon-size
Open

fix(apollo-react): render stage task entry-condition icon at a consistent size#901
BenNormann wants to merge 1 commit into
mainfrom
fix/mst-12000-entry-condition-icon-size

Conversation

@BenNormann

@BenNormann BenNormann commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes MST-12000: in a stage node, the entry-condition diamond rendered 20px on tasks that had not run and 16px on tasks with an execution status, so diamonds in the same stage visibly differed in size. The icon now renders at a fixed 16px, matching the 16px ExecutionStatusIcon next to it. Also adds the row's standard SpacingXs gap to the task's first row so a truncated label (and its required * marker) never sits flush against the status icon.

Demo

Before
image

After
image

Changes

  • StageTaskEntryConditionIcon: render EntryConditionIcon at a fixed 16×16 and remove the small prop (the component is internal to StageNode; no other callers).
  • TaskContent: drop the small prop at both call sites; add gap={Spacing.SpacingXs} to the first-row container so the left label group and the right status/action group always keep a minimum gap.

Flow

flowchart TD
    TC[TaskContent row] -->|task not run| A[StageTaskEntryConditionIcon]
    TC -->|task executed| B[StageTaskEntryConditionIcon]
    A -->|before: 20px / after: 16px| D[EntryConditionIcon]
    B -->|before: 16px / after: 16px| D
Loading

Testing

  • pnpm lint passes
  • pnpm typecheck passes
  • pnpm test passes (apollo-react: 107 files, 1915 tests)
  • pnpm test:visual — no local task; runs in CI
  • Manual testing / Storybook checked (StageNodeAd hoc Tasks story, "Mixed with Parallel" stage with Completed/Failed/not-run entry-condition tasks)
  • Type-safe (no as any / type suppressions added)

…tent size

The entry-condition diamond rendered 20px for tasks without an execution
status and 16px once the task had run, so diamonds in the same stage
differed in size. Render it at a fixed 16px (matching the execution
status icon) and drop the now-unused small prop.

Also add the standard SpacingXs gap to the task first row so a truncated
label (and its required asterisk) never sits flush against the status
icon.

MST-12000
Copilot AI review requested due to automatic review settings July 10, 2026 23:37
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (PT)
apollo-design 🟢 Ready Preview, Logs Jul 10, 2026, 04:41:44 PM
apollo-docs 🟢 Ready Preview, Logs Jul 10, 2026, 04:41:44 PM
apollo-landing 🟢 Ready Preview, Logs Jul 10, 2026, 04:41:44 PM
apollo-vertex 🟢 Ready Preview, Logs Jul 10, 2026, 04:41:44 PM

@github-actions

Copy link
Copy Markdown
Contributor

Dependency License Review

  • 1948 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 2 package(s) excluded (see details below)
License distribution
License Packages
MIT 1718
ISC 89
Apache-2.0 55
BSD-3-Clause 27
BSD-2-Clause 23
BlueOak-1.0.0 8
MPL-2.0 4
MIT-0 3
CC0-1.0 3
MIT OR Apache-2.0 2
(MIT OR Apache-2.0) 2
Unlicense 2
LGPL-3.0-or-later 1
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
Unknown 1
Artistic-2.0 1
(WTFPL OR MIT) 1
(BSD-2-Clause OR MIT OR Apache-2.0) 1
CC-BY-3.0 1
0BSD 1
(MIT OR CC0-1.0) 1
MIT AND ISC 1
Excluded packages
Package Version License Reason
@img/sharp-libvips-linux-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes inconsistent sizing of the entry-condition (diamond) icon in stage task rows within apollo-react’s canvas StageNode, ensuring it renders at a consistent 16×16 regardless of execution status. It also improves row layout by adding a standard minimum gap so truncated labels (and the required * marker) don’t sit flush against the right-side status/action group.

Changes:

  • Render EntryConditionIcon at a fixed 16×16 in StageTaskEntryConditionIcon and remove the small prop.
  • Remove small at the StageTaskEntryConditionIcon call sites in TaskContent.
  • Add gap={Spacing.SpacingXs} to the first-row Row container to enforce a minimum separation between left and right groups.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
packages/apollo-react/src/canvas/components/StageNode/TaskContent.tsx Removes small prop usage and adds a standard row gap to prevent label/status crowding.
packages/apollo-react/src/canvas/components/StageNode/StageTaskEntryConditionIcon.tsx Simplifies the component API and forces a consistent 16×16 entry-condition icon size.

@github-actions

Copy link
Copy Markdown
Contributor

📊 Coverage + size by package

Per-package coverage and bundle size on this PR. New-line coverage = of the source lines this PR adds or changes, the % hit by tests.

Package Coverage New-line coverage Packed (gzip) Unpacked vs main
@uipath/apollo-core 9.0% 43.82 MB 57.31 MB ±0
@uipath/apollo-react 34.5% 100.0% (1/1) 7.27 MB 27.62 MB −14 B
@uipath/apollo-wind 40.3% 395.0 KB 2.57 MB +9 B
@uipath/ap-chat 85.8% 43.41 MB 55.85 MB ±0

"Coverage" is each package's own coverage.include scope (e.g. apollo-core instruments only scripts/). "Packed"/"Unpacked" come from npm pack --dry-run and only cover built packages — "—" means not measured this run (package not affected / not built). "vs main" is the packed (gzipped) delta against the last successful main build (the package-sizes artifact from the Release workflow); "—" there means no main baseline was available this run. The baseline is main's latest build, not this PR's exact merge-base, so it includes any drift since the branch diverged. Packages with no vitest config are omitted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pkg:apollo-react size:S 10-29 changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants