test(react): contain native reset updates inside act - #153
Draft
seonghobae wants to merge 1 commit into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
RCA
Fresh hosted CI on PR #149 exact head
e6278289c47a54f97d450e7dad857f1397ebbe7breproduced a Reactnot wrapped in act(...)diagnostic insrc/components/editorFormSerialization.test.tsx, specifically around the collaborative native-form reset lifecycle. Earlier closed reproduction attempts (#95 and #119) correctly made no speculative change because their exact heads did not reproduce the warning. This recurrence provides a current failing boundary.The shared
dispatchReset()test helper dispatched a nativeresetevent and then waited one queued task outside React Testing Libraryact(). The reset observer can synchronously or queued-update React-owned editor/form state, so the test allowed those updates to escape the test update boundary even though assertions later passed.Narrow repair
This branch remains based on protected
main@50ac98cfa0ad9e8dd75f93ca437a5679fed4d804and changes test code only.dispatchReset()now contains both native reset dispatch and its existing queued-task settlement inside asyncact(). Runtime/editor behavior, APIs, collaboration authority, package metadata, workflows, dependencies, release metadata, security policy, persistence, credentials, tenancy, and model behavior are unchanged.Exact-head acceptance proof
For unchanged exact head
9b4893660bb8298d18c54326a5f36fc2d94c6453:31423288007: success;31423288020: success;31423288630: success;93568920277checked out the exact head and passed 141 test files / 818 tests;not wrapped in act(...)diagnostic from native-form serialization, unlike the fresh reproducing PR feat(editor): expose imperative undo/redo history control #149 run used as RED evidence;93568920173completed success, including real-engine rich-clipboard release evidence;The
pnpm/action-setupbootstrap emitted an npm-audit message for its temporary self-installer before switching to the repository-selected pnpm version. The repository immutable dependency install separately passed its supply-chain policy and Security Scan passed; this PR does not claim that unrelated action-bootstrap message as an Inkspan dependency finding.This remains Draft while protected
main@50ac98cfa0ad9e8dd75f93ca437a5679fed4d804is the exact 0.6.0 release candidate tracked by #118. Advancing protectedmainfor test-harness cleanup would invalidate that stable-candidate identity before registry operational acceptance. Revalidate live main, exact head, release/tag state, reviews, and policy immediately before any eventual readiness or merge transition.