Fix forbidden sale copy and wire WarBow wallet profile modal #318
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#318
Loading…
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?
Parent
Gap analysis follow-up from #309.
Current codebase
ArenaSimplePage.tsxL1131–1132: "The sale has not opened yet." — forbidden per content audit (#298)./(LaunchGate.tsx);/arenaredirects; docs still say/arenain places.ArenaWarbowHeroPanel.tsx:PlayerIdentitywithoutonOpenProfile→ explorer links instead of wallet profile modal (#258).TimeArenaPage.tsxwires profile modal;ArenaSimplePagepassesonOpenWalletProfileto timer components but not WarBow panel.Why needed
Approved: Fix forbidden sale copy; fix WarBow wallet profile gap; align user-facing framing with always-live arena.
Constraints / guardrails
INV-FRONTEND-298-UX-DOCS-E2E— no "sale" framing on play surface.arenaSimplePhase.tslanguage ("Arena live", "Arena Opens In").WalletProfileModal/onOpenWalletProfilepattern fromArenaTimerPodiumCarousel.Relevant files
frontend/src/pages/arena/ArenaSimplePage.tsxfrontend/src/pages/arena/ArenaWarbowHeroPanel.tsxfrontend/src/pages/arena/TimeArenaPage.tsxfrontend/src/pages/arena/useArenaSaleSession.ts(error strings)frontend/src/lib/revertMessage.tsfrontend/src/app/LaunchGate.tsxdocs/testing/frontend-content-audit.mdRecommended direction
arenaSimplePhase.ts.onOpenWalletProfileprop toArenaWarbowHeroPanel; thread fromArenaSimplePage.surfaceContent.test.tsor add page test to forbid\bsale\bon console pre-launch copy.useArenaSaleSessionandrevertMessage.tsfor play-surface sale strings.Acceptance criteria
/play console (pre-launch and live states).Test plan
cd frontend && npm run typecheck && npm test.cd frontend && npm run lint.bash scripts/e2e-anvil.shsmoke on/if copy changes affect E2E selectors.Attack / abuse test plan
Verification criteria
surfaceContent.test.tsor new test fails on reintroduced "sale" string.mentioned in issue #309
mentioned in commit
f0207c04e3mentioned in merge request !457
mentioned in commit
1ade1e1b40mentioned in merge request !469
mentioned in merge request !482
Verification — GitLab #318
Result: Implementation was missing on
main; fixes pushed in !482. Issue left open until MR merge.Acceptance criteria
/play consoleThe sale has not opened yet…withpreLaunchBuyGateMessage();arenaSimplePhase.test.ts+arenaCommandConsoleStatic.test.ts; Playwright body scan on previewonOpenWalletProfilethreaded toArenaWarbowHeroPanel→PlayerIdentity.onOpenProfile; static test asserts wiring; Playwright SKIP — no indexed rivals without full stack buyspreLaunchBuyGateMessagetest;revertMessage.test.tsTimeArena arena framingAutomated test plan
cd frontend && npm run typecheckcd frontend && npm run lintcd frontend && npm testbash scripts/e2e-anvil.shbash scripts/verify-cloud-postgres.shFollow-ups
mentioned in commit
5bc5822a41mentioned in commit
f398cab132Verification — GitLab #318
Result: PASS — implementation merged on
mainvia !482. Re-verified on currentmain(6b857630).Acceptance criteria
/play console (pre-launch and live)ArenaSimplePageusespreLaunchBuyGateMessage()(no\bsale\bin source);arenaSimplePhase.test.ts,arenaPlaySurfaceCopy.test.ts,arenaCommandConsoleStatic.test.ts,surfaceContent.test.tsonOpenWalletProfilethreadedArenaSimplePage→ArenaWarbowHeroPanel→PlayerIdentity.onOpenProfile; static tests inarenaPlaySurfaceCopy.test.ts+arenaCommandConsoleStatic.test.ts. Live Playwright click SKIP — Anvil E2E has no indexed WarBow rivals without full-stack buyspreLaunchBuyGateMessagetest;revertMessage.test.tsTimeArena arena framing;arenaPlaySurfaceCopy.test.tssale-session error scanAutomated test plan
cd frontend && npm run typecheckcd frontend && npm run lintcd frontend && npm testbash scripts/e2e-anvil.sh/)bash scripts/verify-cloud-postgres.shManual verification
grep -i sale frontend/src/pages/arena/ArenaSimplePage.tsx— no matches; pre-launch gate uses arena framing (The arena has not opened yet…).onOpenProfile={onOpenWalletProfile}on rivalPlayerIdentityrows; nested profile button usesstopPropagation/ listboxrole="option"pattern from #318 MR.Follow-ups