A stray montzar tick landed in the prices table, which stores no source, so
the database_last fallback served a ~168M quote on a shop whose Zaarbox board
was at ~217M. Last price and today's high/low now come from price_sync_logs
filtered by price_provider, the database fallback no longer counts as today's
price, and daily extremes reset when the provider changes.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stored DB prices were treated as live quotes, and SuperAdmin overlay overwrote tenant keys like trading hours. Keep overlay to the 14 access flags and hide fallback prices when the panel says so.
Co-authored-by: Cursor <cursoragent@cursor.com>
Recompute home price display on save, broadcast settings over SSE, and keep last-price status in sync without a user refresh.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use trading_hours_by_day for close_price gates, prefer public SuperAdmin fetch, and add refresh endpoint/command so stale last-good cache no longer keeps switches like enable_automation off.
Co-authored-by: Cursor <cursoragent@cursor.com>
Alerts now bind to a product_id and share one evaluator; displayed gold within a rounding step discharges the full wallet.
Co-authored-by: Cursor <cursoragent@cursor.com>
Honor enable_customer_level_profit for order referral payouts, and tighten support-chat webhook/SMS plus SuperAdmin SMS panel sync settings.
Co-authored-by: Cursor <cursoragent@cursor.com>