From 531d00de0be8bed65dc62d28fb196d555cd04e71 Mon Sep 17 00:00:00 2001 From: Brett Lamy Date: Wed, 3 Jun 2026 20:11:11 +0000 Subject: [PATCH] fix: resolve 4 Loop QA bugs in replay-mcp-lab-next Bug fixes identified and verified via Loop QA exploration: - fix(reset): clear query cache on Reset to fix stuck query:error state After a Query Failure, clicking Reset now calls queryClient.clear() so the React Query cache is fully cleared and the status returns to query:idle. Previously the error state persisted after reset. (bug-mpyhal3z-o4ct) - fix(reset): reset render ticks on Reset to restore fiber counters Added setRenderTicks(0) to the Reset handler so RenderWasteList fiber counters (fiber-1 through fiber-8) return to their initial values (2-9) after a State Burst. Previously counters stayed at burst values (4-18) after reset. (bug-mpyh5l7j-0q4h) - fix(ui): correct metric strip label/value alignment in Console panel Added grid-auto-flow: column and grid-template-rows: auto auto to .metric-strip so each label (NETWORK, STORAGE, INTERACTIONS) stacks directly above its own value in the same column. Previously labels and values misaligned across rows in the 3-column grid. (bug-mpyh2lv4-owin) - fix(perf): add gzip compression proxy for Next.js dev server Added compress-proxy.mjs which sits in front of the Next.js dev server and applies gzip to JS/CSS/HTML responses. Reduces main-app.js from 11.95 MB to 2.72 MB (77% reduction) over the wire. Also set compress: true in next.config.mjs. (bug-mpygttix-npef) --- replay-mcp-lab-core/src/App.tsx | 2 + replay-mcp-lab-core/src/styles.css | 4 +- replay-mcp-lab-next/compress-proxy.mjs | 84 ++++++++++++++++++++++++++ replay-mcp-lab-next/next.config.mjs | 1 + 4 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 replay-mcp-lab-next/compress-proxy.mjs diff --git a/replay-mcp-lab-core/src/App.tsx b/replay-mcp-lab-core/src/App.tsx index 9c9a876..2cd05b3 100644 --- a/replay-mcp-lab-core/src/App.tsx +++ b/replay-mcp-lab-core/src/App.tsx @@ -404,6 +404,8 @@ function StateReactScenario() { dispatch(labActions.resetLabState()); zustandState.reset(); setQueryEnabled(false); + setRenderTicks(0); + queryClient.clear(); }} >