Skip to content

feat: 勾选后价格实时刷新(WebSocket 推送 + 轮询兜底) - #2

Draft
patrick-eu wants to merge 3 commits into
mainfrom
worktree-live-price-refresh
Draft

patrick-eu wants to merge 3 commits into
mainfrom
worktree-live-price-refresh

Conversation

@patrick-eu

@patrick-eu patrick-eu commented Jul 4, 2026

Copy link
Copy Markdown
Owner

问题

勾选 bin 后价格被锁定:recompute() 只在勾选/切方向/改份额时触发,且 book 有 30s 缓存。真实订单簿变动后面板不知道,要刷新整页才能跟上。

修法

  • WebSocket 实时推送:订阅 CLOB market 频道(勾选 bin × 当前方向的 token),订单簿一变即更新价格/总花费/盈亏判定,250ms 防抖合并连发推送
  • book 快照直接入缓存(与 REST /book 同构);price_change 等事件标脏后 REST 重取,不做增量合并
  • 勾选集/方向变化 → 重连对齐订阅集(该频道只支持连接时订阅一次);每 10s PING 保活
  • 10s 轮询降级为兜底:仅 WS 掉线/未连上时启用,并借道 syncWS() 自动重连
  • submitLeg 填限价时强制取最新 book,避免用缓存价挂偏
  • 面板销毁时关 WS、清定时器

验证

  • node --check content.js 通过
  • clob.test.js / cost.test.js 全部 PASS

🤖 Generated with Claude Code

PolyBatch Dev and others added 2 commits July 4, 2026 08:33
勾选 bin 后价格不再冻结:recompute/bookFor 增加 fresh 参数,
每 10 秒强制拉新订单簿重算(下单中暂停轮询),无需刷新整页。
submitLeg 填限价时也强制取最新 book,避免用 30s 缓存价挂偏。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
订阅 CLOB market 频道(勾选 bin × 当前方向的 token):
book 快照直接入缓存,price_change 等事件标脏后 REST 重取,
250ms 防抖合并连发推送。订阅集变化即重连,掉线由兜底轮询自愈。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@patrick-eu patrick-eu changed the title feat: 勾选后价格实时刷新(10s 轮询订单簿) feat: 勾选后价格实时刷新(WebSocket 推送 + 轮询兜底) Jul 4, 2026
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant