Stabilize GitHub diff rendering keys - #2006
open-inspect[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced 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 |
Terraform Validation Results
Pushed by: @open-inspect[bot], Action: |
Summary
Fixes 1 root-cause task from the nightly React Doctor scan. Parsed GitHub diff rows now use stable semantic keys based on line type, old/new line coordinates, and content instead of their array position.
Tasks fixed
react-doctor/no-array-index-as-key—packages/web/src/components/github-autofix-feedback.tsx:297— Diff rows used the array index as part of their React key. When diff content changes, position-based identity can make React retain the wrong row instance. The stable line identity prevents incorrect reconciliation and makes future stateful row behavior safe. Human severity: medium (correctness warning).Counting
This PR fixes 1 task unit. The selected diagnostic has no
fixGroupId, so it counts as one ungrouped root-cause task. NofixGroupIdwas split, and no additional findings were fixed opportunistically.React Doctor results
Scanner: React Doctor 0.9.14, schema version 3, full
packages/webscope, complete coverage.no-array-index-as-keydecreased from 5 to 4origin/main: score 100, no findingsValidation
npm run build -w @open-inspect/shared— passed before editingnpm run typecheck -w @open-inspect/web— passednpx prettier --check packages/web— passednpm run lint -w @open-inspect/web— passednpx vitest run src/components/github-autofix-feedback.test.tsx src/lib/github-autofix-feedback.test.ts— passed, 36 testsnpm test -w @open-inspect/web— passed after editing, 206 files and 1,805 testsnpx -y react-doctor@latest . --json --json-out /tmp/react-doctor-after.json --yes --blocking none— complete; selected diagnostic removed and no new findingsnpx -y react-doctor@latest . --verbose --scope changed --base origin/main --yes --blocking none— passed with no findingsPre-existing failures
npm run build -w @open-inspect/webstill fails while prerendering/_global-errorwithTypeError: Cannot read properties of null (reading 'useContext'), digest338000915. The same failure, digest, and framework-generated missing-key warnings occurred before editing. This PR does not touch the failing route or build configuration.Deferred findings
effect-needs-cleanuperrors are canonical false positives: the two effects already clear their timers/listeners, and the WebSocket is closed by its owning effect teardown. Suppression and artificial rewrites were intentionally avoided.allow-same-origincan break the authenticated terminal.Visual verification
Not run. This change only alters React reconciliation keys and does not alter rendered markup, styling, or interaction behavior.
Created with Open-Inspect