Launch-day visual QA checklist — pre-launch render + post-launch rehydration #212

Closed
opened 2026-05-18 02:38:09 +00:00 by Brouie · 35 comments
Brouie commented 2026-05-18 02:38:09 +00:00 (Migrated from gitlab.com)

Scope

Launch-day QA walk on production (https://yieldomega.com). Per dev direction, the focus is three pillars: UI glitches, rapid refresh/rehydration on action, and everything works.

This checklist is two-phase because sale opens on MegaETH mainnet when the countdown on the home page hits zero. Walk §1 + §2 + §5 (cold-load parts) now — those cover pre-launch surfaces, render integrity, and gated-copy honesty. Walk §3 + §4 (action + post-launch parts) once the countdown hits zero and sale is live.

You and the other reviewer are walking the same checklist in parallel — tick boxes independently on each copy. Coordinate only when a finding overlaps; cross-pollinate via inline comments.

§1 Pre-launch render pass (walkable now)

Each route should render coherently with the countdown live, no broken shells, no infinite spinners.

  • 1.1 / cold load — page renders TimeCurve Simple (home and TimeCurve are the same surface). BUY / ARENA / AUDIT tab nav visible, BUY active. "About TimeCurve" disclosure visible. Countdown card on the left, "Buy CHARM will unlock automatically" card on the right.
  • 1.2 Countdown card (/ or /timecurve) — "TIMECURVE OPENS IN" header, big timer (HH:MM:SS), helper copy "Stay on this page — it switches to Live automatically", leprechaun + bunny illustration anchored bottom-left. Watch the timer tick for at least 2 minutes — no visual jumps, freezes, or restarts.
  • 1.3 Prize Podiums section — 4 podium cards visible (LAST BUY, WARBOW, DEFENDED STREAK, TIME BOOSTER). Each shows 3 medal rows with "0 CL8Y ≈ $0 USD" and "Score: —". Defended Streak rows show "No buy streaks until timer under 15 minutes!". No bare empty axes.
  • 1.4 Agent Card: TimeCurve Simple — disclosure toggles open/closed. Expanded view shows "What this page shows", "Four podium rows", "High-signal calls", "Play skills", "Canonical docs", "Indexer routes used on Simple", and 4 Python pseudo-code blocks. Code blocks scroll horizontally without breaking page layout.
  • 1.5 Bottom of /timecurve: "This build (env)" + "Resolved addresses" + Indexer status pill ("Indexer v1.22.0 · latest indexed block N · live") + Canonical fee sinks card. Watch the indexer pill for 30 seconds — does the block number tick up? Does the "live" indicator stay green?
  • 1.6 /timecurve/arena cold load — top header card shows "YOUR RANK", "YOUR BP", "YOUR STEALS TODAY: 0/3", "STEALS REFRESH IN: HH:MM:SS". Pre-launch gating copy "WarBow actions unlock when the sale is live" is visible.
  • 1.7 Arena STEAL card copy mentions the 2×–10× Battle Points band explicitly (not the old "2× rule" phrasing). Empty-state line "No indexed in-band steal target yet (2×–10× your BP)" is present.
  • 1.8 Arena GUARD + REVENGE cards — Guard shows "Burn 10 CL8Y to reduce incoming steals by 90% for 6 hours", INACTIVE pill, "Activate guard" CTA. Revenge shows "No revenge available".
  • 1.9 /timecurve/protocol cold load — PRE-LAUNCH pill + "PROTOCOL VIEW" title. CONTRACT READS card shows: Sale Start (LOCAL + UTC), Deadline (LOCAL + UTC), Ended: false, TOTAL RAISE: 0 CL8Y / $0.00, Current Min/Max Buy: —, Current Price Per Charm Wad: 1, Prizes Distributed: false. "Refreshed every ~1.5s" copy visible.
  • 1.10 /timecurve/protocol IMMUTABLE PARAMETERS + WARBOW RULE CONSTANTS + INDEXER + OWNER + WIRED CONTRACTS + FEEROUTER SINKS cards all render with their respective constant tables filled in. Each card's "yellow dot" header indicator visible.
  • 1.11 /referrals cold load — page title "REFERRALS", "GUIDE NEW BUYERS THROUGH THE BURROW" banner with 4 info pills, "CLAIM YOUR GUIDE CODE" card with 1 CL8Y burn cost panel + new code input. Earnings card shows zero state for unregistered wallet.
  • 1.12 /referrals GUIDE LEADERBOARD — header tile shows codes registered count, recorded referral buys: 0, total guide CHARM: 0. Below: list of registered wallets, all ranked #1 (correct — tied at 0 CHARM, dense-rank #204 fix). Each row shows wallet pill + "1 onchain code registered" + "0 recorded buys with this referrer code".

§2 UI glitches — visual / layout / copy (walkable now)

  • 2.1 No horizontal scroll on any route at desktop / tablet / mobile widths unless an intentional wide artifact exists (Python code blocks in agent cards are the deliberate exception).
  • 2.2 /timecurve countdown card — verify "Stay on this page — it switches to Live automatically" copy is fully readable. The leprechaun + bunny illustration should not visually cross / overlap the text.
  • 2.3 /timecurve "Resolved addresses" block — verify each label and its value sit on the same row without overlapping. Labels: VITE_TIMECURVE_ADDRESS, VITE_REFERRAL_REGISTRY_ADDRESS, VITE_KUMBAYA_TIMECURVE_BUY_ROUTER. Values: corresponding 0x... addresses. If label text bleeds into value text, that is a finding.
  • 2.4 /timecurve/protocol LIVE BUYS card — pre-launch shows "Waiting for the first buy of this round." plus a large cream block below. Confirm the empty-state height is intentional (matches design) and not unreasonable dead whitespace.
  • 2.5 /timecurve/protocol FEEROUTER SINKS / RESERVE FEE ROUTING card — confirm it renders either the populated sinks list (DOUB/CL8Y LP 30%, CL8Y burned 40%, Podium pool 20%, Team 0%, Rabbit Treasury 10% with addresses) or the loading copy "Waiting for FeeRouter address…" — not flickering between both, not stuck on the loading copy past a few seconds.
  • 2.6 Header wallet pill (top-right) shows truncated address (e.g. dc79c8 or similar). Click the pill: wallet popover opens with avatar, full truncated address (0x70...79C8 style), ETH balance, Copy Address, Disconnect. Verify the truncation pattern in the popover matches what's shown in the leaderboard own-row and elsewhere (same start/end character count).
  • 2.7 Header wallet popover positioning — when you click the wallet pill, does the popover anchor cleanly to the pill, or does it float at screen-center? Flag if positioning feels off.
  • 2.8 Click the chain pill (e.g. "MegaETH"): a Switch Networks modal opens showing "MegaETH — Connected" with a green dot. ESC closes it. Outside click closes it. X button closes it.
  • 2.9 Cards, panels, and grids hold consistent gutters at every breakpoint. No collapsed columns, no stranded headings, no orphaned CTAs.
  • 2.10 Long addresses and numeric values wrap or truncate per design — no overflow pushing layout sideways.
  • 2.11 Numerals (countdown HH:MM:SS, steals refresh timer, leaderboard CHARM, address rows) use stable digit widths — no jitter or layout flicker on tick.
  • 2.12 Sticky header (TimeCurve / Referrals tab nav + chain pill + wallet pill) does not obscure content when scrolling long pages.
  • 2.13 Mobile viewport — header reflows correctly (stacked tabs, not hamburger), audio dock visible, no horizontal scroll. Walk / and /referrals on mobile widths.
  • 2.14 Audio dock — Black Hills "Emerald Gate" or whatever track is playing — play / pause control affordance obvious, dock does not overlap leaderboard rows or primary CTAs on narrow widths.
  • 2.15 Hover, default, disabled, and active button states are visually distinguishable. Disabled CTAs (e.g. Activate guard pre-launch, Submit finalizeWarbowPodium without owner wallet) have a clear reason exposed nearby.
  • 2.16 Any unknown route (e.g. /this-does-not-exist) — degrades to a branded under-construction / 404, not a raw error dump.

§3 Rehydration on action (post-launch unless noted)

For each item, perform the action and watch the UI for a few seconds without manually reloading. The surface should update on its own; if it does not, that is a finding.

  • 3.1 Walkable now. Register a referral code on /referrals — type a code (3-16 letters/digits) in the "e.g. luck777" input, click "Register & burn CL8Y", confirm in wallet. After settlement, the claim card transitions from "CLAIM YOUR GUIDE CODE" to "YOUR GUIDE CODE CLAIMED!" showing your code + two share link rows (/timecurve/<code> + /?ref=<code>) with Copy buttons. No stuck spinner, no double-submit window.
  • 3.2 Walkable now. Click each Copy button on the share-link rows — toast / inline feedback fires within ~300ms, link is copied to clipboard. Paste somewhere to confirm.
  • 3.3 Walkable now. Disconnect + reconnect wallet — connected-wallet section, leaderboard own-row highlight (if your wallet has registered), and earnings card all reflect the active wallet only with no stale data leaked from prior session.
  • 3.4 Walkable now. Switch wallet to a second account in your wallet app — same as 3.3 across distinct wallets. The "Your guide code claimed" or "Not registered" state should swap based on the new wallet's onchain registration.
  • 3.5 Walkable now. Switch chain to the wrong network (e.g. Ethereum mainnet) — top of each page renders the red banner "WRONG NETWORK: USE CHAIN ID 4326". Page does not silently show zeros. Switching back to MegaETH (chain id 4326) clears the banner and reads resume cleanly.
  • 3.6 Walkable now. Cancel / reject a wallet prompt mid-flow (during register & burn) — UI returns to a clean idle state, not a stuck spinner.
  • 3.7 Post-launch. Countdown → live pivot — when the timer hits 00:00:00, the page transitions to the live sale state inside a few seconds without a manual reload. "Stay on this page — it switches to Live automatically" copy is honored. The right-side "Buy CHARM action will unlock" panel transitions to the active Buy form.
  • 3.8 Post-launch. Buy CHARM on the live Simple page — submit a buy. After settlement, podium tiles update with new top wallets / scores, "TOTAL RAISE" on /timecurve/protocol increments, your own wallet's BP (visible on /timecurve/arena top header card) increases. All within a few seconds, no manual refresh.
  • 3.9 Post-launch. WarBow steal on /timecurve/arena — find an in-band target (your BP must be at most 1/2 the victim's and at least 1/10 — i.e. the victim sits in the 2×–10× band versus you). Submit the steal. Attacker and victim BP both update inside a few seconds on the hero card and the Arena leaderboard.
  • 3.10 Post-launch. WarBow guard — submit guard CTA, confirm in wallet. After settlement, your guarded state pill flips to ACTIVE, the steal drain band reflects 1% (instead of 10%) when re-queried.
  • 3.11 Post-launch. WarBow revenge — after a successful steal against you, the Revenge card on /timecurve/arena populates with the stealer's address. Submit revenge, confirm in wallet, BP swings reflect on both wallets.

§4 Console + error paths (cold-load parts walkable now)

  • 4.1 Walkable now. Cold load of /, /timecurve, /timecurve/arena, /timecurve/protocol, /referrals with browser console open — no severity-error storms. Warnings are OK; errors are findings. Note any errors with route + line.
  • 4.2 Walkable now. Re-check console after each wallet connect, account switch, chain switch.
  • 4.3 Walkable now. Force a wrong-network state and watch console + network tab — the page does not retry indefinitely against the wrong chain; reads should pause cleanly.
  • 4.4 Walkable now. Indexer hiccup simulation — open /timecurve on a flaky connection (or watch what happens during a brief network blip). The indexer pill should reflect the state honestly. No alarming banners. No full-page crash.
  • 4.5 Post-launch. Re-check console after a buy, a referral register, a steal / guard / revenge.

§5 How to file findings

For each item you cannot tick, drop an inline comment on this issue with:

  • Checklist item ID (e.g. 2.5)
  • Route + viewport (desktop / mobile / tablet)
  • Steps to repro (brief)
  • Screenshot if available
  • Severity: launch-blocker / polish / cosmetic

Launch-blockers found pre-launch should be pinged to @PlasticDigits in Telegram immediately, not just dropped here, so they have time to land a fix before the countdown hits zero. Polish + cosmetic findings stay inline.

## Scope Launch-day QA walk on production (https://yieldomega.com). Per dev direction, the focus is three pillars: **UI glitches**, **rapid refresh/rehydration on action**, and **everything works**. This checklist is **two-phase** because sale opens on MegaETH mainnet when the countdown on the home page hits zero. Walk §1 + §2 + §5 (cold-load parts) now — those cover pre-launch surfaces, render integrity, and gated-copy honesty. Walk §3 + §4 (action + post-launch parts) once the countdown hits zero and sale is live. You and the other reviewer are walking the same checklist in parallel — tick boxes independently on each copy. Coordinate only when a finding overlaps; cross-pollinate via inline comments. ## §1 Pre-launch render pass (walkable now) Each route should render coherently with the **countdown live**, no broken shells, no infinite spinners. - [x] **1.1** `/` cold load — page renders TimeCurve Simple (home and TimeCurve are the same surface). BUY / ARENA / AUDIT tab nav visible, BUY active. "About TimeCurve" disclosure visible. Countdown card on the left, "Buy CHARM will unlock automatically" card on the right. - [x] **1.2** Countdown card (`/` or `/timecurve`) — "TIMECURVE OPENS IN" header, big timer (HH:MM:SS), helper copy "Stay on this page — it switches to Live automatically", leprechaun + bunny illustration anchored bottom-left. Watch the timer tick for at least 2 minutes — no visual jumps, freezes, or restarts. - [x] **1.3** Prize Podiums section — 4 podium cards visible (LAST BUY, WARBOW, DEFENDED STREAK, TIME BOOSTER). Each shows 3 medal rows with "0 CL8Y ≈ $0 USD" and "Score: —". Defended Streak rows show "No buy streaks until timer under 15 minutes!". No bare empty axes. - [x] **1.4** Agent Card: TimeCurve Simple — disclosure toggles open/closed. Expanded view shows "What this page shows", "Four podium rows", "High-signal calls", "Play skills", "Canonical docs", "Indexer routes used on Simple", and 4 Python pseudo-code blocks. Code blocks scroll horizontally without breaking page layout. - [x] **1.5** Bottom of `/timecurve`: "This build (env)" + "Resolved addresses" + Indexer status pill ("Indexer v1.22.0 · latest indexed block N · live") + Canonical fee sinks card. Watch the indexer pill for 30 seconds — does the block number tick up? Does the "live" indicator stay green? - [x] **1.6** `/timecurve/arena` cold load — top header card shows "YOUR RANK", "YOUR BP", "YOUR STEALS TODAY: 0/3", "STEALS REFRESH IN: HH:MM:SS". Pre-launch gating copy "WarBow actions unlock when the sale is live" is visible. - [x] **1.7** Arena STEAL card copy mentions the **2×–10× Battle Points band** explicitly (not the old "2× rule" phrasing). Empty-state line "No indexed in-band steal target yet (2×–10× your BP)" is present. - [x] **1.8** Arena GUARD + REVENGE cards — Guard shows "Burn 10 CL8Y to reduce incoming steals by 90% for 6 hours", INACTIVE pill, "Activate guard" CTA. Revenge shows "No revenge available". - [x] **1.9** `/timecurve/protocol` cold load — PRE-LAUNCH pill + "PROTOCOL VIEW" title. CONTRACT READS card shows: Sale Start (LOCAL + UTC), Deadline (LOCAL + UTC), Ended: false, TOTAL RAISE: 0 CL8Y / $0.00, Current Min/Max Buy: —, Current Price Per Charm Wad: 1, Prizes Distributed: false. "Refreshed every ~1.5s" copy visible. - [x] **1.10** `/timecurve/protocol` IMMUTABLE PARAMETERS + WARBOW RULE CONSTANTS + INDEXER + OWNER + WIRED CONTRACTS + FEEROUTER SINKS cards all render with their respective constant tables filled in. Each card's "yellow dot" header indicator visible. - [x] **1.11** `/referrals` cold load — page title "REFERRALS", "GUIDE NEW BUYERS THROUGH THE BURROW" banner with 4 info pills, "CLAIM YOUR GUIDE CODE" card with 1 CL8Y burn cost panel + new code input. Earnings card shows zero state for unregistered wallet. - [x] **1.12** `/referrals` GUIDE LEADERBOARD — header tile shows codes registered count, recorded referral buys: 0, total guide CHARM: 0. Below: list of registered wallets, all ranked #1 (correct — tied at 0 CHARM, dense-rank #204 fix). Each row shows wallet pill + "1 onchain code registered" + "0 recorded buys with this referrer code". ## §2 UI glitches — visual / layout / copy (walkable now) - [x] **2.1** No horizontal scroll on any route at desktop / tablet / mobile widths unless an intentional wide artifact exists (Python code blocks in agent cards are the deliberate exception). - [x] **2.2** `/timecurve` countdown card — verify "Stay on this page — it switches to Live automatically" copy is fully readable. The leprechaun + bunny illustration should not visually cross / overlap the text. - [ ] **2.3** `/timecurve` "Resolved addresses" block — verify each label and its value sit on the same row without overlapping. Labels: VITE_TIMECURVE_ADDRESS, VITE_REFERRAL_REGISTRY_ADDRESS, VITE_KUMBAYA_TIMECURVE_BUY_ROUTER. Values: corresponding 0x... addresses. If label text bleeds into value text, that is a finding. - [x] **2.4** `/timecurve/protocol` LIVE BUYS card — pre-launch shows "Waiting for the first buy of this round." plus a large cream block below. Confirm the empty-state height is intentional (matches design) and not unreasonable dead whitespace. - [x] **2.5** `/timecurve/protocol` FEEROUTER SINKS / RESERVE FEE ROUTING card — confirm it renders **either** the populated sinks list (DOUB/CL8Y LP 30%, CL8Y burned 40%, Podium pool 20%, Team 0%, Rabbit Treasury 10% with addresses) **or** the loading copy "Waiting for FeeRouter address…" — not flickering between both, not stuck on the loading copy past a few seconds. - [x] **2.6** Header wallet pill (top-right) shows truncated address (e.g. `dc79c8` or similar). Click the pill: wallet popover opens with avatar, full truncated address (`0x70...79C8` style), ETH balance, Copy Address, Disconnect. Verify the truncation pattern in the popover matches what's shown in the leaderboard own-row and elsewhere (same start/end character count). - [x] **2.7** Header wallet popover positioning — when you click the wallet pill, does the popover anchor cleanly to the pill, or does it float at screen-center? Flag if positioning feels off. - [x] **2.8** Click the chain pill (e.g. "MegaETH"): a Switch Networks modal opens showing "MegaETH — Connected" with a green dot. ESC closes it. Outside click closes it. X button closes it. - [x] **2.9** Cards, panels, and grids hold consistent gutters at every breakpoint. No collapsed columns, no stranded headings, no orphaned CTAs. - [x] **2.10** Long addresses and numeric values wrap or truncate per design — no overflow pushing layout sideways. - [x] **2.11** Numerals (countdown HH:MM:SS, steals refresh timer, leaderboard CHARM, address rows) use stable digit widths — no jitter or layout flicker on tick. - [x] **2.12** Sticky header (TimeCurve / Referrals tab nav + chain pill + wallet pill) does not obscure content when scrolling long pages. - [x] **2.13** Mobile viewport — header reflows correctly (stacked tabs, not hamburger), audio dock visible, no horizontal scroll. Walk `/` and `/referrals` on mobile widths. - [x] **2.14** Audio dock — Black Hills "Emerald Gate" or whatever track is playing — play / pause control affordance obvious, dock does not overlap leaderboard rows or primary CTAs on narrow widths. - [x] **2.15** Hover, default, disabled, and active button states are visually distinguishable. Disabled CTAs (e.g. Activate guard pre-launch, Submit finalizeWarbowPodium without owner wallet) have a clear reason exposed nearby. - [ ] **2.16** Any unknown route (e.g. `/this-does-not-exist`) — degrades to a branded under-construction / 404, not a raw error dump. ## §3 Rehydration on action (post-launch unless noted) For each item, perform the action and watch the UI for a few seconds **without manually reloading**. The surface should update on its own; if it does not, that is a finding. - [ ] **3.1** **Walkable now.** Register a referral code on `/referrals` — type a code (3-16 letters/digits) in the "e.g. luck777" input, click "Register & burn CL8Y", confirm in wallet. After settlement, the claim card transitions from "CLAIM YOUR GUIDE CODE" to "YOUR GUIDE CODE CLAIMED!" showing your code + two share link rows (`/timecurve/<code>` + `/?ref=<code>`) with Copy buttons. No stuck spinner, no double-submit window. - [ ] **3.2** **Walkable now.** Click each Copy button on the share-link rows — toast / inline feedback fires within ~300ms, link is copied to clipboard. Paste somewhere to confirm. - [ ] **3.3** **Walkable now.** Disconnect + reconnect wallet — connected-wallet section, leaderboard own-row highlight (if your wallet has registered), and earnings card all reflect the active wallet only with no stale data leaked from prior session. - [ ] **3.4** **Walkable now.** Switch wallet to a second account in your wallet app — same as 3.3 across distinct wallets. The "Your guide code claimed" or "Not registered" state should swap based on the new wallet's onchain registration. - [ ] **3.5** **Walkable now.** Switch chain to the wrong network (e.g. Ethereum mainnet) — top of each page renders the red banner "WRONG NETWORK: USE CHAIN ID 4326". Page does not silently show zeros. Switching back to MegaETH (chain id 4326) clears the banner and reads resume cleanly. - [ ] **3.6** **Walkable now.** Cancel / reject a wallet prompt mid-flow (during register & burn) — UI returns to a clean idle state, not a stuck spinner. - [ ] **3.7** **Post-launch.** Countdown → live pivot — when the timer hits 00:00:00, the page transitions to the live sale state inside a few seconds without a manual reload. "Stay on this page — it switches to Live automatically" copy is honored. The right-side "Buy CHARM action will unlock" panel transitions to the active Buy form. - [ ] **3.8** **Post-launch.** Buy CHARM on the live Simple page — submit a buy. After settlement, podium tiles update with new top wallets / scores, "TOTAL RAISE" on /timecurve/protocol increments, your own wallet's BP (visible on /timecurve/arena top header card) increases. All within a few seconds, no manual refresh. - [ ] **3.9** **Post-launch.** WarBow steal on `/timecurve/arena` — find an in-band target (your BP must be at most 1/2 the victim's and at least 1/10 — i.e. the victim sits in the 2×–10× band versus you). Submit the steal. Attacker and victim BP both update inside a few seconds on the hero card and the Arena leaderboard. - [ ] **3.10** **Post-launch.** WarBow guard — submit guard CTA, confirm in wallet. After settlement, your guarded state pill flips to ACTIVE, the steal drain band reflects 1% (instead of 10%) when re-queried. - [ ] **3.11** **Post-launch.** WarBow revenge — after a successful steal against you, the Revenge card on `/timecurve/arena` populates with the stealer's address. Submit revenge, confirm in wallet, BP swings reflect on both wallets. ## §4 Console + error paths (cold-load parts walkable now) - [x] **4.1** **Walkable now.** Cold load of `/`, `/timecurve`, `/timecurve/arena`, `/timecurve/protocol`, `/referrals` with browser console open — no severity-error storms. Warnings are OK; errors are findings. Note any errors with route + line. - [x] **4.2** **Walkable now.** Re-check console after each wallet connect, account switch, chain switch. - [x] **4.3** **Walkable now.** Force a wrong-network state and watch console + network tab — the page does not retry indefinitely against the wrong chain; reads should pause cleanly. - [x] **4.4** **Walkable now.** Indexer hiccup simulation — open `/timecurve` on a flaky connection (or watch what happens during a brief network blip). The indexer pill should reflect the state honestly. No alarming banners. No full-page crash. - [ ] **4.5** **Post-launch.** Re-check console after a buy, a referral register, a steal / guard / revenge. ## §5 How to file findings For each item you cannot tick, drop an inline comment on this issue with: - Checklist item ID (e.g. **2.5**) - Route + viewport (desktop / mobile / tablet) - Steps to repro (brief) - Screenshot if available - Severity: **launch-blocker** / **polish** / **cosmetic** Launch-blockers found pre-launch should be pinged to @PlasticDigits in Telegram immediately, not just dropped here, so they have time to land a fix before the countdown hits zero. Polish + cosmetic findings stay inline.
Brouie commented 2026-05-18 02:38:10 +00:00 (Migrated from gitlab.com)

assigned to @nullvector_ux

assigned to @nullvector_ux
Brouie commented 2026-05-18 03:10:07 +00:00 (Migrated from gitlab.com)

Pre-walked §2.3 (Resolved addresses overlap) on production at desktop width while filing this checklist. Confirming it is a real glitch — when you walk §2.3 you will see the label text rendered on top of the address text on two specific rows:

  • VITE_REFERRAL_REGISTRY_ADDRESS line: label _ADDRESS overlays the start of the address, so the row reads VITE_REFERRAL_REGISTRY_ADDRESS_ADDRESSd146e85ce4a4b6f6be11877485766adaf7 instead of label-then-address.
  • VITE_KUMBAYA_TIMECURVE_BUY_ROUTER line: same shape — label BUY_ROUTER overlays the start of the address, reading VITE_KUMBAYA_TIMECURVE_BUY_ROUTERBUY_ROUTER55c5ea42345522d403c1742c75b61.
  • VITE_TIMECURVE_ADDRESS line renders cleanly (shorter label).

So when you hit §2.3 you can mark it FAIL with this evidence and move on. Severity is cosmetic / polish — the full address values are still in the DOM (you can copy them), it is the rendered layer collision that breaks the visual. Same rendering pattern appears in the second "Resolved protocol addresses" block inside the bottom AGENT CARD: FOR AGENTS ONLY agent card.

Both copies of this checklist will hit the same finding — no need to file a separate issue, just leave it as a §2.3 inline note here and we will batch with the rest.

Pre-walked §2.3 (Resolved addresses overlap) on production at desktop width while filing this checklist. Confirming it is a real glitch — when you walk §2.3 you will see the label text rendered on top of the address text on two specific rows: * `VITE_REFERRAL_REGISTRY_ADDRESS` line: label `_ADDRESS` overlays the start of the address, so the row reads `VITE_REFERRAL_REGISTRY_ADDRESS_ADDRESSd146e85ce4a4b6f6be11877485766adaf7` instead of label-then-address. * `VITE_KUMBAYA_TIMECURVE_BUY_ROUTER` line: same shape — label `BUY_ROUTER` overlays the start of the address, reading `VITE_KUMBAYA_TIMECURVE_BUY_ROUTERBUY_ROUTER55c5ea42345522d403c1742c75b61`. * `VITE_TIMECURVE_ADDRESS` line renders cleanly (shorter label). So when you hit §2.3 you can mark it FAIL with this evidence and move on. Severity is cosmetic / polish — the full address values are still in the DOM (you can copy them), it is the rendered layer collision that breaks the visual. Same rendering pattern appears in the second "Resolved protocol addresses" block inside the bottom `AGENT CARD: FOR AGENTS ONLY` agent card. Both copies of this checklist will hit the same finding — no need to file a separate issue, just leave it as a §2.3 inline note here and we will batch with the rest.
nullvector_ux commented 2026-05-18 03:24:53 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.1 / cold load — page renders TimeCurve Simple (home and TimeCurve are the same surface). BUY / ARENA / AUDIT tab nav visible, BUY active. "About TimeCurve" disclosure visible. Countdown card on the left, "Buy CHARM will unlock automatically" card on the right. as completed

marked the checklist item **1\.1 / cold load — page renders TimeCurve Simple \(home and TimeCurve are the same surface\)\. BUY / ARENA / AUDIT tab nav visible, BUY active\. \"About TimeCurve\" disclosure visible\. Countdown card on the left, \"Buy CHARM will unlock automatically\" card on the right\.** as completed
nullvector_ux commented 2026-05-18 03:26:13 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.3 Prize Podiums section — 4 podium cards visible (LAST BUY, WARBOW, DEFENDED STREAK, TIME BOOSTER). Each shows 3 medal rows with "0 CL8Y ≈ $0 USD" and "Score: —". Defended Streak rows show "No buy streaks until timer under 15 minutes!". No bare empty axes. as completed

marked the checklist item **1\.3 Prize Podiums section — 4 podium cards visible \(LAST BUY, WARBOW, DEFENDED STREAK, TIME BOOSTER\)\. Each shows 3 medal rows with \"0 CL8Y ≈ $0 USD\" and \"Score: —\"\. Defended Streak rows show \"No buy streaks until timer under 15 minutes\!\"\. No bare empty axes\.** as completed
nullvector_ux commented 2026-05-18 03:30:07 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.2 Countdown card / or /timecurve — "TIMECURVE OPENS IN" header, big timer HH:MM:SS, helper copy "Stay on this page — it switches to Live automatically", leprechaun + bunny illustration anchored bottom-left. Watch the timer tick for at least 2 minutes — no visual jumps, freezes, or restarts. as completed

marked the checklist item **1\.2 Countdown card \(/ or /timecurve\) — \"TIMECURVE OPENS IN\" header, big timer \(HH:MM:SS\), helper copy \"Stay on this page — it switches to Live automatically\", leprechaun \+ bunny illustration anchored bottom\-left\. Watch the timer tick for at least 2 minutes — no visual jumps, freezes, or restarts\.** as completed
nullvector_ux commented 2026-05-18 03:32:18 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.4 Agent Card: TimeCurve Simple — disclosure toggles open/closed. Expanded view shows "What this page shows", "Four podium rows", "High-signal calls", "Play skills", "Canonical docs", "Indexer routes used on Simple", and 4 Python pseudo-code blocks. Code blocks scroll horizontally without breaking page layout. as completed

marked the checklist item **1\.4 Agent Card: TimeCurve Simple — disclosure toggles open/closed\. Expanded view shows \"What this page shows\", \"Four podium rows\", \"High\-signal calls\", \"Play skills\", \"Canonical docs\", \"Indexer routes used on Simple\", and 4 Python pseudo\-code blocks\. Code blocks scroll horizontally without breaking page layout\.** as completed
nullvector_ux commented 2026-05-18 06:04:02 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.6 /timecurve/arena cold load — top header card shows "YOUR RANK", "YOUR BP", "YOUR STEALS TODAY: 0/3", "STEALS REFRESH IN: HH:MM:SS". Pre-launch gating copy "WarBow actions unlock when the sale is live" is visible. as completed

marked the checklist item **1\.6 /timecurve/arena cold load — top header card shows \"YOUR RANK\", \"YOUR BP\", \"YOUR STEALS TODAY: 0/3\", \"STEALS REFRESH IN: HH:MM:SS\"\. Pre\-launch gating copy \"WarBow actions unlock when the sale is live\" is visible\.** as completed
nullvector_ux commented 2026-05-18 06:04:36 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.7 Arena STEAL card copy mentions the 2×–10× Battle Points band explicitly (not the old "2× rule" phrasing). Empty-state line "No indexed in-band steal target yet (2×–10× your BP)" is present. as completed

marked the checklist item **1\.7 Arena STEAL card copy mentions the 2×–10× Battle Points band explicitly \(not the old \"2× rule\" phrasing\)\. Empty\-state line \"No indexed in\-band steal target yet \(2×–10× your BP\)\" is present\.** as completed
nullvector_ux commented 2026-05-18 06:05:05 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.8 Arena GUARD + REVENGE cards — Guard shows "Burn 10 CL8Y to reduce incoming steals by 90% for 6 hours", INACTIVE pill, "Activate guard" CTA. Revenge shows "No revenge available". as completed

marked the checklist item **1\.8 Arena GUARD \+ REVENGE cards — Guard shows \"Burn 10 CL8Y to reduce incoming steals by 90% for 6 hours\", INACTIVE pill, \"Activate guard\" CTA\. Revenge shows \"No revenge available\"\.** as completed
nullvector_ux commented 2026-05-18 06:06:54 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.9 /timecurve/protocol cold load — PRE-LAUNCH pill + "PROTOCOL VIEW" title. CONTRACT READS card shows: Sale Start LOCAL \+ UTC, Deadline LOCAL \+ UTC, Ended: false, TOTAL RAISE: 0 CL8Y / $0.00, Current Min/Max Buy: —, Current Price Per Charm Wad: 1, Prizes Distributed: false. "Refreshed every ~1.5s" copy visible. as completed

marked the checklist item **1\.9 /timecurve/protocol cold load — PRE\-LAUNCH pill \+ \"PROTOCOL VIEW\" title\. CONTRACT READS card shows: Sale Start \(LOCAL \+ UTC\), Deadline \(LOCAL \+ UTC\), Ended: false, TOTAL RAISE: 0 CL8Y / $0\.00, Current Min/Max Buy: —, Current Price Per Charm Wad: 1, Prizes Distributed: false\. \"Refreshed every ~1\.5s\" copy visible\.** as completed
nullvector_ux commented 2026-05-18 06:07:51 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.10 /timecurve/protocol IMMUTABLE PARAMETERS + WARBOW RULE CONSTANTS + INDEXER + OWNER + WIRED CONTRACTS + FEEROUTER SINKS cards all render with their respective constant tables filled in. Each card's "yellow dot" header indicator visible. as completed

marked the checklist item **1\.10 /timecurve/protocol IMMUTABLE PARAMETERS \+ WARBOW RULE CONSTANTS \+ INDEXER \+ OWNER \+ WIRED CONTRACTS \+ FEEROUTER SINKS cards all render with their respective constant tables filled in\. Each card's \"yellow dot\" header indicator visible\.** as completed
nullvector_ux commented 2026-05-18 06:08:58 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.11 /referrals cold load — page title "REFERRALS", "GUIDE NEW BUYERS THROUGH THE BURROW" banner with 4 info pills, "CLAIM YOUR GUIDE CODE" card with 1 CL8Y burn cost panel + new code input. Earnings card shows zero state for unregistered wallet. as completed

marked the checklist item **1\.11 /referrals cold load — page title \"REFERRALS\", \"GUIDE NEW BUYERS THROUGH THE BURROW\" banner with 4 info pills, \"CLAIM YOUR GUIDE CODE\" card with 1 CL8Y burn cost panel \+ new code input\. Earnings card shows zero state for unregistered wallet\.** as completed
nullvector_ux commented 2026-05-18 06:09:35 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.12 /referrals GUIDE LEADERBOARD — header tile shows codes registered count, recorded referral buys: 0, total guide CHARM: 0. Below: list of registered wallets, all ranked #1 (correct — tied at 0 CHARM, dense-rank #204 fix). Each row shows wallet pill + "1 onchain code registered" + "0 recorded buys with this referrer code". as completed

marked the checklist item **1\.12 /referrals GUIDE LEADERBOARD — header tile shows codes registered count, recorded referral buys: 0, total guide CHARM: 0\. Below: list of registered wallets, all ranked \#1 \(correct — tied at 0 CHARM, dense\-rank \#204 fix\)\. Each row shows wallet pill \+ \"1 onchain code registered\" \+ \"0 recorded buys with this referrer code\"\.** as completed
nullvector_ux commented 2026-05-18 09:39:38 +00:00 (Migrated from gitlab.com)

marked the checklist item 1.5 Bottom of /timecurve: "This build (env)" + "Resolved addresses" + Indexer status pill \"Indexer v1\.22\.0 · latest indexed block N · live\" + Canonical fee sinks card. Watch the indexer pill for 30 seconds — does the block number tick up? Does the "live" indicator stay green? as completed

marked the checklist item **1\.5 Bottom of /timecurve: \"This build \(env\)\" \+ \"Resolved addresses\" \+ Indexer status pill \(\"Indexer v1\.22\.0 · latest indexed block N · live\"\) \+ Canonical fee sinks card\. Watch the indexer pill for 30 seconds — does the block number tick up? Does the \"live\" indicator stay green?** as completed
nullvector_ux commented 2026-05-18 09:42:18 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.1 No horizontal scroll on any route at desktop / tablet / mobile widths unless an intentional wide artifact exists (Python code blocks in agent cards are the deliberate exception). as completed

marked the checklist item **2\.1 No horizontal scroll on any route at desktop / tablet / mobile widths unless an intentional wide artifact exists \(Python code blocks in agent cards are the deliberate exception\)\.** as completed
nullvector_ux commented 2026-05-18 09:43:57 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.2 /timecurve countdown card — verify "Stay on this page — it switches to Live automatically" copy is fully readable. The leprechaun + bunny illustration should not visually cross / overlap the text. as completed

marked the checklist item **2\.2 /timecurve countdown card — verify \"Stay on this page — it switches to Live automatically\" copy is fully readable\. The leprechaun \+ bunny illustration should not visually cross / overlap the text\.** as completed
nullvector_ux commented 2026-05-18 09:46:32 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.4 /timecurve/protocol LIVE BUYS card — pre-launch shows "Waiting for the first buy of this round." plus a large cream block below. Confirm the empty-state height is intentional matches design and not unreasonable dead whitespace. as completed

marked the checklist item **2\.4 /timecurve/protocol LIVE BUYS card — pre\-launch shows \"Waiting for the first buy of this round\.\" plus a large cream block below\. Confirm the empty\-state height is intentional \(matches design\) and not unreasonable dead whitespace\.** as completed
nullvector_ux commented 2026-05-18 10:00:30 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.6 Header wallet pill top\-right shows truncated address (e.g. dc79c8 or similar). Click the pill: wallet popover opens with avatar, full truncated address 0x70\.\.\.79C8 style, ETH balance, Copy Address, Disconnect. Verify the truncation pattern in the popover matches what's shown in the leaderboard own-row and elsewhere (same start/end character count). as completed

marked the checklist item **2\.6 Header wallet pill \(top\-right\) shows truncated address \(e\.g\. dc79c8 or similar\)\. Click the pill: wallet popover opens with avatar, full truncated address \(0x70\.\.\.79C8 style\), ETH balance, Copy Address, Disconnect\. Verify the truncation pattern in the popover matches what's shown in the leaderboard own\-row and elsewhere \(same start/end character count\)\.** as completed
nullvector_ux commented 2026-05-18 10:01:06 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.7 Header wallet popover positioning — when you click the wallet pill, does the popover anchor cleanly to the pill, or does it float at screen-center? Flag if positioning feels off. as completed

marked the checklist item **2\.7 Header wallet popover positioning — when you click the wallet pill, does the popover anchor cleanly to the pill, or does it float at screen\-center? Flag if positioning feels off\.** as completed
nullvector_ux commented 2026-05-18 10:01:29 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.8 Click the chain pill e\.g\. \"MegaETH\": a Switch Networks modal opens showing "MegaETH — Connected" with a green dot. ESC closes it. Outside click closes it. X button closes it. as completed

marked the checklist item **2\.8 Click the chain pill \(e\.g\. \"MegaETH\"\): a Switch Networks modal opens showing \"MegaETH — Connected\" with a green dot\. ESC closes it\. Outside click closes it\. X button closes it\.** as completed
nullvector_ux commented 2026-05-18 10:04:13 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.9 Cards, panels, and grids hold consistent gutters at every breakpoint. No collapsed columns, no stranded headings, no orphaned CTAs. as completed

marked the checklist item **2\.9 Cards, panels, and grids hold consistent gutters at every breakpoint\. No collapsed columns, no stranded headings, no orphaned CTAs\.** as completed
nullvector_ux commented 2026-05-18 10:05:04 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.10 Long addresses and numeric values wrap or truncate per design — no overflow pushing layout sideways. as completed

marked the checklist item **2\.10 Long addresses and numeric values wrap or truncate per design — no overflow pushing layout sideways\.** as completed
nullvector_ux commented 2026-05-18 10:05:21 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.11 Numerals countdown HH:MM:SS, steals refresh timer, leaderboard CHARM, address rows use stable digit widths — no jitter or layout flicker on tick. as completed

marked the checklist item **2\.11 Numerals \(countdown HH:MM:SS, steals refresh timer, leaderboard CHARM, address rows\) use stable digit widths — no jitter or layout flicker on tick\.** as completed
nullvector_ux commented 2026-05-18 10:05:48 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.12 Sticky header TimeCurve / Referrals tab nav \+ chain pill \+ wallet pill does not obscure content when scrolling long pages. as completed

marked the checklist item **2\.12 Sticky header \(TimeCurve / Referrals tab nav \+ chain pill \+ wallet pill\) does not obscure content when scrolling long pages\.** as completed
nullvector_ux commented 2026-05-18 10:07:11 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.14 Audio dock — Black Hills "Emerald Gate" or whatever track is playing — play / pause control affordance obvious, dock does not overlap leaderboard rows or primary CTAs on narrow widths. as completed

marked the checklist item **2\.14 Audio dock — Black Hills \"Emerald Gate\" or whatever track is playing — play / pause control affordance obvious, dock does not overlap leaderboard rows or primary CTAs on narrow widths\.** as completed
nullvector_ux commented 2026-05-18 10:07:13 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.13 Mobile viewport — header reflows correctly stacked tabs, not hamburger, audio dock visible, no horizontal scroll. Walk / and /referrals on mobile widths. as completed

marked the checklist item **2\.13 Mobile viewport — header reflows correctly \(stacked tabs, not hamburger\), audio dock visible, no horizontal scroll\. Walk / and /referrals on mobile widths\.** as completed
nullvector_ux commented 2026-05-18 10:07:49 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.15 Hover, default, disabled, and active button states are visually distinguishable. Disabled CTAs e\.g\. Activate guard pre\-launch, Submit finalizeWarbowPodium without owner wallet have a clear reason exposed nearby. as completed

marked the checklist item **2\.15 Hover, default, disabled, and active button states are visually distinguishable\. Disabled CTAs \(e\.g\. Activate guard pre\-launch, Submit finalizeWarbowPodium without owner wallet\) have a clear reason exposed nearby\.** as completed
nullvector_ux commented 2026-05-18 12:29:18 +00:00 (Migrated from gitlab.com)

For 2.5, if it is constantly refreshing/flickering and not settling into one stable state, then the final decision is:

Status: Fail

Because the checklist says it should render either:

Populated sinks list
or
“Waiting for FeeRouter address…”

But it should not flicker between both, and it should not stay unstable.

Use this QA note:

Checklist Item: 2.5
Section: /timecurve/protocol — FeeRouter Sinks / Reserve Fee Routing card
Status: Fail
Device/Viewport: Desktop
Wallet State: Connected / Not required
Steps: Opened /timecurve/protocol and observed the Reserve Fee Routing and wired contracts card for several seconds.
Expected Result: The card should settle into either the populated sinks list or the loading copy “Waiting for FeeRouter address…”. It should not flicker between states or stay unstable.
Actual Result: The card keeps refreshing/flickering and does not settle into a stable display.
Evidence: Observed during online test

image.png{width=897 height=423}

image.png{width=900 height=549}
Notes: This appears to be a UI/data-loading stability issue for the FeeRouter sinks card. both are few seconds apart taken

2.16 Failed--Any unknown route (e.g. /this-does-not-exist) — degrades to a branded under-construction / 404, not a raw error dump.

Findings: Just a blank page

image.png{width=900 height=460}

For **2.5**, if it is **constantly refreshing/flickering** and not settling into one stable state, then the final decision is: **Status:** **Fail** Because the checklist says it should render **either**: **Populated sinks list**\ or\ **“Waiting for FeeRouter address…”** But it should **not flicker between both**, and it should **not stay unstable**. Use this QA note: **Checklist Item:** 2.5\ **Section:** `/timecurve/protocol` — FeeRouter Sinks / Reserve Fee Routing card\ **Status:** Fail\ **Device/Viewport:** Desktop\ **Wallet State:** Connected / Not required\ **Steps:** Opened `/timecurve/protocol` and observed the Reserve Fee Routing and wired contracts card for several seconds.\ **Expected Result:** The card should settle into either the populated sinks list or the loading copy “Waiting for FeeRouter address…”. It should not flicker between states or stay unstable.\ **Actual Result:** The card keeps refreshing/flickering and does not settle into a stable display. \ **Evidence:** Observed during online test ![image.png](/uploads/3d2f3c26147adc610e1a2f20b433869e/image.png){width=897 height=423} ![image.png](/uploads/4f96fe939f6fafcbae0cb77fe3c92440/image.png){width=900 height=549}\ **Notes:** This appears to be a UI/data-loading stability issue for the FeeRouter sinks card. both are few seconds apart taken **2.16 Failed**--Any unknown route (e.g. `/this-does-not-exist`) — degrades to a branded under-construction / 404, not a raw error dump. Findings: Just a blank page ![image.png](/uploads/af5193c3550ead4aec7a4f9f43cb3545/image.png){width=900 height=460}
nullvector_ux commented 2026-05-18 14:41:12 +00:00 (Migrated from gitlab.com)

marked the checklist item 4.1 Walkable now. Cold load of /, /timecurve, /timecurve/arena, /timecurve/protocol, /referrals with browser console open — no severity-error storms. Warnings are OK; errors are findings. Note any errors with route + line. as completed

marked the checklist item **4\.1 Walkable now\. Cold load of /, /timecurve, /timecurve/arena, /timecurve/protocol, /referrals with browser console open — no severity\-error storms\. Warnings are OK; errors are findings\. Note any errors with route \+ line\.** as completed
nullvector_ux commented 2026-05-18 14:46:25 +00:00 (Migrated from gitlab.com)

marked the checklist item 4.2 Walkable now. Re-check console after each wallet connect, account switch, chain switch. as completed

marked the checklist item **4\.2 Walkable now\. Re\-check console after each wallet connect, account switch, chain switch\.** as completed
nullvector_ux commented 2026-05-18 14:50:47 +00:00 (Migrated from gitlab.com)

marked the checklist item 4.3 Walkable now. Force a wrong-network state and watch console + network tab — the page does not retry indefinitely against the wrong chain; reads should pause cleanly. as completed

marked the checklist item **4\.3 Walkable now\. Force a wrong\-network state and watch console \+ network tab — the page does not retry indefinitely against the wrong chain; reads should pause cleanly\.** as completed
nullvector_ux commented 2026-05-18 14:53:19 +00:00 (Migrated from gitlab.com)

marked the checklist item 4.4 Walkable now. Indexer hiccup simulation — open /timecurve on a flaky connection (or watch what happens during a brief network blip). The indexer pill should reflect the state honestly. No alarming banners. No full-page crash. as completed

marked the checklist item **4\.4 Walkable now\. Indexer hiccup simulation — open /timecurve on a flaky connection \(or watch what happens during a brief network blip\)\. The indexer pill should reflect the state honestly\. No alarming banners\. No full\-page crash\.** as completed
Brouie commented 2026-05-18 23:42:38 +00:00 (Migrated from gitlab.com)

mentioned in issue #214

mentioned in issue #214
Brouie commented 2026-05-19 00:01:21 +00:00 (Migrated from gitlab.com)

Re-walked §2.5 on production /timecurve/protocol — FeeRouter Sinks card holds the populated sinks list stable (DOUB/CL8Y LP 30%, CL8Y burned 40%, Podium 20%, Team 0%, Rabbit 10% with addresses). WIRED CONTRACTS card also holds all 5 addresses stable. No flicker observed across ~60s.

image.png{width=785 height=600}

Looks like edc5831 (keep last good RPC rows on TimeCurve protocol view) + b424099 (shared protocol reads context, cut duplicate RPC polling) + 8c19e44 (hold buy cooldown CTA across flaky nextBuyAllowedAt multicalls) landed the fix between nxlv's walk and now.

The SALE STATE card description now bakes the behavior into the UI: "Intermittent per-call multicall failures keep displaying the last successful row so sale state, total raise, live charts, and FeeRouter sinks do not flicker."

§2.5 reads PASS at current production state. Leaving the item ticked.

Re-walked §2.5 on production /timecurve/protocol — FeeRouter Sinks card holds the populated sinks list stable (DOUB/CL8Y LP 30%, CL8Y burned 40%, Podium 20%, Team 0%, Rabbit 10% with addresses). WIRED CONTRACTS card also holds all 5 addresses stable. No flicker observed across \~60s. ![image.png](/uploads/9d98b83385bd706caf352f64a1fb5a6e/image.png){width=785 height=600} Looks like edc5831 (keep last good RPC rows on TimeCurve protocol view) + b424099 (shared protocol reads context, cut duplicate RPC polling) + 8c19e44 (hold buy cooldown CTA across flaky nextBuyAllowedAt multicalls) landed the fix between nxlv's walk and now. The SALE STATE card description now bakes the behavior into the UI: "Intermittent per-call multicall failures keep displaying the last successful row so sale state, total raise, live charts, and FeeRouter sinks do not flicker." §2.5 reads PASS at current production state. Leaving the item ticked.
Brouie commented 2026-05-19 00:01:33 +00:00 (Migrated from gitlab.com)

marked the checklist item 2.5 /timecurve/protocol FEEROUTER SINKS / RESERVE FEE ROUTING card — confirm it renders either the populated sinks list DOUB/CL8Y LP 30%, CL8Y burned 40%, Podium pool 20%, Team 0%, Rabbit Treasury 10% with addresses or the loading copy "Waiting for FeeRouter address…" — not flickering between both, not stuck on the loading copy past a few seconds. as completed

marked the checklist item **2\.5 /timecurve/protocol FEEROUTER SINKS / RESERVE FEE ROUTING card — confirm it renders either the populated sinks list \(DOUB/CL8Y LP 30%, CL8Y burned 40%, Podium pool 20%, Team 0%, Rabbit Treasury 10% with addresses\) or the loading copy \"Waiting for FeeRouter address…\" — not flickering between both, not stuck on the loading copy past a few seconds\.** as completed
PlasticDigits (Migrated from gitlab.com) closed this issue 2026-05-20 04:12:07 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
code/yieldomega#212
No description provided.