Commit Graph

1536 Commits

Author SHA1 Message Date
github-actions[bot] 43863e2f10 chore: version packages (#1607)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-08 15:24:23 -07:00
Aiden Bai 7f028ea904 fix(rules): accept compound unmount guards (#1606) 2026-08-08 06:23:37 -07:00
github-actions[bot] e83abeb694 chore: version packages (#1604)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-08 05:34:32 -07:00
Aiden Bai f27fd5d136 fix(rules): close exhaustive React Bench audit gaps (#1605)
* fix(rules): close exhaustive React Bench audit gaps

* fix(core): fingerprint effect helper imports

* test(fuzz): preserve audit corpus bytes
2026-08-08 04:49:52 -07:00
Aiden Bai 13138a4af5 refactor: simplify internals across the workspace (#1590) 2026-08-08 00:20:14 -07:00
github-actions[bot] df8660f419 chore: version packages (#1602)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-07 17:47:30 -07:00
Aiden Bai 6a546c2a4c test(fuzz): pin exhaustive React Bench audit corpus (#1603)
* test(fuzz): pin exhaustive React Bench audit corpus

* fix(fuzz): normalize corpus paths

* test(fuzz): normalize corpus expectations

* fix(fuzz): skip TypeScript declarations
2026-08-07 17:38:28 -07:00
Aiden Bai 3299454344 fix(rules): close React Bench audit gaps (#1601)
* fix(rules): close React Bench audit gaps

* fix(rules): harden audited control-flow proofs
2026-08-07 16:59:58 -07:00
github-actions[bot] 59ae70b4fb chore: version packages (#1586) 2026-08-07 03:14:51 -07:00
Aiden Bai 65d4f46d1a test(fuzz): preserve React Bench diagnostic callsites (#1600) 2026-08-07 00:19:24 -07:00
Aiden Bai a4d2c5c8bf fix: recognize browser media lifecycles (#1599) 2026-08-06 23:51:11 -07:00
Aiden Bai 4ffeb2cb71 fix(rules): preserve state effect provenance (#1597) 2026-08-06 18:05:49 -07:00
Aiden Bai d62caa575f fix(rule): harden effect cleanup regressions (#1596)
* fix(rule): harden effect cleanup regressions

* fix(fuzz): preserve cleanup-local scope
2026-08-06 17:43:18 -07:00
Aiden Bai ac4e51f685 fix(core): detect React Compiler through Rolldown Babel (#1592) 2026-08-06 03:21:42 -07:00
Aiden Bai 2b8bc5cf9d fix(deslop): expose skipped dependency exemptions (#1589)
* chore: start hook diagnostic dedup

* chore: scaffold zod v4 subpath fix

* fix(deslop): expose skipped dependency exemptions
2026-08-05 15:56:10 -07:00
Aiden Bai 4b03b15cbe fix(core): honor standard Knip config files (#1584) 2026-08-05 03:12:13 -07:00
github-actions[bot] ff436b0b96 chore: version packages (#1570) 2026-08-05 00:42:33 -07:00
Aiden Bai d934bf6e3f docs: remove outdated scan description 2026-08-05 00:39:25 -07:00
Aiden Bai 1d0e4d6ee9 fix(cli): clean up interactive terminal transitions (#1582) 2026-08-05 00:36:12 -07:00
Aiden Bai 0efadda676 fix(rule): preserve lifecycle synchronization semantics (#1579) 2026-08-04 23:54:24 -07:00
Aiden Bai 274bd39ae7 fix(cli): print cancellation footer once (#1581) 2026-08-04 22:39:18 -07:00
Aiden Bai 459c5d34dc refactor(cli): remove legacy terminal renderer (#1580) 2026-08-04 19:16:34 -07:00
Aiden Bai da0647e275 fix(cli): keep interactive scans in Ink (#1578)
Remove the legacy interactive renderer fallback by preserving scoped scan behavior in the Ink dashboard. Includes workspace dead-code ownership and degraded-baseline gate parity.
2026-08-04 16:45:51 -07:00
Aiden Bai 60e4d8e102 fix(cli): isolate interactive React runtime (#1577)
Bundle the Ink and React renderer so inspected projects cannot supply a missing or incompatible React runtime. Exercise the packed CLI in a real PTY against a React 18 fixture.
2026-08-04 15:01:08 -07:00
Skosh 881ecfe674 fix: exclude setState updater callbacks from zustand-no-fresh-selector-result (#1576)
Resolve destructured Zustand imperative APIs by binding and property identity while preserving diagnostics for legitimate bound store hooks with API-like names.
2026-08-04 14:55:58 -07:00
Aiden Bai bafef41699 RDFPFNFINAL fix benchmark rule precision and async ownership (#1574)
* chore: start hook diagnostic dedup

* chore: scaffold zod v4 subpath fix

* fix: repair benchmark rule precision

* fix: exclude repeated mount transitions

* fix(rules): require ownership guards to control clears
2026-08-04 14:15:17 -07:00
Aiden Bai 25dbf6d925 Fix parity regressions in effect ownership and parent sync (#1573) 2026-08-04 04:17:07 -07:00
Aiden Bai 212b8b4113 fix: harden CLI against Sentry crash clusters (#1572) 2026-08-04 03:37:33 -07:00
Aiden Bai a7e0d1bf8c test: stabilize cross-platform CI timing (#1571) 2026-08-04 02:43:01 -07:00
Aiden Bai 8b97fdcb40 perf: reduce heavy rule scan overhead (#1569) 2026-08-03 21:46:39 -07:00
github-actions[bot] dcfe06428d chore: version packages (#1548) 2026-08-03 18:25:23 -07:00
cursor[bot] c825c59550 Narrow AI training environment detection (#948)
* fix: narrow AI training environment detection

* fix: remove ambiguous AI training signals

---------

Co-authored-by: Aiden Bai <aiden@million.dev>
2026-08-03 17:56:46 -07:00
cursor[bot] f958625acb chore: simplify cleanup architecture hot spots (#1464)
Co-authored-by: Aiden Bai <aiden@million.dev>
2026-08-03 17:39:06 -07:00
cursor[bot] 4a107ea516 refactor: simplify duplicated rule and deslop internals (#1066)
Co-authored-by: Aiden Bai <aiden@million.dev>
2026-08-03 17:38:42 -07:00
cursor[bot] a34d6a159e fix: cover LegendList content container rules (#1038)
Co-authored-by: Aiden Bai <aiden@million.dev>
2026-08-03 17:38:05 -07:00
cursor[bot] 45e818a34b fix: clean up config and telemetry drift (#1023)
Co-authored-by: Aiden Bai <aiden@million.dev>
2026-08-03 17:37:34 -07:00
cursor[bot] 3acb41bad6 fix: align ESLint rule metadata (#987)
Co-authored-by: Aiden Bai <aiden@million.dev>
2026-08-03 17:37:09 -07:00
Aiden Bai 3466fe11d7 perf: index effect cleanup analysis (#1568)
* perf: index effect cleanup analysis

* test: stabilize effect cleanup performance check

* test: support coarse CPU timers
2026-08-03 15:30:29 -07:00
cursor[bot] 45afa01cc2 refactor: remove stale scan plumbing (#1565)
Co-authored-by: Aiden Bai <aiden@million.dev>
2026-08-03 14:21:14 -07:00
Aiden Bai ba04952cb3 fix(cli): preserve scrollback during project selection (#1566) 2026-08-03 13:34:40 -07:00
Skosh afd60dbe69 fix(effect-needs-cleanup): prove effect-owned cleanup (#1559)
* fix(effect-needs-cleanup): handle returned identifiers for addEventListener/addListener

Fixes #1558 - Part 1

- Allow returning identifiers bound to addEventListener/addListener results as valid cleanup
- Recognize calling such identifiers (e.g., ) as cleanup
- This fixes false positives for React Native's NetInfo.addEventListener and similar APIs

Remaining work: helper function cleanup and array collection cleanup

Co-authored-by: Skosh <skoshx@users.noreply.github.com>

* docs: add changeset for addEventListener cleanup fix

Co-authored-by: Skosh <skoshx@users.noreply.github.com>

* fix(effect-needs-cleanup): prove resource ownership

* fix(effect-needs-cleanup): harden ownership proofs

* fix(effect-needs-cleanup): isolate deferred ownership

* fix(effect-needs-cleanup): prove deferred timer ownership

* fix(effect-needs-cleanup): narrow invocation owners

* fix(effect-needs-cleanup): track helper collection mutations

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Skosh <skoshx@users.noreply.github.com>
Co-authored-by: Aiden Bai <aiden@million.dev>
2026-08-03 13:29:06 -07:00
Aiden Bai 48ec9a8020 fix(cli): keep large workspace scans responsive (#1549)
* fix: keep large workspace scans responsive

* fix: harden large workspace scans

* test: normalize workspace path on Windows

* fix: resolve workspace exclusions after root redirects

* fix: honor workspace scan boundaries

* fix: keep bounded workspace scans responsive

* fix: preserve dead-code reachability

* refactor: tighten workspace scan controls

* fix(cli): bound staged workspace scans

* fix: eliminate pathological large-file scans

* fix: handle incomplete and conflicted scans

* test: configure conflict merge identity

* perf: cache repeated module resolution probes

* fix(cli): show all incomplete scan warnings

* fix(core): preserve cooperative scan semantics

* perf(cli): streamline workspace scan startup

* perf(cli): harden large workspace scans

* fix(cli): keep scan progress inline

* fix(scan): correct workspace result completeness

* fix(cli): simplify live scan status

* fix(core): make scan deadlines opt-in

* fix(scan): preserve complete workspace results

* perf(scan): accelerate very large workspaces

* fix(scan): yield CPU to foreground work

* perf(scan): avoid unnecessary project indexing

* fix(cli): keep final report inline

* test(cli): stabilize terminal recording setup

* fix(core): honor scan deadline during index probe

* fix(core): skip lint after incomplete index probe

* fix(core): preserve scoped lint ownership

* fix(cli): restore project picker on cancellation
2026-08-03 04:59:45 -07:00
Aiden Bai 85e1052289 FPFNFIX82 Detect passive request-owner windows (#1563)
* feat: detect passively synchronized request owners

* fix: exclude contradictory request-owner paths

* fix: exclude mismatch-branch state updates

* fix(rule): cover passive owner branches
2026-08-03 03:31:34 -07:00
Aiden Bai cc2862666b feat: detect controlled selection focus effects (#1562) 2026-08-03 03:03:44 -07:00
Aiden Bai 44922d6782 FPFNFIX82 Fix form and fragment diagnostics (#1561)
* fix(rules): correct form and fragment diagnostics

* fix(rules): handle fragment review edge cases

* fix: handle document-top fragment links

* fix(a11y): parse ids from html tags only

* fix(a11y): resolve static fragment aliases

* fix(a11y): retain known fragment targets

* fix(a11y): tokenize html id attributes

* fix: preserve known fragment IDs in mixed spreads

* fix: preserve known fragment ID defaults
2026-08-03 03:03:00 -07:00
Aiden Bai 3a93a34beb FPFNFIX82: prove effect cleanup ownership (#1564) 2026-08-02 23:39:53 -07:00
Aiden Bai 02e3188d4b Add InstancedMesh rules for Three.js and R3F (#1560) 2026-08-02 23:01:55 -07:00
Aiden Bai 4e4740dde3 FPFNFIX82: ignore type-only parent-data references (#1557)
* fix(no-pass-data-to-parent): ignore type-only refs

* fix(no-pass-data-to-parent): preserve angle assertion flow
2026-08-02 21:49:56 -07:00
Aiden Bai 4c610803cb FPFNFIX82: detect stale async request error clears (#1556)
* feat(rule): detect unowned async error clears

* fix(no-unowned-async-error-clear): require ownership guard

* fix(no-unowned-async-error-clear): preserve keyed component proof
2026-08-02 21:49:37 -07:00
Aiden Bai 37427c915c fix(effect-needs-cleanup): recognize reconnect cleanup (#1555) 2026-08-02 21:49:15 -07:00