Skip to content

fix(apollo-react): add loop node iteration navigator#672

Open
SreedharAvvari wants to merge 1 commit into
mainfrom
fix/loop-node-execution-states
Open

fix(apollo-react): add loop node iteration navigator#672
SreedharAvvari wants to merge 1 commit into
mainfrom
fix/loop-node-execution-states

Conversation

@SreedharAvvari
Copy link
Copy Markdown
Contributor

Summary

This PR adds an Apollo React loop iteration navigator to the LoopNode header so loop execution previews can show and change the active iteration while preserving the existing sequential/parallel mode badge.

The issue was that LoopNode only had the mode badge in its header, so execution-state presentations that need to communicate the active loop iteration had no reusable Apollo-owned UI contract. Consumers would otherwise need to invent their own overlay or header treatment, which risks inconsistent canvas behavior and inaccessible controls.

The fix introduces a controlled iterationState prop with active index, total count, optional change handler, disabled state, and ARIA label support. The new navigator clamps invalid indexes, disables boundary actions, treats a missing change handler as noninteractive, and stops pointer events from leaking into canvas drag or pan behavior. The LoopNode header now renders the optional navigator alongside the existing Sequential/Parallel badge, and Storybook now includes execution-state examples for completed, running, paused, failed, cancelled, parallel, label-only, and clamped states.

Validation

  • git diff --cached --check
  • pnpm --filter @uipath/apollo-react lint exited successfully; the repo still reports existing noExplicitAny warnings in src/types/TraceModels.ts unrelated to this change.

Copilot AI review requested due to automatic review settings May 11, 2026 04:27
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 11, 2026

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

Project Deployment Review Updated (PT)
apollo-design 🟢 Ready Preview, Logs May 10, 2026, 10:38:05 PM
apollo-docs 🟢 Ready Preview, Logs May 10, 2026, 10:36:37 PM
apollo-landing 🟢 Ready Preview, Logs May 10, 2026, 10:34:41 PM
apollo-ui-react 🟢 Ready Preview, Logs May 10, 2026, 10:36:30 PM
apollo-vertex 🟢 Ready Preview, Logs May 10, 2026, 10:36:19 PM

@github-actions github-actions Bot added pkg:apollo-react size:L 100-499 changed lines. labels May 11, 2026
@SreedharAvvari SreedharAvvari changed the title [codex] Add loop node iteration navigator fix(apollo-react): add loop node iteration navigator May 11, 2026
@SreedharAvvari SreedharAvvari added the dev-packages Adds dev package publishing on pushes to this PR label May 11, 2026
@github-actions
Copy link
Copy Markdown

Dependency License Review

  • 2105 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 15 package(s) excluded (see details below)
License distribution
License Packages
MIT 1826
ISC 104
Apache-2.0 69
BSD-3-Clause 30
BSD-2-Clause 24
Copyright 2022, UiPath, all rights reserved 9
BlueOak-1.0.0 8
MPL-2.0 5
MIT OR Apache-2.0 3
MIT-0 3
Unknown 3
Unlicense 3
CC0-1.0 3
LGPL-3.0-or-later 2
(MIT OR Apache-2.0) 2
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
BSD 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
@img/sharp-libvips-linuxmusl-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
@uipath/apollo-angular-elements 5.89.0 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-core 4.35.0, 4.35.1, 4.35.2 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-fonts 1.25.8 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-icons 1.33.7 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-mui5 2.31.26, 2.31.27 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/portal-shell 3.351.4 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/portal-shell-react 3.149.36 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/portal-shell-types 3.326.0 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/portal-shell-util 1.114.0 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-lab 25.12.0 Unknown UiPath first-party package
@uipath/telemetry-client-web 5.1.0 Unknown UiPath first-party package
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json
hyperx 2.5.4 BSD BSD-2-Clause per LICENSE file, non-SPDX "BSD" in package.json

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 11, 2026

📦 Dev Packages

Package Status Updated (PT)
@uipath/apollo-react@4.24.2-pr672.9dd3fa2 🟢 Published May 11, 2026, 09:54:50 AM

Copy link
Copy Markdown

Copilot AI left a comment

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 adds an iteration navigation control to the LoopNode header in @uipath/apollo-react so execution-preview experiences can display (and optionally change) the active loop iteration while keeping the existing Sequential/Parallel mode badge.

Changes:

  • Introduces a controlled iterationState prop (LoopIterationState) on LoopNode for active index/total, optional change handler, disabled state, and ARIA labeling.
  • Adds a new IterationNavigator header control that validates inputs, clamps invalid indexes, disables boundary actions, and prevents pointer events from leaking into canvas interactions.
  • Extends LoopNode Storybook stories with an ExecutionStates grid showcasing multiple execution statuses and navigator behaviors (interactive, label-only, clamped).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
packages/apollo-react/src/canvas/components/LoopNode/LoopNode.types.ts Adds the LoopIterationState interface and wires iterationState into LoopNode’s config/props.
packages/apollo-react/src/canvas/components/LoopNode/LoopNode.tsx Renders the new IterationNavigator in the LoopNode header alongside the Sequential/Parallel badge.
packages/apollo-react/src/canvas/components/LoopNode/LoopNode.stories.tsx Adds ExecutionStates Storybook examples demonstrating iteration navigation across statuses and edge cases.
packages/apollo-react/src/canvas/components/LoopNode/IterationNavigator.tsx Implements the navigator UI, including state normalization/clamping and interaction behavior.

@SreedharAvvari SreedharAvvari force-pushed the fix/loop-node-execution-states branch from 9f2a315 to eee83d1 Compare May 11, 2026 05:33
@SreedharAvvari SreedharAvvari marked this pull request as ready for review May 11, 2026 05:33
Copilot AI review requested due to automatic review settings May 11, 2026 05:33
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

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

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

Labels

dev-packages Adds dev package publishing on pushes to this PR pkg:apollo-react size:L 100-499 changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants