Skip to content

Reduce table prefetch CPU while preserving intent-based navigation - #28

Merged
droplister merged 1 commit into
mainfrom
fix/frontend-cpu-20260919
Sep 19, 2026
Merged

droplister merged 1 commit into
mainfrom
fix/frontend-cpu-20260919

Conversation

@droplister

@droplister droplister commented Sep 19, 2026 •

Copy link
Copy Markdown
Member

Dense record tables start server renders for address and transaction links as soon as they enter the viewport. A 25-second production sample showed that prefetches accounted for 85% of address requests and 63% of transaction requests.

Preload those record links on hover, keyboard focus, or touch start, once per chosen href. Keep Next link navigation, fresh API reads, polling, and the existing visual layout. Changed destinations after pagination can preload independently.

The same local production-build Sends-table scroll exercise went from 1,184 automatic address/transaction prefetch requests to zero. Total automatic prefetch requests fell from 1,226 to 68; the chosen address still preloaded on hover. This is a controlled browser measurement, not a claimed reduction in the Cloudflare bill. One click-to-heading observation was 373 ms before and 378 ms after; production latency needs post-deploy measurement.

Validation: root checks; 20 existing production-browser E2E/accessibility tests; 4 new production-only prefetch/navigation tests covering hover, keyboard, mobile touch/tap, pagination, and API-error navigation; full OpenNext build; Wrangler dry run; desktop screenshot comparison and mobile overflow check. CI now runs the prefetch tests after its production build. Measurement details and rollout checks are in docs/frontend-prefetch-budget.md.

Production deployment remains pending owner approval. Current rollback version: f8c44226-a805-4e1d-9db2-cc82e4a7cbfe.

Release scope: the web Worker was last deployed September 7 at 18:16 UTC. Main also contains the later, already-merged quantity-precision fix 52e60a2, which is not live: both fixture-driven fairmint display checks still show rounded quantities on xcp.io and pass in this candidate. Deploying the main-based candidate includes that existing fix as well as this PR; no new quantity-format changes are part of this PR.

@droplister
droplister marked this pull request as ready for review September 19, 2026 01:35
@droplister
droplister merged commit c71a509 into main Sep 19, 2026
2 checks passed
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