Skip to content

test(react): contain native reset updates inside act - #153

Draft
seonghobae wants to merge 1 commit into
mainfrom
fix/collaborative-reset-act-warning-20260811
Draft

test(react): contain native reset updates inside act#153
seonghobae wants to merge 1 commit into
mainfrom
fix/collaborative-reset-act-warning-20260811

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

RCA

Fresh hosted CI on PR #149 exact head e6278289c47a54f97d450e7dad857f1397ebbe7b reproduced a React not wrapped in act(...) diagnostic in src/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 native reset event and then waited one queued task outside React Testing Library act(). 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@50ac98cfa0ad9e8dd75f93ca437a5679fed4d804 and changes test code only. dispatchReset() now contains both native reset dispatch and its existing queued-task settlement inside async act(). 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:

  • CI run 31423288007: success;
  • Security Scan run 31423288020: success;
  • SAST Semgrep run 31423288630: success;
  • build/test job 93568920277 checked out the exact head and passed 141 test files / 818 tests;
  • the hosted build/test log contains no 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;
  • owned-production V8 coverage remains 100% statements / 100% branches / 100% functions / 100% lines;
  • library build, packed ESM/CommonJS/SSR/strict-TypeScript consumer verification, and demo build passed;
  • Office Python 3.11, 3.12, 3.13, and 3.14 docstring/branch-coverage/wheel/package gates passed;
  • Cross-engine Clipboard / Playwright 1.62.0 job 93568920173 completed success, including real-engine rich-clipboard release evidence;
  • fresh formal-review inspection shows no submitted reviews; and
  • fresh review-thread inspection shows no unresolved inline threads.

The pnpm/action-setup bootstrap 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@50ac98cfa0ad9e8dd75f93ca437a5679fed4d804 is the exact 0.6.0 release candidate tracked by #118. Advancing protected main for 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.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e4c24782-b8b7-46e3-b4a8-221883720216

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

1 participant