Skip to content

Audit fixes#16

Merged
binjospookie merged 2 commits into
mainfrom
audit-fixes
Jun 7, 2026
Merged

Audit fixes#16
binjospookie merged 2 commits into
mainfrom
audit-fixes

Conversation

@binjospookie

Copy link
Copy Markdown
Contributor

No description provided.

@binjospookie binjospookie requested a review from a team June 7, 2026 07:29
Viktor Pasynok and others added 2 commits June 7, 2026 14:33
…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>
@binjospookie binjospookie merged commit af0ea31 into main Jun 7, 2026
2 checks passed
@binjospookie binjospookie deleted the audit-fixes branch June 7, 2026 07:36
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