Conversation
|
It's odd that we see some warnings in the unit test on this PR but not when I did the React 18.3 upgrade. |
|
Indeed. Maybe they tinkered with some feature flags between 18.3 and 19 beta. |
|
If I understand correctly, many of the test warnings seem to be because of how Ariakit retrieves the ref prop, it falls back to and that yields a warning in React 19. At the same time, I assume Ariakit will stay compatible with older React versions where @diegohaz @DaniGuardiola any idea if we're planning to do anything about these warnings in Reakit? |
|
@diegohaz could Ariakit possibly use some sort of React version detection instead and use it to determine what to do, rather than this fallback system that creates warnings? |
|
That part was updated to avoid those warnings (ref: https://x.com/diegohaz/status/1780794744534163888). But apparently it's not enough? I still don't know the idiomatic way to fix that. |
|
@diegohaz @DaniGuardiola I actually tried updating to the latest Ariakit version in this branch and it seems to resolve those warnings 👍 Dani has started working on the update in #60992, and here we have one more reason to move it forward. |
|
Updated to the RC. Hoping to have some time next week to play more thoroughly with it. |
|
Size Change: +14.8 kB (+0.19%) Total Size: 7.76 MB 📦 View Changed
ℹ️ View Unchanged
|
|
Fixed some tests, most of them were pretty straightforward. At first glance, the mobile tests seem to be failing because RN uses an old React version - we'll need a RN update to support React 19. |
|
FYI, Framer Motion will be a blocker for now. More context: #60975 |
|
React 19.0.0-rc.0. is out.
Source: https://x.com/acdlite/status/1797668537349328923 I also wonder if facebook/react#29585 could be an issue for the block editor. Potentially, it can affect block re-ordering, but it will need some testing. |
|
Seems like we'll need to wait a bit for now, re https://x.com/sophiebits/status/1801663976973209620?s=46 and https://tkdodo.eu/blog/react-19-and-suspense-a-drama-in-3-acts Happy to retry this once the release gets unblocked once more. |
|
The suspense issue doesn’t affect our codebase, so we could try the latest RC. |
|
Updated to the latest RC. We'll still need to wait for RN support: |
|
See callstack/react-native-testing-library#1698 for RN support for React 19 (hopefully H1 2025) |
8424167 to
63ac11d
Compare
|
A few updates as I've been experimenting with making React 19 work in the meantime:
|
|
I'm experimenting with using |
IIRC, we can also use suspense around components loading assets on demand and defer rendering. It could help render different previews. |
|
The |
6a9ada3 to
0ae8c13
Compare
Thanks for the heads up. A few updates:
Haven't done thorough testing, but it could be in a testable state at this point. Next steps: There are some failing e2e tests, we need to investigate why and fix the cause. Note: React Native is still a blocker: callstack/react-native-testing-library#1698 |
|
React v19 is now stable - https://react.dev/blog/2024/12/05/react-19. It seems that the biggest blocker here would be React Native. |
31f99c3 to
da65652
Compare
I see what you mean, and I agree they don't necessarily add much value. I still think it is possible to consume them on a package level, and that could potentially be useful for someone. I'm fine with keeping them exported if it doesn't come with any negatives, even if it's mostly for consistency with the public React APIs. And I still maintain the perspective that |
|
This is a draft for a Make Core announcement. I told Cursor to read the discussion on this GitHub PR and draft a post based on the points discussed. And I love the result, I only needed to change some very little details. React 19 Upgrade in WordPressWordPress is upgrading from React 18 to React 19. This change will first ship in the Gutenberg plugin (version TBD) and is expected to land in WordPress 7.1. In June 2024, WordPress 6.6 shipped React 18.3, which added deprecation warnings to help developers prepare for this upgrade (see Preparation for React 19 Upgrade). Now that the migration work is complete, this post covers everything plugin and theme developers need to know. Timeline
We encourage developers to begin testing as early as possible once the Gutenberg plugin release with React 19 is available. Removed APIsThe following functions have been removed from React 19 after a long deprecation period. In WordPress, these were deprecated since WordPress 6.2 (March 2023):
|
What?
Contains work to add React 19 support.
Not intended to be merged directly, but rather to serve as a container for experimentation with all necessary updates.
See #71336 for tracking the migration effort.
Why?
Keeping up to date with our latest framework dependencies and offering all the latest features.
How?
Bumping deps and working on various fixes to ensure React 19 compat. Don't merge.
Testing Instructions
Testing Instructions for Keyboard
Same as above
Screenshots or screencast
None