Skip to content

Escape View Transition Name Strings as base64#35060

Merged
sebmarkbage merged 1 commit intofacebook:mainfrom
sebmarkbage:escapevtname2
Nov 6, 2025
Merged

Escape View Transition Name Strings as base64#35060
sebmarkbage merged 1 commit intofacebook:mainfrom
sebmarkbage:escapevtname2

Conversation

@sebmarkbage
Copy link
Contributor

This is an alternative to #35059.

If the name needs escaping, then instead of escaping it, we just use a base64 name. This wouldn't allow you to match on an escaped name in your own CSS like you should be able to if browsers worked properly. But at least it would provide matching name in current browsers which is probably sufficient if you're using auto-generated names.

This also covers some cases where CSS.escape() isn't sufficient anyway like when the name ends in a dot.

@meta-cla meta-cla bot added the CLA Signed label Nov 6, 2025
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Nov 6, 2025
@react-sizebot
Copy link

Comparing: 5a2205b...554843a

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.68 kB 6.68 kB +0.16% 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js +0.01% 607.89 kB 607.96 kB +0.04% 107.61 kB 107.66 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB +0.16% 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js +0.01% 665.80 kB 665.88 kB +0.04% 117.32 kB 117.37 kB
facebook-www/ReactDOM-prod.classic.js +0.01% 691.63 kB 691.71 kB +0.04% 121.68 kB 121.73 kB
facebook-www/ReactDOM-prod.modern.js +0.01% 682.06 kB 682.14 kB +0.04% 120.06 kB 120.11 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-experimental/react-dom/unstable_server-external-runtime.js +0.75% 18.45 kB 18.59 kB +1.16% 4.14 kB 4.19 kB

Generated by 🚫 dangerJS against 554843a

Copy link
Member

@rickhanlonii rickhanlonii left a comment

Choose a reason for hiding this comment

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

sgtm

@sebmarkbage sebmarkbage merged commit 1a31a81 into facebook:main Nov 6, 2025
246 checks passed
github-actions bot pushed a commit that referenced this pull request Nov 6, 2025
This is an alternative to #35059.

If the name needs escaping, then instead of escaping it, we just use a
base64 name. This wouldn't allow you to match on an escaped name in your
own CSS like you should be able to if browsers worked properly. But at
least it would provide matching name in current browsers which is
probably sufficient if you're using auto-generated names.

This also covers some cases where `CSS.escape()` isn't sufficient anyway
like when the name ends in a dot.

DiffTrain build for [1a31a81](1a31a81)
github-actions bot pushed a commit that referenced this pull request Nov 6, 2025
This is an alternative to #35059.

If the name needs escaping, then instead of escaping it, we just use a
base64 name. This wouldn't allow you to match on an escaped name in your
own CSS like you should be able to if browsers worked properly. But at
least it would provide matching name in current browsers which is
probably sufficient if you're using auto-generated names.

This also covers some cases where `CSS.escape()` isn't sufficient anyway
like when the name ends in a dot.

DiffTrain build for [1a31a81](1a31a81)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed React Core Team Opened by a member of the React Core Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants