Skip to content

v0.9.3

Choose a tag to compare

@github-actions github-actions released this 31 Jul 09:17
· 1015 commits to main since this release

相比 v0.9.2 的变更 / Changes since v0.9.2

✨ 新功能 / Features

  • 指标选择器三种视图 — 指标选择器新增「按位置 / 简洁 / 按类型」三种视图 Tab,可按主副图、紧凑网格或业务类型(均线类、趋势类、动量类、波动率类、通道类、成交量类、支撑阻力类、市场结构类等)分组浏览,并支持主/副图徽标标识
    Categorized Indicator Selector — The indicator selector adds three view tabs (position / compact / type), grouping indicators by pane, compact grid, or business type (moving-average, trend, momentum, volatility, channel, volume, support-resistance, structure, etc.), with main/sub-pane badges
  • 指标用途说明弹窗 — 无参数指标新增「?」说明按钮,点击弹出指标用途说明;补齐 MA 描述,修复 VP/ChaikinVol 的 UI 元数据键
    Indicator Usage Info Popup — Param-less indicators now show an info button that opens a modal with the usage description; filled in the missing MA description and fixed VP/ChaikinVol metadata keys
  • 市场感知的品种交易时段 — 强制符号、搜索结果、缓存、semantic 配置中的市场身份归一化;每个图表实例独立维护 session 注册表,正确路由 gotdx 港股分时数据,并防止不受支持的搜索结果污染有效数据
    Market-Aware Symbol Sessions — Require normalized market identity across symbols, search results, caches, and semantic config; add per-chart session registries and route gotdx Hong Kong time-share data without letting unsupported search rows poison valid results
  • 品种错误圆角标签 — 品种 chip 上的获取失败以药丸形标签展示警告图标与失败原因,溢出省略并保留原生 title
    Symbol Fetch Error Rounded Tag — Fetch failures render as a pill-shaped tag on the symbol chip with warning icon and failure reason, ellipsis overflow, and native title
  • 品种错误原因标题 — DataBuffer 记录显式 Effect 失败的最后错误,暴露 chart dataError,作为 SymbolSelector 原生 title 展示
    Fetch Error Reason Title — Record DataBuffer lastError on explicit failures, expose chart dataError, and use it as the SymbolSelector native title

🏗️ 架构与重构 / Architecture & Refactoring

  • 移除默认品种兜底 — 品种选择器不再内置硬编码 DEFAULT_SYMBOLS,完全依赖 controller 的 symbolCatalog 信号从注册数据源获取
    Remove DEFAULT_SYMBOLS Fallback — The symbol selector no longer ships hardcoded default symbols, relying entirely on the controller's symbolCatalog signal from registered data sources

🐛 Bug 修复 / Fixes

  • 分时不伪造成交指标 — TimeShareData.volume/amount 改为可选字段,gotdx 适配器不再用 Price×Vol 伪造成交额;量柱区域仅在有 volume 时保留 25% 空间
    Stop Synthesizing Timeshare Metrics — volume/amount made optional; the gotdx adapter no longer fabricates turnover from Price×Vol; the volume band keeps 25% pane space only when volume exists
  • 分时手数与细线 — 分时图例补充「手」单位,价格/均价线按 1px 逻辑宽度绘制(DPR 缩放后不再粗于指标线)
    Timeshare Volume Hands & Thin Lines — Append 手 to the volume text and render price/average lines at 1px logical width
  • 分时按会话时间戳映射点位 — 分时点按交易会话时间戳正确映射,新增 sessionTimeLabels 工具
    Map Points by Session Timestamp — Map time-share points by session timestamp with a new sessionTimeLabels utility
  • 透传历史分时接口错误 — gotdx history-tick HTTP 失败时透传后端错误体并记录 lastError,例如「该日期暂无历史分时数据」,成功重载后清除
    Surface History-Tick API Errors — Propagate backend error bodies from history-tick failures and record them as lastError, e.g. 「该日期暂无历史分时数据」, cleared on successful reload
  • 保留原始错误消息 — Effect.tryPromise 改用 { try, catch } 重载,避免默认 UnknownException 吞掉原始 Error/KLineChartError 消息
    Preserve Original Error Messages — Switch Effect.tryPromise to the { try, catch } overload so Error/KLineChartError instances survive unwrapped
  • 空 K 线响应降级为警告 — 空数据(如 gotdx 无该 ETF 历史)是合法响应,从 Effect.fail 降级为 logWarning,图表渲染空而非拒绝请求;chip 显示「暂无K线数据」
    Empty K-line as Warning — Treat empty data as a valid response downgraded from Effect.fail to logWarning; the chart renders empty and the chip shows 「暂无K线数据」
  • 搜索命中展示与拦截 — gotdx 返回无市场会话的交易所(如 EX-0、FUTURES)不再整体搜索失败,行以空市场展示,选中时提示「暂不支持该品种」
    Show Unmapped Search Hits — Search no longer fails on exchanges without a market session; rows list with empty market and selection surfaces 「暂不支持该品种」
  • FUND 搜索结果映射 CN 市场 — 纯基金查询(如「国泰中」)返回的 exchange=FUND 行映射到 CN 市场,修复成功响应却显示「搜索失败」的问题
    Map FUND Search Hits to CN — Map mainland fund/money extended exchanges to CN so pure fund queries no longer throw on a successful API response
  • 错误标签始终显示文本 — dataError 为空时兜底「加载失败」,防止胶囊标签在 flex 约束下塌缩为纯图标
    Always Show Tag Text — Fall back to 「加载失败」 when dataError is empty and keep the pill from collapsing to icon-only
  • 暗色网格对比度 — 提升暗色主题网格线对比度 / Dark Grid Contrast — Improve grid line contrast in dark theme

📚 文档 / Documentation

  • 数据源后端文档:AGENTS.md 记录 stockbao(BaoStock FastAPI)与 KlineChartQuantGo(gotdx + 加密所)的启动与代理配置
    Backend Docs — Document stockbao and KlineChartQuantGo backends (startup and proxy config) in AGENTS.md
  • 注释风格规范:统一为中文注释约定 / Comment Style — Update comment style to Chinese conventions