Skip to content

Sync with react.dev @ 6be2b020#399

Open
react-translations-bot wants to merge 177 commits into
mainfrom
sync-6be2b020
Open

Sync with react.dev @ 6be2b020#399
react-translations-bot wants to merge 177 commits into
mainfrom
sync-6be2b020

Conversation

@react-translations-bot

Copy link
Copy Markdown
Collaborator

sky21kr and others added 30 commits September 1, 2025 14:32
Co-authored-by: unknown <deepanshu.9dd@gmail.com~>
`a expensive` should be `an expensive`
Fix "documentatino" typo to "documentation" in comment about useOptimistic reference page.
…d example of the use API (#7767)

* Update "Deep Dive" in reusing-logic-with-custom-hooks.md with link to and example of the use API

* Remove mention of Server Components when explaining the use API

* Update src/content/learn/reusing-logic-with-custom-hooks.md

Co-authored-by: Ricky <rickhanlonii@gmail.com>

* fix: Correct which lines are highlighted in code example

---------

Co-authored-by: Ricky <rickhanlonii@gmail.com>
The previous examples used a service called loremflickr.com to link to  placeholder images. Since that service is now down, I updated them to reference placecats.com instead, which we already use in other examples as well. placecats doesn't have the same random cat feature so I roughly approximated it in the example code.

Closes #7966
* Fix handleClick compiler intro example

* Use a note instead

* Update src/content/learn/react-compiler/introduction.md
* fix: changed source file names in docs from App.js, index.js and styles.css to src/ dir

* fix: updated wrong image with the correct one with current sandbox file structure

* refactor: reverted all formatting and just just mention src folder in introductory section

* Reverted changes tutorial-tic-tac-toe.md

* added enhanced image of sandbox
* docs: add flushSync Troubleshooting section

* Update src/content/reference/react-dom/flushSync.md

* oops

* Apply suggestions from code review

* formatting and pitfall

---------

Co-authored-by: Ricky <rickhanlonii@gmail.com>
Co-authored-by: Rick Hanlon <rickhanlonii@meta.com>
* correct IconExperimental naming and usage (from #7972)

Co-authored-by: Tuna <198469603+TunaDev0@users.noreply.github.com>

* Bump Activity to Canary in docs

---------

Co-authored-by: Tuna <198469603+TunaDev0@users.noreply.github.com>
Happened to notice we were still on an old version of the compiler. This PR upgrades us to use the latest RC.
Copied over our copyright script from the react repo. I made a small fix to handle shebangs.
* Add copyright script

Copied over our copyright script from the react repo. I made a small fix to handle shebangs.

* Update copyright on all files

Run the script.
…iler (#7988)

In react/react#34462 for example, we found an issue where the compiler was incorrectly validating an example straight from the docs.

In order to find more issues like this + also provide more feedback to doc authors on valid/invalid patterns, this PR adds a new local eslint rule which validates all markdown codeblocks containing components/hooks with React Compiler. An autofixer is also provided.

To express that a codeblock has an expected error, we can use the following metadata:

```ts
// pseudo type def
type MarkdownCodeBlockMetadata = {
    expectedErrors?: {
      'react-compiler'?: number[];
    };
  };
```

and can be used like so:

````
```js {expectedErrors: {'react-compiler': [4]}}
// ❌ setState directly in render
function Component({value}) {
  const [count, setCount] = useState(0);
  setCount(value); // error on L4
  return <div>{count}</div>;
}
```
````

Because this is defined as a local rule, we don't have the same granular reporting that `eslint-plugin-react-hooks` yet. I can look into that later but for now this first PR just sets us up with something basic.
* Add local eslint rule to validate markdown codeblocks with React Compiler

In react/react#34462 for example, we found an issue where the compiler was incorrectly validating an example straight from the docs.

In order to find more issues like this + also provide more feedback to doc authors on valid/invalid patterns, this PR adds a new local eslint rule which validates all markdown codeblocks containing components/hooks with React Compiler. An autofixer is also provided.

To express that a codeblock has an expected error, we can use the following metadata:

```ts
// pseudo type def
type MarkdownCodeBlockMetadata = {
    expectedErrors?: {
      'react-compiler'?: number[];
    };
  };
```

and can be used like so:

````
```js {expectedErrors: {'react-compiler': [4]}}
// ❌ setState directly in render
function Component({value}) {
  const [count, setCount] = useState(0);
  setCount(value); // error on L4
  return <div>{count}</div>;
}
```
````

Because this is defined as a local rule, we don't have the same granular reporting that `eslint-plugin-react-hooks` yet. I can look into that later but for now this first PR just sets us up with something basic.

* fix compiler errors

I went through the list of existing errors and tried to separate the expected errors from those that seem to be flagging unexpected issues.  In particular, our effects validations are flagging patterns that our own docs examples use. I added todos for these and will follow up later.
travisbreaks and others added 28 commits April 9, 2026 16:35
Imgur withdrew from the UK due to the Online Safety Act, breaking all
images in the docs for UK-based users. This replaces all 195 Imgur
image references across 18 documentation files with locally hosted
copies served from react.dev/images/docs/scientists/.

50 image files are added to cover all direct references and dynamic
size variants (s/m/b/l suffixes used by the getImageUrl helper).

Fixes #8110

Co-authored-by: Tadao <tadao@travisfixes.com>
… (#8364)

* fix(docs): Change 'a Action' to 'an Action' in useOptimistic.md

This fixes a grammar error where 'a Action' should be 'an Action' since
'Action' starts with a vowel sound.

Related to #6713 - Capitalize React concepts in docs

* docs: Update Vite React Compiler setup for @vitejs/plugin-react@6.0.0

- Add instructions for using reactCompilerPreset with @rolldown/plugin-babel
- Document that inline babel option was removed in version 6.0.0
- Keep backward compatibility note for older versions
- Remove outdated vite-plugin-babel reference

Fixes #8353
* Clean up and expand fragment ref docs

* Add cached intersection observer usage example

* Expand focus example to show search

* Small clean ups

* Add FragmentInstance operations reference list

* Add reference to scrollIntoView operation

* Migrate examples to sandpack
Bumps button contrast to match the treatment on reactnative.dev.

Dark mode:
- primary text: dark:text-secondary (#404756) -> dark:text-gray-90 (#23272F)
- secondary border: #404756 -> #4E5769 (matches RN's rgb(78,86,104))

Light mode:
- secondary border: #D9DBE3 -> #BCC1CD (matches RN's rgb(188,193,205))

gray-90 keeps a subtle cyan tint on the teal button, per review feedback
(gray-95 was too flat).
* Claude use docs attempt

* Human updates

* Address review feedback

* Address additional review feedback

* Split Pitfall and DeepDive, clarify recreation examples

* Reorder DeepDive: prose before correct example

* Add Reading a Promise from context section

* Address review feedback and align DeepDive with RSC docs style

* Drop inaccurate claim about blocking page rendering

* Address feedback

* Address feedback: clarify use() accepts Promise or context

* Apply suggestion from @rickhanlonii

* Update src/content/reference/react/use.md

Co-authored-by: Ricky <rickhanlonii@gmail.com>

* [use] Add Pitfall on refetching Promises from context in RSCs

---------

Co-authored-by: Aurora Scharff <aurora.sofie@gmail.com>
Co-authored-by: Aurora Scharff <66901228+aurorascharff@users.noreply.github.com>
* fix: update use.md pitfall to mention that bypassing use can corrupt React's internal state tracking

* Apply suggestion from @rickhanlonii

* Apply suggestion from @rickhanlonii

* Apply suggestion from @rickhanlonii

* Apply suggestion from @rickhanlonii

* Update use.md with caution on bypassing `use`

Add warning about bypassing `use` and its effects on React Suspense.

* Apply suggestion from @rickhanlonii

* Update guidance on using the `use` hook with Promises

Clarify usage of `use` hook regarding Promise handling.

* Clarify usage of `use` with Promises

---------

Co-authored-by: Ricky <rickhanlonii@gmail.com>
* Fix broken internal link in Component reference (anchor)

* chore: trigger CLA check
Co-authored-by: Daksh Dhami <hi@lucii.xyz>
Co-authored-by: Daksh Dhami <hi@lucii.xyz>
Co-authored-by: Sebastian Sebbie Silbermann <sebastian.silbermann@vercel.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Sebastian "Sebbie" Silbermann <silbermann.sebastian@gmail.com>
…browser extension (#7726)

* Rewrite React Developer Tools section in tutorial-tic-tac-toe

CodeSandbox doesn't seem to support any platform React Developer Tools as is seen in tutorial.
This section is rewritten to use the browser extension directly on the preview.

* Fixed the preview URL to the codesandbox instance just before this section
* Clarify use vs await

* Refine based on feedback

* Address review comments
Co-authored-by: Tuna <tuna@MacBookPro.station>
…505)

* [Suspense] Add 'What activates a Suspense boundary' section

* [Suspense] Clarify image activation wording (review feedback)

* Define "suspense-enabled-framework"

* Update outdated framework-less data fetching note to reference use()

* fix: clarify Suspense boundary activation and fallback behavior

* Add code example

* update styling

* Cleanup caveat

* add link to blogpost

* Replace notes with link to suspense docs

* Tweak caveat

* Update caveat to clarify streaming behavior during server rendering

* Address feedback

* address feedback

* Clarify documentation on Suspense-enabled frameworks

* Update links and wording

* Improve example

* Clarify heading for Suspense-enabled frameworks section

* Restructure page

* Update to be docs compliant and clarify images

* Address review feedback

* Add more suspense examples

* Add more examples

* Clarify image loading behavior during <ViewTransition> updates in Suspense documentation

* Enhance Suspense documentation with additional details on font and image loading during <ViewTransition> updates

* Update

* Enhance Suspense documentation with examples of stylesheet loading behavior and vanilla DOM comparison

* agent review
* Polish Suspense activation examples

- Move Canary badges into section headings and render them icon-only
  in the table of contents
- Replace the image demo's text fallback with a profile skeleton
- Add a combined example coordinating data, a stylesheet, a font, and
  an image behind one boundary, with a plain DOM comparison
- Match skeleton dimensions to the revealed content

* Make the combined example's data delay consistent between runs
* Tune Suspense demo heights, data delay, and DOM comparison wording

* Make section openers stand alone and restore demo timing

* Shrink image demo portraits so both cards fit without layout shift

* Name the resources in the combined section opener

* State the ViewTransition condition in the combined section opener

* Align combined section opener with sibling sections

* Frame font and image waiting as Suspense behavior gated on ViewTransition

* Match the combined section opener to its sibling sections

* Document the experimental defer prop

* Reduce the combined example's data delay

* tweak
* Add dynamic OG images for docs pages

* Match OG card design to existing static images

* Generate OG images statically at build time

* Clean up orphaned lockfile entry

* Show section label on OG cards and guard pages without a card

* Center title and enlarge section label on OG cards
…Leadership Council, and refresh membership.

Co-authored-by: Sebastian "Sebbie" Silbermann <silbermann.sebastian@gmail.com>

for (const fullPath of candidates) {
try {
const content = fs.readFileSync(fullPath, 'utf8');
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.