W13-C1: Blank page flash on hard reload — no loading skeleton, LCP 29.74s (poor) #179
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:implement
agent:implement
agent:open_issues
agent:ready
agent:research
agent:security_audit
agent:verify
architecture
backend
blocker:hybrid
blocker:launch
blocker:limit-orders
blocker:v2
block:log_only
block:security
bug
ci
contracts
correctness
deploy
dev
devops
docs
documentation
duplicate
e2e
enhancement
epic
feature
frontend
functional-completion
gas
good first issue
governance
help wanted
high-risk
hooks
hybrid
indexer
infra
infrastructure
integrators
invalid
launch-blocker
limit-orders
localnet
localterra
low priority
missing-implementation
needs-design
ops
performance
priority
high
priority
medium
product
qa
QA
question
ready
ready
research
scripts
security
security-hardening
smartcontracts
tech-debt
testing
ux
UX
v2
verification
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-dex-terraclassic#179
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Issue Summary
On a hard reload of the trade page, the browser shows a completely blank white page before any UI appears. There is no skeleton, spinner, or loading indicator of any kind. The page only becomes visible after all assets finish loading. Chrome Lighthouse measures the Largest Contentful Paint (LCP) at 29.74 seconds, which is in the "poor" category (Google threshold: under 4s is good). The LCP element identified by Lighthouse is
p.app-legal-footer-notice— the legal footer text at the bottom of the page — which means the browser considers the page "loaded" when the footer renders, not when the chart or order book appears. This indicates the main trading content is not painting in the correct order.Reproduction Steps
http://localhost:3000/trade/terra146ypndztcmmrmyxef7e20cul82gh43vjnw4uacwdvg5sp9kva7sqc9mjavCmd+Shift+R(hard reload, clears cache)Expected Behavior
A loading skeleton or spinner should appear within ~200ms of the reload starting. The main content area (chart, order book, order ticket) should progressively fill in as data loads. LCP should be under 4 seconds.
Actual Behavior
p.app-legal-footer-notice(footer text, not main trading content)Environment Details
localterra(local Docker)VITE_NETWORK=local npm run devatlocalhost:3000How to Verify When Fixed
Cmd+Shift+R(hard reload)Severity / Impact
P2 Performance. A 29.74s LCP and blank page on reload give a poor first impression, especially for a trading interface where CEX migrants expect a fast, responsive UI. Found under W13-C1 (Performance — initial load / code-split boundaries).
cc: @PlasticDigits
mentioned in issue #116
mentioned in commit
5ed7429e57mentioned in commit
db7ac3ae6cFix shipped on
main(5ed7429)Addresses W13-C1 blank white flash on hard reload and poor LCP dominated by
.app-legal-footer-notice.What changed
index.htmlpaints#trade-bootstrap-shellon/tradepaths before the Vite bundle runs (themed via existingdata-themescript)./traderoutes useTradePageRouteFallback→TradePageWorkspaceSkeleton(data-testid="trade-workspace-skeleton", ~72vh min-height) instead of the generic centered spinner.TradePageshows the same workspace skeleton whileallPairsis loading.LayoutrendersLegalFooterNoticeonly afterROUTE_CONTENT_READY_EVENT(lazy page mount), with a 12s failsafe.Pair-switch loading (#180) and portaled pair menu CLS (#181) remain unchanged; workspace skeleton is mutually exclusive with
TradePairSwitchStatus.Verification checklist
/trade/:pairAddr(Cmd+Shift+R) — skeleton or bootstrap shell visible immediately (no blank white viewport)p.app-legal-footer-noticenpm run test:unitinfrontend-dapp(529 tests)npx playwright test e2e/trade-page-initial-load.spec.ts --workers=5@totdking — please verify on your M1 / Chrome setup per the issue repro steps and close when satisfied. Leaving the issue open until sign-off.
/cc @PlasticDigits
mentioned in issue #138
qa cleared source+test layer @PlasticDigits
verified
5ed7429eis on main.Full unit suite: 575/580 PASS. All #179-related cases green:
5 fails are unrelated to this issue: 2x #184 terraExplorer env-fragility (already flagged), 2x #127 cosmes patch-package not applied on this QA box (worth a separate ping), 1x #117 prod-build test polluted by a stray VITE_DEV_MNEMONIC in my .env.local (cleaned).
Hard-reload skeleton eyeball + Lighthouse LCP + Playwright e2e deferred to @totdking on his M1 / Chrome setup per your note above.
good to close pending @totdking sign-off.
mentioned in merge request !829
mentioned in issue #292
mentioned in merge request !831
mentioned in merge request !836
mentioned in issue #663
mentioned in issue #706