Skip to content

fix: DH-22867: Fix Table Options slide animation#2698

Merged
vbabich merged 6 commits into
deephaven:mainfrom
vbabich:vlad-DH-22867
Jun 12, 2026
Merged

fix: DH-22867: Fix Table Options slide animation#2698
vbabich merged 6 commits into
deephaven:mainfrom
vbabich:vlad-DH-22867

Conversation

@vbabich

@vbabich vbabich commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Opening a config page in the TableOptions sidebar re-renders in a burst during the transition. The only visible effect is the skipped slide-in animation when opening the built-in Table Options pages, but this can also trigger a re-mount loop with plugin-supplied table options.

Fix:

  • Track Stack views by react key instead of element identity, so equivalent-but-new child elements from a host re-render don't churn state or re-trigger the slide animation.

@vbabich vbabich self-assigned this Jun 11, 2026
@vbabich vbabich marked this pull request as ready for review June 11, 2026 18:39
@vbabich vbabich requested review from a team, Copilot and mattrunyon and removed request for a team and mattrunyon June 11, 2026 18:39
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.75000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 50.72%. Comparing base (caeabb0) to head (ea54171).

Files with missing lines Patch % Lines
packages/iris-grid/src/IrisGrid.tsx 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2698      +/-   ##
==========================================
+ Coverage   50.43%   50.72%   +0.28%     
==========================================
  Files         788      788              
  Lines       44909    44921      +12     
  Branches    11442    11446       +4     
==========================================
+ Hits        22652    22787     +135     
+ Misses      22238    22115     -123     
  Partials       19       19              
Flag Coverage Δ
unit 50.72% <93.75%> (+0.28%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

Pull request overview

This PR addresses a skipped/unstable slide-in animation in the TableOptions sidebar by making Stack navigation transitions resilient to frequent host re-renders (where “equivalent” views may be re-created as new React elements).

Changes:

  • Update Stack to track the active/pushing views by React key (instead of element identity) to prevent animation/state churn during host re-renders.
  • Update SlideTransition ref handling to re-read firstElementChild when in toggles so CSSTransition targets the current child DOM node at enter/exit time.

Reviewed changes

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

File Description
packages/components/src/transitions/SlideTransition.tsx Re-attaches the ref callback when in changes so the transition always animates the current child node.
packages/components/src/navigation/Stack.tsx Switches Stack’s view tracking to React keys to avoid re-triggering animations on equivalent re-renders while keeping props “live”.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/components/src/transitions/SlideTransition.tsx
Comment thread packages/components/src/navigation/Stack.tsx

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.

Pull request overview

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

Comment thread packages/components/src/transitions/SlideTransition.tsx
Comment thread packages/components/src/navigation/Stack.tsx
vbabich and others added 4 commits June 11, 2026 13:31
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@vbabich vbabich requested a review from mofojed June 11, 2026 20:02
@vbabich vbabich merged commit e0600dd into deephaven:main Jun 12, 2026
12 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants