Skip to content

feat(nodes): add batch processing node for large dataset pipelines#552

Closed
charliegillet wants to merge 1 commit into
rocketride-org:developfrom
charliegillet:feature/batch-processing-node
Closed

feat(nodes): add batch processing node for large dataset pipelines#552
charliegillet wants to merge 1 commit into
rocketride-org:developfrom
charliegillet:feature/batch-processing-node

Conversation

@charliegillet
Copy link
Copy Markdown
Contributor

@charliegillet charliegillet commented Mar 31, 2026

Summary

  • Add TASK_STATE.STOPPING handling to the pipeline status control button in the VS Code extension
  • Display a disabled "Stopping..." button styled in orange when a pipeline is shutting down
  • Prevent user interaction during the stopping transition

Type

Bug Fix (UX)

Why this bug happens in this codebase

The getControlButton() function in PageStatus.tsx handles TASK_STATE.RUNNING and TASK_STATE.INITIALIZING but did not handle TASK_STATE.STOPPING. When a pipeline entered the stopping state, the button fell through to the default case and showed a disabled "Run" button — confusing because it gave no indication that a stop was in progress.

The codebase already defines TASK_STATE.STOPPING in its state enum and the StatusHeader component already renders an orange "Stopping" indicator dot for this state, but the control button was not aligned.

What changed

File Change
apps/vscode/src/providers/views/PageStatus/PageStatus.tsx Added TASK_STATE.STOPPING case in getControlButton() returning { label: 'Stopping...', disabled: true, className: 'action-btn stopping-btn disabled' }
apps/vscode/src/providers/views/PageStatus/styles.css Added .action-btn.stopping-btn style: orange background (--vscode-charts-orange), white text, cursor: not-allowed

Validation

  • Change is purely additive — existing RUNNING/INITIALIZING/default cases are untouched
  • Uses the same --vscode-charts-orange CSS variable already used for stopping indicators elsewhere in the codebase
  • Button is disabled so no click handler fires during the transition

How this could be extended

  • Add a timeout: if the pipeline stays in STOPPING for more than N seconds, show an error toast or re-enable a "Force Stop" button
  • Add a progress indicator showing which pipeline step is still draining

Closes: N/A — this is a duplicate of the change in PR #549; only one should be merged

#Hack-with-bay-2

…screen

Handle TASK_STATE.STOPPING in the control button to show "Stopping..."
with a disabled state and distinct orange styling, preventing duplicate
clicks and giving immediate visual feedback during pipeline shutdown.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 31, 2026

📝 Walkthrough

Walkthrough

Added explicit handling for the TASK_STATE.STOPPING state in the page status control button logic, rendering a disabled "Stopping..." button. Corresponding CSS styling added to visually distinguish the stopping button state.

Changes

Cohort / File(s) Summary
Stopping State Handler
apps/vscode/src/providers/views/PageStatus/PageStatus.tsx, apps/vscode/src/providers/views/PageStatus/styles.css
Added explicit TASK_STATE.STOPPING handling to getControlButton() returning a disabled button with "Stopping..." label. New CSS rule .action-btn.stopping-btn added for orange background and not-allowed cursor styling.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Hop, hop—the button now knows to wait,
A gentle "Stopping..." in orange state,
The cursor whispers "not allowed" with grace,
As processes pause in their stopping place. 🛑✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title describes adding a batch processing node for large datasets, but the actual changes are styling and behavior updates to a VSCode UI component for task state handling. Update the PR title to reflect the actual changes, such as 'feat(vscode): add stopping state handling to PageStatus component' or similar.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@apps/vscode/src/providers/views/PageStatus/styles.css`:
- Around line 309-313: The stopping-btn state still receives the interactive
hover styles from .action-btn:hover; update the CSS so .action-btn.stopping-btn
cancels hover effects by overriding the hover selector (e.g. add a
.action-btn.stopping-btn:hover rule) and explicitly disable interaction
(pointer-events: none or equivalent), and reset transform/box-shadow/transition
so the “Stopping...” control no longer animates or appears interactive; target
.action-btn.stopping-btn and .action-btn.stopping-btn:hover to implement these
overrides.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 0a2c2b6b-979e-425b-82dd-d6ec68710b5f

📥 Commits

Reviewing files that changed from the base of the PR and between b6b2dc1 and fe6da02.

📒 Files selected for processing (2)
  • apps/vscode/src/providers/views/PageStatus/PageStatus.tsx
  • apps/vscode/src/providers/views/PageStatus/styles.css

Comment on lines +309 to +313
.action-btn.stopping-btn {
background: var(--vscode-charts-orange);
color: white;
cursor: not-allowed;
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Prevent hover animation on disabled “Stopping...” control.

Line 309-Line 313 defines a disabled visual state, but .action-btn:hover still applies transform/shadow. This makes a disabled control look interactive.

🎯 Proposed CSS fix
 .action-btn.stopping-btn {
 	background: var(--vscode-charts-orange);
 	color: white;
 	cursor: not-allowed;
 }
+
+.action-btn.disabled:hover,
+.action-btn.stopping-btn:hover {
+	transform: none;
+	box-shadow: none;
+	background: var(--vscode-charts-orange);
+}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.action-btn.stopping-btn {
background: var(--vscode-charts-orange);
color: white;
cursor: not-allowed;
}
.action-btn.stopping-btn {
background: var(--vscode-charts-orange);
color: white;
cursor: not-allowed;
}
.action-btn.disabled:hover,
.action-btn.stopping-btn:hover {
transform: none;
box-shadow: none;
background: var(--vscode-charts-orange);
}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/vscode/src/providers/views/PageStatus/styles.css` around lines 309 -
313, The stopping-btn state still receives the interactive hover styles from
.action-btn:hover; update the CSS so .action-btn.stopping-btn cancels hover
effects by overriding the hover selector (e.g. add a
.action-btn.stopping-btn:hover rule) and explicitly disable interaction
(pointer-events: none or equivalent), and reset transform/box-shadow/transition
so the “Stopping...” control no longer animates or appears interactive; target
.action-btn.stopping-btn and .action-btn.stopping-btn:hover to implement these
overrides.

@charliegillet
Copy link
Copy Markdown
Contributor Author

Closing — PR shipped incorrect code (PageStatus change instead of the claimed feature). The actual feature code landed in a different PR.

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

Labels

module:vscode VS Code extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant