Skip to content

[web] Fix recompute progress layout - #1953

Merged
Asherlc merged 5 commits into
mainfrom
Asherlc/recompute-duration-expectations
Jul 25, 2026
Merged

Asherlc merged 5 commits into
mainfrom
Asherlc/recompute-duration-expectations

Conversation

@Asherlc

@Asherlc Asherlc commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary

Replaces the custom indeterminate recomputation SVG with react-spinners and keeps the progress row left-aligned with wrapping labels.
Adds regression and Storybook coverage for the long multi-dataset status, and records the unresolved quiesced-consumer production incident plus the transient CI setup failure.

Validation

Passed pnpm lint, root/server/web tsc --noEmit, pnpm test (13,450 tests), the web build, and bundle-size checks.

Copilot AI review requested due to automatic review settings July 25, 2026 14:12
@codereviewbot-ai

Copy link
Copy Markdown

🤖 Review skipped: Repository rate limit exceeded. Free accounts are limited to 2 reviews per 4 hours per repository. Upgrade to a paid plan for unlimited reviews.

@cursor

cursor Bot commented Jul 25, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@sourcery-ai sourcery-ai Bot left a comment

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.

Sorry @Asherlc, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

Copilot AI left a comment

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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Asherlc, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 13 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: c8bd74b9-77bf-46cf-ad20-1ef5c6e42fca

📥 Commits

Reviewing files that changed from the base of the PR and between 4e6a40b and df4e1f6.

📒 Files selected for processing (1)
  • docs/production-incident-baseline.md
📝 Walkthrough

Walkthrough

The web recompute indicator now uses an indeterminate spinner for null progress, with updated accessibility and layout behavior. Storybook and tests cover delayed multi-dataset recomputation. A production incident baseline entry documents a failed ClickHouse consumer deployment.

Changes

Recompute indicator

Layer / File(s) Summary
Null-progress indicator rendering
packages/web/package.json, packages/web/src/components/RecomputeStatusIndicator.tsx
Adds react-spinners and renders ClipLoader for null progress while preserving the SVG ring for numeric progress. Updates accessibility attributes and text-wrapping layout.
Long recompute states and coverage
packages/web/src/components/ProcessingStatusWidget.stories.tsx, packages/web/src/components/RecomputeStatusIndicator.test.tsx
Adds a delayed five-dataset Storybook scenario and verifies spinner accessibility, test identification, layout, and label rendering.

Production incident baseline

Layer / File(s) Summary
Failed ClickHouse consumer deployment
docs/production-incident-baseline.md
Documents the failed deployment, zero-replica symptoms, provider-processing impact, root cause, mitigation, and follow-up actions.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested labels: area/web, type/bug

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is imperative, correctly prefixed with [web], under 70 characters, and accurately summarizes the main UI fix.

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.

@Asherlc
Asherlc enabled auto-merge (squash) July 25, 2026 14:15
@github-actions

github-actions Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Storybook previews for 40e5b95f are ready:

This comment updates automatically on each PR push.

@Asherlc

Asherlc commented Jul 25, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/production-incident-baseline.md`:
- Around line 16867-16871: Separate the completed mitigation from pending
recovery actions in the incident entry: keep the statement that no production
mutation occurred as the mitigation, and move “Restore the consumers” plus its
verification criteria into a clearly labeled recovery plan or next-steps
section. Link the reviewed deployment recovery path explicitly so the documented
steps are actionable without undocumented operator knowledge.
- Around line 16846-16866: Add primary-source links supporting each incident
claim in the Status, Symptoms, User impact, Evidence, and Root cause bullets,
including monitor output for the five pending operations, data-availability
evidence, and the deployment script or runbook documenting pre-scaling. Link
authoritative Docker Swarm documentation or an incident record for the stated
failure mechanism, and label Root cause as suspected unless directly verified by
evidence.
🪄 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 Plus

Run ID: 2208c012-c497-4470-80f6-ddae23adfa38

📥 Commits

Reviewing files that changed from the base of the PR and between 17518de and 4e6a40b.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (5)
  • docs/production-incident-baseline.md
  • packages/web/package.json
  • packages/web/src/components/ProcessingStatusWidget.stories.tsx
  • packages/web/src/components/RecomputeStatusIndicator.test.tsx
  • packages/web/src/components/RecomputeStatusIndicator.tsx

Comment thread docs/production-incident-baseline.md Outdated
Comment thread docs/production-incident-baseline.md Outdated
@Asherlc Asherlc changed the title Fix recompute progress layout [web] Fix recompute progress layout Jul 25, 2026
@codereviewbot-ai

Copy link
Copy Markdown

🤖 Review skipped: Repository rate limit exceeded. Free accounts are limited to 2 reviews per 4 hours per repository. Upgrade to a paid plan for unlimited reviews.

…ation-expectations

# Conflicts:
#	docs/production-incident-baseline.md
@codereviewbot-ai

Copy link
Copy Markdown

🤖 Review skipped: Repository rate limit exceeded. Free accounts are limited to 2 reviews per 4 hours per repository. Upgrade to a paid plan for unlimited reviews.

@Asherlc
Asherlc merged commit 8762841 into main Jul 25, 2026
99 checks passed
@Asherlc
Asherlc deleted the Asherlc/recompute-duration-expectations branch July 25, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants