Update Home and countdown brand surfaces for TimeArena #435
No reviewers
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:open_issues
agents
agent:security_audit
agent:verify
area
timecurve
arena
arena-v2
audit
block:feature_review
block:security
bug
contracts
design
devops
docs
documentation
enhancement
epic
feature
frontend
indexer
low priority
megaeth
operations
ops
performance
QA
qa checklist
referrals
removal
security
smart-contracts
tech-debt
testing
time-arena
timecurve
visual-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/yieldomega!435
Loading…
Reference in a new issue
No description provided.
Delete branch "cursor/issue-295-home-countdown-brand-a4a5"
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?
Summary of changes
Updates Home and launch countdown entry surfaces for GitLab #295 so they route users toward immediate PvP TimeArena play and AUDIT verification instead of legacy sale/worldbuilding framing.
surfaceContent.Related issues
Related to #295. Leave issue open for maintainer review.
Design review notes
/arenafor gameplay or/arena/protocolfor verification.Acceptance / verification checklist
xvfb-runon/homedesktop/mobile and future-timestamp countdown desktop/mobilecd frontend && npm test(surfaceContent.test.ts,LaunchCountdownPage.test.tsx) + Rabby visual copy reviewsurfaceContent.test.ts,LaunchCountdownPage.test.tsx,e2e/home.spec.ts,e2e/launch-countdown.spec.tshome.spec.ts,launch-countdown.spec.ts) updated and passingcd frontend && npm run build && CI=1 npm run test:e2e -- --workers=5 e2e/home.spec.ts e2e/launch-countdown.spec.ts(default no-env build: 2 passed, 2 expected build-state skips)cd frontend && VITE_LAUNCH_TIMESTAMP=4102444800 npm run build && CI=1 npm run test:e2e -- --workers=5 e2e/home.spec.ts e2e/launch-countdown.spec.ts(future build: 1 passed, 3 expected build-state skips)cd frontend && npm run typecheckcd frontend && npm run lintcd frontend && npm testbash scripts/check-doc-anchors.sh && bash scripts/check-art-readme-consumers.shVisual/design verification checklist for third parties
Accessibility / responsive notes
title/aria-labeltext while visible copy stays compact.1440x1000) and mobile (390x844) with no horizontal overflow on Home or countdown.Layers touched
contracts/)indexer/)frontend/)scripts/,.cursor/, CI)bots/)Licensing & compliance
NOTICE/ maintainer approval.Notes for reviewers
Invariant added:
INV-FRONTEND-295-HOME-COUNTDOWN-BRAND. Manual QA added:docs/testing/manual-qa-checklists.md#manual-qa-issue-295.added 1 commit
2d6b56a0- Remove stale negative framing from entry copyCompare with previous version
added 1 commit
5e35c242- Fix Home AUDIT Playwright locatorCompare with previous version
Security review
Commit reviewed:
2d6b56a0ac9093cb3b932d513e1d481c9c92216bScope: MR !435 — Home + launch countdown brand/copy refresh (#295):
HomePage,LaunchCountdownPage,surfaceContent, CSS, tests, docs. No indexer, contract, auth, or dependency changes.Outcome:
FINDINGS: 0medium+Reviewed attack surfaces
dangerouslySetInnerHTMLor unsanitized dynamic HTML. New copy/tooltips are static constants insurfaceContent.ts; React escapes JSX text and attribute values.Link topaths (/arena,/arena/protocol, etc.). External countdown links are the same allowlisted HTTPS targets as before (t.me,x.com,github.com) withrel="noopener noreferrer".LaunchGate.tsxunchanged; pre-launch builds still route*toLaunchCountdownPageonly.Prior threads
No prior security-review notes on this MR.
Inline threads: none (no medium+ findings).
added 1 commit
1a079656- Scope Home entry surface Playwright assertionsCompare with previous version
Security review
Commit reviewed:
1a0796564d32f3275b7205b54716f8da844bef44(webhook trigger:5e35c24271a29fa5658b4c8c6e46aca91d1c84a4; MR HEAD includes follow-up e2e commits)Scope: MR !435 — Home + launch countdown brand/copy refresh (#295):
HomePage,LaunchCountdownPage,surfaceContent, CSS, e2e/unit tests, docs. No indexer, contract, auth, API, or dependency changes.Outcome:
FINDINGS: 0medium+Reviewed attack surfaces
dangerouslySetInnerHTMLor unsanitized dynamic HTML. New copy, tooltips, andtitleattributes are static constants insurfaceContent.ts; React escapes JSX text and attribute values.Link topaths (/arena,/arena/protocol, etc.). External countdown links remain allowlisted HTTPS targets (t.me,x.com,github.com) withrel="noopener noreferrer".LaunchGate.tsxunchanged; pre-launch builds still route*toLaunchCountdownPageonly.Delta since prior review (
2d6b56a0)Commits
5e35c242(Playwright AUDIT locator) and1a079656(scope Home e2e assertions) touchfrontend/e2e/home.spec.tsonly — test harness changes with no runtime security impact.Prior threads
Prior top-level review on
2d6b56a0(no medium+ findings) still applies; no new attack surfaces introduced in subsequent commits.Inline threads: none (no medium+ findings).
Security review
Commit reviewed:
1a0796564d32f3275b7205b54716f8da844bef44Scope: MR !435 — Home + launch countdown brand/copy refresh (#295):
HomePage,LaunchCountdownPage,surfaceContent,index.css, e2e/unit tests, docs. No indexer, contract, auth, API, or dependency changes.Outcome:
FINDINGS: 0medium+Reviewed attack surfaces
dangerouslySetInnerHTMLor unsanitized dynamic HTML. Copy, tooltips, andtitleattributes are static constants insurfaceContent.ts; React escapes JSX text and attribute values. Countdowndays/clockremain numeric formatting fromformatLaunchCountdown(unchanged).Link topaths (/arena,/arena/protocol, etc.). External countdown links are allowlisted HTTPS targets (t.me,x.com,github.com) withrel="noopener noreferrer".LaunchGate.tsxunchanged; pre-launch builds still route*toLaunchCountdownPageonly —/arena/protocolhome card is unreachable until the gate opens.Prior threads
Prior top-level reviews on
2d6b56a0and1a079656(no medium+ findings) still apply; this pass re-verified HEAD at the webhook commit with no new attack surfaces.Inline threads: none (no medium+ findings).
added 1 commit
63ecdff0- Stabilize launch state detection for countdown e2eCompare with previous version
added 1 commit
d9241de2- Scope countdown handoff Playwright assertionsCompare with previous version
changed the description
Security review
Commit reviewed:
d9241de263400c61cd6386b6330c5f51f9ad9730(MR HEAD)Webhook trigger commit:
63ecdff05c4c7c97cb1f4c9f7bbd222beb928f52Scope: MR !435 — Home + launch countdown brand/copy refresh (#295):
HomePage,LaunchCountdownPage,surfaceContent,index.css, unit/e2e tests, docs. Diff vsmainis 13 files (frontend entry surfaces + QA only). No indexer, contract, auth, API, or dependency changes.Outcome:
FINDINGS: 0medium+Reviewed attack surfaces
dangerouslySetInnerHTMLor unsanitized dynamic HTML. Copy, tooltips, andtitleattributes are static constants insurfaceContent.ts; React escapes JSX text and attribute values. Countdowndays/clockremain numeric formatting fromformatLaunchCountdown(unchanged).Link topaths (/arena,/arena/protocol, etc.). External countdown links are allowlisted HTTPS targets (t.me,x.com,github.com) withrel="noopener noreferrer".LaunchGate.tsxunchanged; pre-launch builds still route*toLaunchCountdownPageonly —/arena/protocolhome card is unreachable until the gate opens.Delta since prior review (
1a079656)63ecdff0frontend/e2e/launchState.tswaitUntil: domcontentloaded+ DOM readiness probe; no production/runtime change.d9241de2frontend/e2e/launch-countdown.spec.tsgetByLabel("Countdown handoff mechanics")); no production/runtime change.Prior threads
Prior top-level reviews on
2d6b56a0and1a079656(no medium+ findings) still apply. This pass re-verified MR HEAD and the two follow-up e2e commits; no new attack surfaces introduced.Inline threads: none (no medium+ findings).
mentioned in issue #295
Security review
Commit reviewed:
d9241de263400c61cd6386b6330c5f51f9ad9730(MR HEAD)Scope: MR !435 — Home + launch countdown brand/copy refresh (#295):
HomePage,LaunchCountdownPage,surfaceContent,index.css, unit/e2e tests, docs (13 files vsmain). No indexer, contract, auth, API, or dependency changes.Outcome:
FINDINGS: 0medium+Security review: no medium+ findings on this diff.
Reviewed attack surfaces
dangerouslySetInnerHTMLor unsanitized dynamic HTML. New copy, tooltips, and labels are static constants insurfaceContent.ts; React text/attribute escaping applies.topaths (/arena,/arena/protocol, etc.) fromHOME_SURFACE_CARDS.https://URLs withtarget="_blank"andrel="noopener noreferrer".secondsRemainingis a numeric build-time countdown prop (existingLaunchGatepath); not rendered as raw HTML in new code.Inline threads
None — no medium+ findings to anchor on specific diff lines.
Automated security review (Cursor Cloud Agent).
mentioned in commit
d202bb1199mentioned in commit
fc398e8e18