Skip to content

FPFNFIXAPEX: Recognize linked disabling state on native buttons - #2057

Open
aidenybai wants to merge 4 commits into
mainfrom
codex/audit-linked-disabling-button-guard
Open

aidenybai wants to merge 4 commits into
mainfrom
codex/audit-linked-disabling-button-guard

Conversation

@aidenybai

@aidenybai aidenybai commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Why

A disabled button controlled by a readonly native state channel can protect its async handler from reentry.

What changed

Recognize the bounded disabling-state guard while retaining warnings for uncertain providers, escapes, and unsupported updates.

Resolve runtime references and writes to the nearest genuine value when erased TypeScript declarations share its name. Keep erased-only fallback and declaration identity intact. Reuse the shared erased-binding, namespace, and runtime-value helpers for conservative provider admission. Shared semantic controls cover imports, parameters, writes, local values, namespaces, and computed keys. Independent regressions and synthetic fuzz controls exercise the rule boundary. The patch changesets cover diagnostic and resolver behavior.

Known limits

Existing guard heuristics are unchanged. In particular, the named unlinked-disabling-flag-inherited-precision-limit regression remains quiet; this PR does not establish that every pre-existing guard heuristic links its flag to the button.

Test plan

  • Final head 3b813bf651818dd51998e1946bae08051c1ef095: 258 focused assertions passed.
  • Full repository test graph and all typecheck tasks passed before committing.
  • Repository lint/format, serial build, strict target fuzz (500 iterations, seed 42, required firing), and built JSON smoke passed.
  • Shared resolver/test and six-helper hashes match the reviewed canonical sources; exact tested tree verified after normal commit hooks.
  • Previously observed timing failures use deterministic work-count and clock fixtures, plus a scoped timeout for the seven-scan integration test.
  • Exact-head available checks, workflow runs, mergeability, and review threads gate ready status.

Fresh full-corpus parity was unavailable: required sandbox credentials (Daytona/Vercel as applicable), sibling RDE checkout, and repository cache are absent. Older sampled results are not parity for the revised head. No PR was merged.

@pkg-pr-new

pkg-pr-new Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/eslint-plugin-react-doctor@2057
npm i https://pkg.pr.new/oxlint-plugin-react-doctor@2057
npm i https://pkg.pr.new/react-doctor@2057

commit: 3b813bf

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Interactive terminal E2E

Terminal Control verified the built CLI at 3b813bf in a real PTY:

  • selected a project interactively and observed Scanning... before the three-second Git delay completed
  • waited for the clean result and exercised the compact report
  • opened copy context and the GitHub Actions confirmation, then cancelled safely

Download the edited MP4 and PNG evidence

@aidenybai
aidenybai marked this pull request as ready for review October 17, 2026 02:04
@aidenybai
aidenybai marked this pull request as draft October 17, 2026 02:24
@aidenybai
aidenybai marked this pull request as ready for review October 17, 2026 04:01
@aidenybai
aidenybai marked this pull request as draft October 17, 2026 04:12
@github-actions

Copy link
Copy Markdown
Contributor

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit 3b813bf.

@aidenybai
aidenybai marked this pull request as ready for review October 17, 2026 06:34

This branch has not been deployed

No deployments
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