Skip to content
This repository was archived by the owner on Jul 6, 2026. It is now read-only.

v1.0.1 — Team Review Polish

Choose a tag to compare

@ar-gen-tin ar-gen-tin released this 18 Mar 03:52

odds v1.0.1

8-agent parallel code review — 18 issues fixed across security, design, UX, and code quality.

Critical Fixes

  • NSCursor stack corruption — hover on rows without tap handler would corrupt cursor state
  • Timer thread safety — search typing indicator mutated @State off main thread
  • Silent add failure — search results showed success checkmark even when add was rejected

Design Improvements

  • WCAG AA contrasttext3 lightened from #3D3D50 to #52526A (~3.5:1 ratio)
  • Column alignment — header and row columns now share theme tokens, stay aligned when sparklines toggled
  • Spacing system — ExpandedAreaView padding aligned to 12px system
  • Unused tokens removedlimeDim, redDim, footerSmall, buttonSmall cleaned up

Code Quality

  • Unified API parser — merged duplicate eventToMarket/parseEventDict into single parseEvent
  • @mainactor on MarketStore — compile-time enforcement of main-thread mutations
  • Removed duplicate formatDelta — consolidated to Fmt.delta()
  • DateFormatter cached — no longer recreated on every settings render

UX Polish

  • Full i18n coverage — empty states, footer "NO DATA" now localized (EN/中/日)
  • Footer ticker deduplication — watchlist items no longer appear twice in ticker
  • searchError clears properly — error message dismisses when query shortened