Skip to content

test(visual): adopt the RichText stable story baselines - #7574

Merged
cixzhang merged 1 commit into
mainfrom
visual/richtext-stable-baselines
Oct 15, 2026
Merged

cixzhang merged 1 commit into
mainfrom
visual/richtext-stable-baselines

Conversation

@cixzhang

Copy link
Copy Markdown
Contributor

Maintainer impact

@astryxdesign/richtext became a stable package in #7224, so its two stable Storybook stories (RichText/RichTextEditor Default and Markdown parity) entered the canonical visual plan with no accepted baseline. Every visual comparison reports them as added, which is baseline debt: a later change to either story would have no before image to compare against.

Intended invariant

The visual gate's maintenance path (.github/scripts/visual-gate/README.md, "Maintenance"): a reviewed capture of exact main, promoted with gate.mjs accept for named keys, through a pull request that contains only the baseline delta.

Change

Adopts four shots from the validated candidate of CI run 38736912098 (operation=capture on main at 2274345, the #7224 merge):

  • richtext-richtexteditor--default__neutral-light / __neutral-dark
  • richtext-richtexteditor--markdown-parity__probe-light / __probe-dark

Only those keys are promoted. The same capture also reports 86 other added, 38 changed and 36 removed shots for unrelated components; none of those is accepted or pruned here.

Evidence

  • Before: the 2274345 capture's verdict lists the four RichText keys under added, with no baseline entry.
  • After: .github/visual-baseline/manifest.json gains exactly those four keys (no other shot entry changes) plus the capture context and one acceptance decision; the four PNGs are the candidate's bytes, re-hashed by accept.
  • Reviewed in the run's report: the Default story shows the labelled field with its placeholder; the Markdown parity story shows the read and edit surfaces side by side in both Probe modes, long fenced code lines wrapping on both.

Scope

  • No intended public API, product behavior, visual direction, or policy change.
  • Product changes discovered during the work were removed or split.
  • Public text and artifacts contain no internal Meta context.

Testing

node .github/scripts/visual-gate/gate.mjs accept --baseline .github/visual-baseline \
  --out <run 38736912098 candidate> --keys <the four keys above> --reason '…'
npx vitest run .github/scripts/visual-gate   # 217 passed

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Oct 15, 2026
@vercel

vercel Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
astryx Ready Ready Preview Oct 15, 2026 1:18pm UTC

Request Review

@astracat-bot

astracat-bot Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

AI review status for this pull request.

Review status Updated
🟢 Reviewed (for maintainers only) Oct 15, 2026, 1:34 PM UTC

@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

PR Analysis Report

📚 Storybook Preview

View Storybook for this PR

🧪 Sandbox Preview

View Sandbox for this PR

No new or modified components detected.

Bundle Size Summary

No component packages changed.

Accessibility Audit

Status: No accessibility violations detected.

Visual Regression

38 of 474 shot(s) changed.

A change here is a question, not a failure: check whether the after is the
picture you intended. Record that review on the PR. Baseline maintenance is an
explicit dispatch of CI; this report never rewrites the baseline or adds a release gate.

component story theme mode pixels
Selector Indicator Space Bottom Sheet Narrow End RTL neutral light 754,077
Selector Indicator Space Bottom Sheet Wide Start neutral light 740,188
Chat Full AI Chat probe light 238,087
Chat Full AI Chat probe dark 237,060
Collapsible Dividers probe dark 66,445
Collapsible Dividers probe light 66,445
Chat Default neutral dark 33,205
Chat Default neutral light 32,876
Chat Empty State probe light 23,531
Chat Empty State probe dark 22,622
ChatAutoScroll Scroll Behavior Comparison neutral dark 15,378
ChatAutoScroll Scroll Behavior Comparison neutral light 14,107
Chat With Attachments probe light 13,406
Chat With Attachments probe dark 11,232
ProgressBar With Target Mark probe dark 7,895
ProgressBar With Target Mark probe light 7,895
TableRowExpansion Detail Panel neutral dark 5,150
TableRowExpansion Detail Panel neutral light 4,068
SideNav Resizable in AppShell probe light 3,846
TableGroupedRows Default neutral light 2,133

and 18 more.


Generated by PR Enrichment workflow | Storybook | Sandbox | View full report

@astracat-bot astracat-bot 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.

Recommending approval: the four RichText baseline images come from the full-plan main capture, the manifest matches what gate.mjs accept writes, and this pull request's own visual-regression run reproduces all four images exactly, so they now compare as unchanged instead of added. No changes are needed. One small description correction: core-markdown--default__probe-light and -dark drop out of the probe plan because the newly stable Markdown parity story covers all of their theming targets, so not every other removed key is unrelated; leaving them for a later maintenance pass is fine.

[Automated review]

@cixzhang
cixzhang merged commit 878fad9 into main Oct 15, 2026
55 checks passed

This branch was successfully deployed

1 active deployment
Preview — dd120903 Deployed Oct 15, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants