Audit fixes#16
Merged
Merged
Conversation
…d getServerPresence, childList-only observer
F1 (high): the filter freeze cache moves from a render-written ref to
render-phase state ({ props, element } in useState) — a render attempt
React abandons (interrupted transition, suspended attempt) is discarded
together with its setLast, so a never-committed element can no longer
poison the frozen child. The props-identity gate keeps filter/mapProps
at one call per update (the restart pass skips both); the freeze stays
an element-identity bail; both forks stay byte-identical. Pinned twice,
both pins verified red against the ref version: a deterministic
Suspense-abandoned-transition test and a time-sliced-interruption
sibling-tear test. Cost: +4.5-5.7% on the filter-pass path only.
F2 (medium): getServerPresence gets an items-identity cache (disjoint
from getPresence's) — hydration no longer fires "The result of
getServerSnapshot should be cached". Pinned in its own file
(presence.hydration.test.tsx) because the React error is once-per-page.
F3 (medium): the probe observer drops the behaviorally inert
subtree:true; the deep-flip test is reframed to pin what it can
actually falsify — has-DOM semantics plus a no-phantom-host-re-render
counter.
Lows: "use client" banner in both JS bundles (RSC boundary), LICENSE
copied into the package dir and CHANGELOG.md shipped in the tarball,
measured perf numbers / TS minimums / new contracts recorded in
CLAUDE.md, Unreleased section in the changelog.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…h, react/ts matrices) + presence edges and working-cases notes Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
No description provided.