Show planted-flag silence timer in WarBow viewer summary (#362) #532
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!532
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-362-warbow-viewer-summary-flag"
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
GitLab #362 (parent #360): when the viewer holds a planted WarBow flag, the viewer summary card (
warbow-hero-card--viewer-summary) now shows a thirdFLAG:line beside YOUR BP and GUARD — silence countdown (MM:SS until claim) or claim now when eligible. Reuses existingshowClaimFlagControl,flagSilenceEndSec,ledgerNowSec, andwarbowClaimFlagSilenceRemainingSec; Flag subcard behavior unchanged.Invariant:
INV-FRONTEND-362-WARBOW-VIEWER-SUMMARY-FLAGAcceptance checklist
cd frontend && npm test -- ArenaWarbowHeroPanel.test.tsxArenaWarbowHeroPanel.test.tsx—omits viewer-summary flag lineledgerNowSec/ silence math as Flag subcardflagSilenceRemainingSecinArenaWarbowHeroPanel.tsxnpm run typecheckcd frontend && npm run typechecknpm run lintcd frontend && npm run lintmain(arenaPayTokenSpendBand.tsprefer-const;ArenaWarbowHeroPanel.tsxconditionaluseMemobefore this MR)npm test(full frontend)cd frontend && npm testArenaSimplePage.test.tsxonmain(unrelated source-string assertions)Third-party verification
cd frontend && npm run typecheck && npm test -- ArenaWarbowHeroPanel.test.tsxbash scripts/start-qa-local-full-stack.sh --live-sale --no-swarm --no-frontend(or full stack with Vite).data-testid="warbow-hero-viewer-summary-flag"showsFLAG: **MM:SS until claim**in the summary strip (same countdown as Flag subcard).evm_increaseTime), confirm summary showsFLAG: **claim now**while Flag subcard claim CTA is enabled.Related: #362 · docs arena-views §362 · skill
play-time-arena-warbowBugbot is not enabled for your account, so this pull request was not reviewed.
Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.
Security review — MR !532
Commit reviewed:
b58a0c023f5e26e102910449fd53d341fcde48b3Scope: Frontend display-only change in
ArenaWarbowHeroPanel.tsx— adds a thirdFLAG:line to the WarBow viewer summary card (silence countdown viaformatCountdown/warbowClaimFlagSilenceRemainingSec, or static claim now whencanClaimWarBowFlag). Supporting docs, invariants, and unit tests only. No contract, indexer, auth, or dependency changes.Method: Traced props (
showClaimFlagControl,canClaimWarBowFlag,flagSilenceEndSec,ledgerNowSec) from session/on-chain derivation through to the new JSX sink. Compared with existing Flag subcard +WarbowClaimFlagButtonpaths (same inputs, same math). Checked for injection (XSS/HTML), new write surfaces, permission-boundary shifts, and EVM attack surface.Outcome:
FINDINGS: 0medium+Security review: no medium+ findings on this diff.
formatCountdown(number)inside React text nodes — nodangerouslySetInnerHTML, no unsanitized external strings.WarbowClaimFlagButton+ChainMismatchWriteBarrier+ on-chain silence enforcement — unchanged by this MR.INV-FRONTEND-301); it does not enable unauthorized claims.Inline threads: none (no findings to anchor).
mentioned in commit
b29ccf0140