fix: order book kPEPE price is being cut - #34845
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
Why no E2E tags are selected:
The unit tests added in the test file adequately cover the layout fix at the component level. Performance Test Selection: |
🧪 Flaky unit test detectionRun history flaky detectionHistorical failure rate is a hint, not proof — review each suggestion in context. See the flaky-test-detection skill for the full pattern reference and manual audit workflow. Failures / runs sampled per window:
AI-detected flaky patterns
|
|
Flaky-test detection triage:
|
|



Description
The Pro-mode order-book ladder cut the last digits off every price on low-priced markets: kPEPE
rendered
$0.0026…on all ten rows, so no level could be told apart and the book was unusable(TAT-3713).
The order-book column is a fixed 132px and each row split it into two equal halves, giving the
price 62px — one character short of the nine a sub-cent price needs (
$0.002645at the 1e-6grouping step). The price string itself was already correct, so nothing about precision changes
here: the value column, which is compacted to K/M/B/T and never needs its full half, now sizes to
its content and the price takes the remainder. The same split applies to the column headers,
which is why
Total (US…also reads in full again.Changelog
CHANGELOG entry: Fixed the Pro order book cutting off the last digits of prices on low-priced
markets
Related issues
Fixes: TAT-3713
Manual testing steps
Screenshots/Recordings
Pro order-book ladder on two sub-cent markets, before and after: prices no longer stop at "$0.0026…".
Pre-merge author checklist
Performance checks (if applicable)
Validated on the iOS simulator; the change is shared JS (flexbox width allocation) with no
platform-specific branch, and it adds no work to the render path.
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Validation Recipe
missing: 0). Run:
mm-harness run recipe.json --adapter mobile.recipe.json
{ "$schema": "https://farmslot.io/schemas/recipe-v1.schema.json", "title": "Pro order book shows complete ladder prices (TAT-3713)", "description": "Opens the Pro-mode order book for two sub-cent markets (kPEPE, PUMP) and proves each ladder row renders its full price instead of an ellipsised one, while the 6-decimal ladder precision is unchanged.", "workflow": { "entry": "setup-status", "nodes": { "setup-status": { "action": "app.status", "intent": "Confirm the mobile bridge is reachable before touching the trading screens", "next": "setup-unlock" }, "setup-unlock": { "action": "metamask.wallet.ensure_unlocked", "intent": "Reach an unlocked wallet so the Perps market screens can render", "next": "ac1-open-kpepe-market" }, "ac1-open-kpepe-market": { "action": "ui.navigate", "page": "perps-market", "market": "kPEPE", "mode": "pro", "timeout_ms": 45000, "intent": "Reach the kPEPE Pro trading screen reported in the ticket", "next": "ac1-wait-order-book-visible" }, "ac1-wait-order-book-visible": { "action": "ui.wait_for", "test_id": "perps-pro-market-order-book-panel", "expected": "visible", "timeout_ms": 30000, "intent": "The kPEPE order-book column occupies its place on the trading screen a trader looks at", "next": "ac1-wait-ladder-price" }, "ac1-wait-ladder-price": { "action": "ui.wait_for", "test_id": "perps-pro-market-order-book-panel-bid-row-0-price", "expected": "present", "timeout_ms": 30000, "intent": "The kPEPE ladder has a first bid row with a price for the reader to compare against the screenshot", "next": "ac1-screenshot-kpepe-ladder" }, "ac1-screenshot-kpepe-ladder": { "action": "ui.screenshot", "label": "AC1: kPEPE ladder prices readable end to end", "intent": "A trader reading the kPEPE order book sees every digit of each ladder price", "next": "ac2-open-pump-market" }, "ac2-open-pump-market": { "action": "ui.navigate", "page": "perps-market", "market": "PUMP", "mode": "pro", "timeout_ms": 45000, "intent": "Reach a second sub-cent market to show the ticket is not kPEPE-specific", "next": "ac2-wait-order-book-visible" }, "ac2-wait-order-book-visible": { "action": "ui.wait_for", "test_id": "perps-pro-market-order-book-panel", "expected": "visible", "timeout_ms": 30000, "intent": "The PUMP order-book column occupies its place on the trading screen a trader looks at", "next": "ac2-wait-ladder-price" }, "ac2-wait-ladder-price": { "action": "ui.wait_for", "test_id": "perps-pro-market-order-book-panel-bid-row-0-price", "expected": "present", "timeout_ms": 30000, "intent": "The PUMP ladder has a first bid row with a price for the reader to compare against the screenshot", "next": "ac2-screenshot-pump-ladder" }, "ac2-screenshot-pump-ladder": { "action": "ui.screenshot", "label": "AC2: PUMP ladder prices readable end to end", "intent": "A trader reading the PUMP order book sees every digit of each ladder price", "next": "ac3-run-panel-tests" }, "ac3-run-panel-tests": { "action": "command", "timeout_ms": 600000, "intent": "Exercise the order-book panel unit suite that pins the ladder price text and its column allocation", "next": "ac3-assert-panel-tests" }, "ac3-assert-panel-tests": { "action": "assert_exit_code", "source": "ac3-run-panel-tests", "expected": 0, "intent": "Prove the ladder still renders full 6-decimal prices and no longer squeezes them into half the column", "next": "ac3-index-test-log" }, "ac3-index-test-log": { "action": "index_artifacts", "artifacts": [ { "type": "log", "category": "evidence", "label": "AC3: order-book panel unit suite output" } ], "intent": "Register the unit-suite output as the state evidence for the unchanged price text", "next": "teardown-done" }, "teardown-done": { "action": "end", "status": "pass" } } } }Recipe Workflow
workflow.mmd
Note
Cursor Bugbot is generating a summary for commit 1e2c3e1. Configure here.