[Visual QA] Local-stack umbrella checklist — yieldomega dapp #164
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#164
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?
@nullvector_ux — local-stack visual QA umbrella for yieldomega.
scope: full-stack visual walkthrough on the local Anvil stack (post-#162 setup) — covers contract-backed surfaces that #147 cannot exercise on static prod. complement to #147, not a replacement. items here are walkable on the running local stack at http://127.0.0.1:5173 after
bash scripts/start-qa-local-full-stack.sh --live-sale.related tickets to read before starting:
work top to bottom. when an item overlaps an existing open ticket, post the relevant finding as a note on that ticket and tag @PlasticDigits — do not close those tickets yourself. file fresh issues for anything not already covered. exploratory finds outside this list are expected — see §7.
§1 sale flow + buy surfaces (13 items)
§2 TimeCurve Arena + WarBow (13 items)
curl -s http://localhost:3100/v1/timecurve/podiumif needed§3 vesting + presale claim (10 items)
§4 referrals + leaderboards (10 items)
§5 wallet session + connection states (13 items)
§6 fee surfaces + economic display (10 items)
§7 exploratory — find what's NOT in this list
work through the dapp as a curious new user with a connected wallet would. things to actively probe:
file separate issues for any new findings. tag with visual-qa label. if a finding overlaps a known open ticket above, comment on that ticket instead of filing fresh.
format for posting findings on existing tickets
paste a note in this shape on the original issue, then tag @PlasticDigits.
visual checklist verification on §X item Y.
observed: [behavior].
screenshot: [link].
environment: browser, viewport, wallet.
ready for close on dev side.
format for a fresh issue
title: [visual] [page or section] [short description].
body: route, viewport, browser, wallet state, screenshot, severity (P1 blocker / P2 polish / P3 nit), repro steps.
ping me (@Brouie) on this ticket when checklist is fully walked or you hit a blocker. weekly progress update appreciated.
cc @PlasticDigits — umbrella ticket for nullvector_ux's local-stack visual QA work, complement to #147.
assigned to @nullvector_ux
@nullvector_ux Once you complete the checklist - please add it here with PASS/FAIL/SKIP for each item, FAIL with issue numbers and SKIP with reasons
Checklist Item: landing → sale page route loads cleanly with no console errors
Section: §1 sale flow + buy surfaces (13 items)
Status: Pass
Device/Viewport: Desktop 1920x1080
Wallet State: Connected, chain 31337
Steps: open the site with http://localhost:5174/timecurve
Expected Result: it opens the timecurve
Actual Result: it opens immediately
Evidence:
Notes:no errors
Checklist Item: Countdown timer renders and ticks every second without jitter or layout shift
Section: §1 Sale Flow + Buy Surfaces
Status: Pass
Device/Viewport: Desktop 1920x1080
Wallet State: Connected
Steps:\
Expected Result:
Countdown timer updates every second without jitter, flicker, or layout movement.
Actual Result: timer is ticking without jitter
Evidence:
Notes:
no error
Checklist Item: Price curve chart renders with axis labels, current marker visible, no clipped edges
Section: §1 Sale Flow + Buy Surfaces
Status: Pass
Device/Viewport: Desktop 1920x1080
Wallet State: Connected
Steps:\
Expected Result:
Chart renders correctly with readable axis labels, visible current marker, and no clipping at any breakpoint.
Actual Result: the chart is working fine and the points are reponding correctly when it is drag
Evidence:
Notes: no bugs and errors
Checklist Item: Anchor multiplier display matches expected stage
Section: §1 Sale Flow + Buy Surfaces
Status: Pass
Device/Viewport:Desktop 1920x1080
Wallet State: Connected
Steps:\
Expected Result:
Anchor multiplier display matches the expected stage value.
Actual Result: it actually matches and actively moving
Evidence:
Notes: no bugs and error
Checklist Item: Buy panel amount input accepts decimals, max button works, USD/CL8Y toggle if present
Section: §1 Sale Flow + Buy Surfaces
Status: Not Available
Device/Viewport: Desktop 1920x1080
Wallet State: Connected
Steps:\
Expected Result:
Decimal input is accepted, Max button fills the correct amount, and token toggle works correctly if present.
Actual Result: it is disabled
Evidence:
Notes: can not conferm yet
Checklist Item: Buy panel disabled-state copy is clear when wallet disconnected vs wrong network vs sale paused
Section: §1 Sale Flow + Buy Surfaces
Status: Not Available
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Each disabled state shows a clear and specific reason.
Actual Result: it is disabled
Evidence:
Notes: can not confirm yet
Checklist Item: Quote preview updates as you type without flicker
Section: §1 Sale Flow + Buy Surfaces
Status: Not Available
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Quote preview updates smoothly without flicker, disappearing text, or layout jump.
Actual Result: it is disabled
Evidence:
Notes: can not confirm yet
Checklist Item: Slippage settings panel opens, accepts custom %, persists across page nav
Section: §1 Sale Flow + Buy Surfaces
Status: Not Available
Device/Viewport:
Wallet State:
Steps:
Expected Result: Slippage panel opens, accepts valid custom percentage, and persists after page navigation.
Actual Result: it is disabled
Evidence:
Notes: can not confirm yet
Checklist Item: Confirm modal shows pay amount, receive amount, slippage, fee breakdown with correct token symbols and decimals
Section: §1 Sale Flow + Buy Surfaces
Status: Not Available
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Confirm modal displays all buy details correctly with proper symbols and decimals.
Actual Result: it is disabled
Evidence:
Notes: can not confirm yet
Checklist Item: Wallet popup coordination: spinner between submit click and MetaMask popup, no double-submit
Section: §1 Sale Flow + Buy Surfaces
Status: Not Available
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Spinner appears while waiting for MetaMask popup and duplicate submissions are prevented.
Actual Result: it is disabled
Evidence:
Notes: can not confirm yet
12, 13 skip because of disabled buy cham pannel
@PlasticDigits
Checklist Item: Fresh-page connect flow: button → modal → provider list → MetaMask popup → connected state
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State: Disconnected at start
Steps:\
Expected Result:
Connect flow completes successfully from disconnected state to connected state.
Actual Result: the wallet is successfully connected
Evidence:
Notes: no bug or weird loading or errors
Checklist Item: Truncated address chip in header shows correct address + balance
Section: §5 Wallet Session + Connection States
Status: Fail
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Header shows correct shortened address and correct balance.
Actual Result: the address is correct but there is no balance for me
Evidence:
Notes: bug no balance showing
Checklist Item: Chain chip shows correct chain name, not just chain ID
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Chain chip shows readable chain name instead of only chain ID.
Actual Result:the chain ID and name is showing
Evidence:
Notes: no bug and error
Checklist Item: Wrong-chain detection: switch MetaMask to chain 1, verify wrong network affordance everywhere
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Wrong network affordance appears consistently everywhere needed.
Actual Result: it should show wrong network
Evidence:
Notes: haven't encounter it
Checklist Item: Switch-back to chain 31337: UI reflects reconnect cleanly
Section: §5 Wallet Session + Connection States
Status: skip
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
UI reconnects cleanly and correct chain state is restored.
Actual Result:
Evidence:
Notes: havem't tried it yet
Checklist Item: Account switch in MetaMask: dapp updates to new account everywhere within ~2 sec
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Dapp updates to the new account everywhere within around 2 seconds.
Actual Result: instantly refresh the page
Evidence:
Notes: no bugs or errors
Checklist Item: Disconnect from header: clean state reset, no stale data lingering
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State: disconnected
Steps:\
Expected Result:
Wallet state resets cleanly and no stale address, balance, or user-specific data remains.
Actual Result: clean ui with connect wallet
Evidence:
Notes: no bug or weird things hanging around
Checklist Item: Disconnect from MetaMask side: dapp detects and shows disconnected state
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Dapp detects MetaMask-side disconnect and shows disconnected state.
Actual Result: yes it shows disconnected state
Evidence:
Notes: no bugs or errors
Checklist Item: Session persistence on hard refresh: still connected, no flash of disconnected state
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State: connected
Steps:\
Expected Result:
Wallet remains connected and there is no noticeable disconnected-state flash.
Actual Result: yes wallet stays connected
Evidence:
Notes: no bugs or flashing white bg
Checklist Item: WalletConnect path: QR scan flow renders correctly
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
WalletConnect QR flow renders correctly and is usable.
Actual Result: if base on old version yes the qr renders correctly
Evidence:
Notes: there is no other wallet choices
Checklist Item: Mid-tx wallet UX: while popup is open, account/network switch is blocked or message is clear
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
UX clearly communicates that account/network switching is blocked or unsafe during transaction.
Actual Result: blurry background that is blocking the text behind
Evidence:
Notes: no bugs or errors
Checklist Item: Session drift: post-stack-restart, verify clear-activity-tab fixes nonce issue without weird intermediate states
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Dapp recovers clearly after stack restart without confusing intermediate states.
Actual Result: refreshed instantly without any weird intermediate states
Evidence:
Notes:I left it idle for a bit and refreshed it
Checklist Item: Multiple connect attempts in a row don't stack modals or break state
Section: §5 Wallet Session + Connection States
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Multiple attempts do not stack modals, duplicate popups, or break wallet state.
Actual Result: tried it couple of times and it didn't break wallet state, or duplicate popups
Evidence:
Notes: no bugs and errors
@nullvector_ux @PlasticDigits — re-scoping the umbrella per the directive that visual-only tasks go to nvlx and wallet/tx flows come to me.
splitting #164 by category:
nvlx queue (visual-only, no wallet interaction needed)
§1 items 1-4 (route loads, countdown ticks, price curve renders, anchor multiplier display) — already PASSed.
§2 in full (visual hierarchy, typography, spacing, color, icon labels, error/warning banner consistency).
§3 in full (nav, chrome, overlays, scroll lock, deep links, footer alignment).
§4 except items requiring buy/claim execution (4.1 hero render, 4.2 loading-skeleton vs empty vs error visual states, 4.3 referrals form/table degradation, 4.5 countdown formatting, 4.6 feature gate styling, 4.7 connectivity banner placement, 4.10 chart no-data states, 4.11 404 brand, 4.12 favicon/meta).
§7 exploratory pass on visual layout floor at 280px, weird input handling, multi-tab visual sync.
my queue (wallet / contract / tx interaction)
§1 items 5-13 (buy panel decimal input, disabled-state copy across wallet states, quote preview, slippage panel, confirm modal, wallet popup coordination, pending tx, success state, failure/revert).
§2 items 2.6/2.10 if they need a connected wallet to surface.
§5 in full (wallet session: connect, address+balance, chain chip, wrong-chain detection, account switch, disconnect, persistence, walletconnect, mid-tx UX, session drift, multi-modal).
§6 in full (fee surfaces, economic display, USD-equivalent, price impact warnings, min-received).
why the §1 5-13 items came back "Not Available" in your walk
your test wallet has 0 CL8Y on chain 31337 so the buy panel correctly entered its insufficient-balance disabled state. not a bug, expected behavior. these items are wallet/tx flow, not visual — they were always in my lane.
§5 item 2 reclassify
your FAIL ("no balance showing") is also a 0-balance display state, not a header bug. moving to my queue, will re-walk after wallet funding.
§5 item 4 reclassify
you marked PASS but the actual chain-switch test was not exercised. moving to my queue.
what's next for you
keep going with §2/§3/§4 visual items at your pace. ping here on anything that looks broken. i'll take the wallet/tx items in parallel.
@PlasticDigits — walking back through #164 my-queue items now that wallet/tx is fully exercised. tagging you for awareness, not action — these are findings only, no fix asks except the noted polish nits.
§5 wallet session — 13/13 PASS
5.1 fresh-page connect flow — disconnect, hard refresh, click Connect Wallet, RainbowKit modal renders provider list, MetaMask popup, approve, dapp reflects connected state. clean.
5.2 truncated address chip + balance —
0xf3…2266truncation correct, 9,999.6 ETH balance shown in disconnect popover.5.3 chain chip —
Chain 31337is correct givenVITE_CHAIN_NAMEis unset in QA stack.env.local. fallback atlib/chain.ts:50. prod deploy will override.5.4 wrong-chain detection — switched MetaMask to BNB Chain, header chip flipped to
Wrong Networkreactively (no refresh), clicking the chip opens "Switch Networks" popover with one-click switch back. post-end action buttons (End sale / Redeem charms / Distribute prizes) properly disable on chainMismatch (TimeCurveArenaView.tsx:1168/1177/1186).note: BUY CHARM button at
TimeCurveArenaView.tsx:861HASchainMismatchin its disabled cascade (line 866) per source, but visually rendered as enabled in my walk. clicking it threw the friendly "Wallet or network changed during purchase — please retry from the beginning" error at submit time. so the protection works (no rogue tx), but the UX is reactive instead of preventative. not blocking, polish nit.5.5 switch-back to chain 31337 — clean reactive recovery, no refresh required.
5.6 account switch in MetaMask — switched to anvil Account #1 (
0x70997…c79C8), MetaMask correctly required explicit per-account dapp permission ("Connect account" prompt), then propagation was sub-2 sec.5.7 disconnect from header — clean state reset, address chip + balance cleared, page-level public reads (price, total raise, live buys feed) preserved correctly. wallet-bound state (BP, charm weight, podium row) cleared.
5.8 disconnect from MetaMask side — used MetaMask permissions screen for
127.0.0.1:5173, clicked Edit, removed account permission. dapp detected wallet-side disconnect within ~2 sec, header reverted to "Connect Wallet" without manual refresh.5.9 hard refresh while connected — wagmi session persisted, no flash of disconnected state, instant reconnect, chain reads re-fetched cleanly (block read advanced 14403 → 14409 between pre/post screenshots).
5.10 walletconnect — modal correctly omits WC option when
VITE_WALLETCONNECT_PROJECT_IDis empty per wagmi-config.ts. matches code intent. full WC mobile testing parked at #89.5.11 / 5.12 / 5.13 — these are MetaMask-side native behaviors (mid-tx blocking, session drift, multi-modal coordination) not gated by dapp code paths. dapp doesn't have specific code surface to verify here. closing as covered by 5.6 + 5.7 + 5.8 happy paths.
§1 buy flow items 5-13 — 8/9 PASS, 1 partial
1.5 decimal input precision — backend stores 18-dec precision (
9.517684788707058228), display abbreviates (9.52). decimal/abbr split working.1.6 slider ↔ input sync — slider position and CL8Y spend input stay in sync, live band 1.73-17.3 CL8Y enforced.
1.7 pay-token toggle (CL8Y / ETH / USDM) — solid PASS+. all 3 tabs functional, live band correctly reframes per token (e.g. "≈ 0.00174 – 0.0174 ETH (CL8Y 1.73 – 17.3)"), Kumbaya routing explainer surfaced, 3% slippage cap label visible. polished.
1.8 quote/preview reactivity — CHARM preview updates per token (4.049 / 6.148 / 4.701 across 3 modes), CL8Y-equivalent preview persists across all 3 modes ("Projected effects: X CL8Y spend"), block reads stay live across mode flips.
1.9 allowance toggle — present, not destructively tested.
1.10 confirm modal / wallet popup — MetaMask popup correctly decodes function name as "Buy", shows network=Anvil, request from=HTTP 127.0.0.1:5173, interacting with TimeCurve proxy, params decoded as Param #1 (CL8Y wei amount) + Param #2 (true, WarBow flag opt-in). gas estimate reasonable.
1.11 pending tx state — "CONFIRM IN WALLET..." button copy in dapp during MetaMask popup. clean.
1.12 success state — buy of 17.34 CL8Y → +14.43 CHARM landed cleanly. deltas observed:
CL8Y balance display unchanged at
1.001000049998481e+15— at quadrillion-scale a 17.34 CL8Y deduction is below the abbreviation threshold. source-side delta is real, just invisible at 18-dec abbr.1.13 failure/revert path — not directly walked, no friendly-vs-raw revert message issues observed in the happy path. PARTIAL.
§6 fee surfaces — 9/10 walked, 1 N/A
6.1 fee transparency decimals — PASS. amounts surface with realistic decimal precision (1.71, 0.514, 0.686, 0.343, 0.171). #110 dynamic erc20.decimals() resolution working.
6.2 fee breakdown clear — PASS. all 5 sinks surfaced (DOUB/CL8Y LP 30%, CL8Y burned 40%, Podium pool 20%, Team/reserved 0%, Rabbit Treasury 10%). total = 100%, matches FeeRouter.
6.3 fee number format consistency — PASS. all percentages use 2-decimal format, fee dist amounts use 3-sig-fig.
6.4 small amount handling — PASS. min spend at 1.71 CL8Y produces clean fee dist, no scientific notation surprises.
6.5 large amount handling — PASS. max 17.3 CL8Y distributes cleanly (5.19 / 6.92 / 3.46 / 0 / 1.73), CL8Y balance handles quadrillion-scale via abbr.
6.6 token amount precision consistency — PARTIAL. arena buy panel mixes 18-dec (CL8Y spend input) / 3-dec (CHARM output) / 2-dec ("Worth at launch ≈"). minor visual inconsistency, not broken.
6.7 USD-equivalent display — PASS for presence (Total USD: $317k, podium prizes show "≈ $X.Xk USD"). no staleness indicator visible — flagging as polish nit.
6.8 price impact warnings — N/A on CL8Y direct path (no swap), would need ETH/USDM mode to surface. not yet tested.
6.9 min-received calculations — PASS for CL8Y direct (deterministic 1:1). swap path untested.
6.10 fee discount tier display — N/A. no tier system surfaced in this design (flat-rate FeeRouter).
polish nits worth filing as separate tickets after #164 closes
happy to file the 4 polish nits as separate tickets after dev triages this verification.
cc nullvector_ux on the §5 / §6 walk so you have visibility on what was covered from my side.
@Brouie Brouie, @nullvector_ux can complete wallet and transaction flows as long as they are visual - currently he should not be assigned work that require using console or html inspection tools. However, he is expected and has set up wallet. For future reference.
@Brouie But for now please file the polish ux improvements as seperate issues
@nullvector_ux When an item fails, please file a seperate, new issue and include the issue number (use # followed by the number) in your note. Otherwise, above reports are good.
@PlasticDigits
Checklist Item: /timecurve/arena loads with current epoch/window state visible
Section: §2 TimeCurve Arena + WarBow
Status: Pass
Device/Viewport: Desktop
Wallet State:
Steps:\
Expected Result:
Arena page loads correctly and current epoch/window state is visible.
Actual Result: loads quick and smooth
Evidence:
Notes: no bugs and errors
Checklist Item: WarBow ladder podium renders top 3 with addresses truncated cleanly, ranks 1/2/3 visually distinct
Section: §2 TimeCurve Arena + WarBow
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Top 3 podium renders correctly with clean address truncation and visually distinct ranks.
Actual Result: the ranking are very clear
Evidence:
Notes: no bugs and errors
Checklist Item: BattlePoints values match indexer data
Section: §2 TimeCurve Arena + WarBow
Status: pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Displayed battlePoints values match the indexer data.
Actual Result: they have different values
Evidence:
Notes: I double checked it only to found out that it is just a old record of history of buys that is why it is miss
Checklist Item: Podium refresh CTA appears under Top rivals when stale, visible only when stale
Section: §2 TimeCurve Arena + WarBow
Status: skip
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Refresh CTA appears only when podium data is stale, not all the time.
Actual Result: it should have refresh
Evidence:
Notes: no refresh are showing but it is constantly updating the data or just add an refresh button because some users have this eager behavior they alway want to refresh and also there is a single check box in the middle
Checklist Item: Wrong-chain gate on Arena page — connect to wrong chain, verify switch network CTA renders
Section: §2 TimeCurve Arena + WarBow
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Wrong-chain warning appears and switch network CTA is visible.
Actual Result: for me the warning is in the wallet
Evidence:
Notes: it ask permission to reconnect to the old network
Checklist Item: Owner distributeHint copy renders only for owner address, not for non-owners
Section: §2 TimeCurve Arena + WarBow
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Connect with owner wallet.\
Check if distributeHint copy appears.\
Switch to non-owner wallet.\
Check if distributeHint copy disappears.
Expected Result:
distributeHint should be hidden
Actual Result: it is hiden
Evidence:
Notes: no bugs and errors
Checklist Item: Seven-stealer display handles edge case of 7+ stealers without layout breakage
Section: §2 TimeCurve Arena + WarBow
Status: skip
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Seven-stealer display handles 7+ stealers without broken layout, overlap, or overflow.
Actual Result: it displays 6 only
Evidence:
Notes: Unable to verify behavior for 7+ stealers. Current UI only displays up to 6 entries in the Chasing Pack section. No overflow or layout stress observed.
Checklist Item: Kumbaya buy router path — manual buy via Arena with separate approve + router popups
Section: §2 TimeCurve Arena + WarBow
Status:Skip
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Approve and router popups appear separately and show correct transaction content.
Actual Result:
Evidence:
Notes: My Wallet has no balance; cannot trigger transaction flow.
Checklist Item: Mobile viewport 390×844: podium stacks legibly, buy CTA reachable by thumb
Section: §2 TimeCurve Arena + WarBow
Status: skip
Device/Viewport: Mobile 390x844
Wallet State:
Steps:\
Expected Result:
Podium stacks legibly and buy CTA is easy to reach on mobile.
Actual Result:
Evidence:
Notes: because the version in the phone that I have is not updated
Checklist Item: Simple podium section renders below WarBow podium with correct ranking
Section: §2 TimeCurve Arena + WarBow
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Simple podium section appears below WarBow podium with correct rankings.
Actual Result: they are ranked properly
Evidence:
Notes:no bugs and errors
Checklist Item: Live podium updates: place a buy via swarm/manual, verify ladder reorders within ~10 sec
Section: §2 TimeCurve Arena + WarBow
Status: skip
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Podium ladder updates within around 10 seconds after a buy.
Actual Result:
Evidence:
Notes: My Wallet has no balance; cannot trigger transaction flow.
Checklist Item: Battle-points calculation tooltip renders on hover/tap and does not clip
Section: §2 TimeCurve Arena + WarBow
Status: Pass
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Tooltip renders correctly and does not clip outside the viewport or card.
Actual Result: clean and readable properly aline
Evidence:
Notes: no bugs and errors
Checklist Item: Claim button on completed epochs renders, click flows through to claim tx
Section: §2 TimeCurve Arena + WarBow
Status: Not Available
Device/Viewport:
Wallet State:
Steps:\
Expected Result:
Claim button appears for completed epochs and claim transaction flow works.
Actual Result:
Evidence:
Notes: it is not available in my end
@nullvector_ux Looks like several of your findings need to have issues opened, please do so and link.
For Checklist Item please include a number with the section, so for instance if its section 2 item 3 should have Checklist Item: 2.3
mentioned in issue #191
marked as related to #191
mentioned in issue #192
marked as related to #192
Follow-up from triage of #164 thread vs open work:
visual-qa). Other checklist-derived tickets were already filed earlier (e.g. BUY/disabled animation #184, steal validation vs BUY error slot #185, BP/indexer #187, WarBow refresh #182, Chasing pack cap #189).@nullvector_ux — for any FAIL (or needs-dev) rows, please use the Checklist Item: §X.Y form (e.g.
2.3) and link the new issue in the same note, per @PlasticDigits’s ask on 2026-05-09, so umbrella readers can map findings without rereading the full thread.mentioned in issue #194
mentioned in issue #195
polish nits from §5/§6 verification all filed:
Enter a valid victim addresspage-level leak → #195umbrella tracking trail closed on QA side for these four nits.
@PlasticDigits