fix(studio): extend resolver-shadow runtime-node filter to timing/GSAP/reorder chokepoints (#1839)

* fix(studio): source-filter recordResolverParity (async + sourceHfIdCount)

* refactor(studio): extract cutover-eligibility checks to unblock filesize cap

* fix(studio): pass on-disk source to recordResolverParity at timing/gsap/delete chokepoints

* fix(studio): void the reorderElements recordResolverParity call (now async)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(studio): resolve max-review findings (telemetry race, await, reorder filter, count invariant)

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Vance Ingalls
2026-07-01 14:37:48 -07:00
committed by GitHub
co-authored by Claude Sonnet 5
parent e5ec4cf532
commit c215a20c8e
7 changed files with 509 additions and 168 deletions
@@ -87,7 +87,7 @@ export function useDomEditSession({
showToast,
refreshPreviewDocumentVersion,
queueDomEditSave,
readProjectFile: _readProjectFile,
readProjectFile,
writeProjectFile,
updateEditingFileContent,
domEditSaveTimestampRef,
@@ -111,7 +111,6 @@ export function useDomEditSession({
forceReloadSdkSession,
}: UseDomEditSessionParams) {
void _setRefreshKey;
void _readProjectFile;
// ── Selection ──
@@ -295,7 +294,9 @@ export function useDomEditSession({
// the SDK resolves each reordered element (the reorderElements op's targets).
onReorderShadow: sdkSession
? (targets: string[]) => {
for (const target of targets) recordResolverParity(sdkSession, target, "reorderElements");
const reorderSrc = activeCompPath ? () => readProjectFile(activeCompPath) : undefined;
for (const target of targets)
void recordResolverParity(sdkSession, target, "reorderElements", reorderSrc);
}
: undefined,
});