You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Multi-day timeshare protocol: Adds fetchTimeShareRange, multi-day request/response DTOs, and TimeShareRangeCapability for querying timeshare data by end trading date and trading-day count.
Multi-day timeshare storage: Adds immutable TimeShareRangeStore, TimeShareDay, and TimeShareRange models that retain each day's tradingDate, preClose, and points while deriving the existing flat render projection.
Timeshare range capabilities: Providers, sources, and instruments can declare timeShareRange.maxTradingDays, allowing the UI to expose multi-day timeshare only when supported.
Comparison legend instrument names: Comparison legend rows show the symbol and instrument name, such as 601360 三六零, and expose the name to external legend slots.
🐛 Bug 修复 / Fixes
分时状态与重绘同步: 修复分时数据、昨收基准与图表重绘没有同步更新的问题。
Timeshare state and redraw synchronization: Fixes timeshare data, previous-close baselines, and chart redraws becoming out of sync.
Timeshare inline-data baseline: TimeShareBuffer.setInlineData now writes data and the previous close together, preventing reuse of a previous range's baseline.
比较视图 K 线叠加元素: 比较视图隐藏最新价虚线以及 O/H/L/C/Vol 图例行,避免为归一化比较序列展示无意义的主 K 线数据。
K-line overlays in comparison view: Hides the latest-price dashed line and O/H/L/C/Vol legend row so normalized comparison series do not display irrelevant primary K-line data.
Vue library build externals: Uses Vite 8 rolldownOptions.external to mark Core and Vue dependencies as external, fixing Rolldown resolution of the Core market-data subpath.
Remove the legacy Fetcher compatibility layer: Chart runtime now loads K-line and timeshare data exclusively through MarketDataProvider and SourceRouter; legacy registries, routers, adapters, and Fetcher implementations are removed.
破坏性 API 变更: 移除 dataFetcher、setDataFetcher、routerDataFetcher 及相关 Fetcher 导出;迁移至 MarketDataProvider。
Breaking API change: Removes dataFetcher, setDataFetcher, routerDataFetcher, and related Fetcher exports; migrate to MarketDataProvider.
Atomic data snapshots: Active Buffer switches publish key, data, loading, range, and previous close together through applyActiveBufferSnapshot, eliminating transient inconsistencies from field-level writes.
Buffer contract consolidation: Removes setInlineData from shared DataBufferLike; K-line and timeshare Buffers now define their own structured write contracts, with an explicit null-key snapshot for no active Buffer.
De-versioned protocol naming: Renames Transport, Provider Factory, and rejection-code types/factories from V1 to generic names; V1 remains only for wire metadata, protocol versions, and /api/v1 paths.
Reuse domain capability models: Protocol models now reuse domain InstrumentCapabilities and related capability types, reducing duplicate structures and cross-layer conversions.
Framework binding cleanup: Vue, React, Angular, Web Component, Electron, and AI runtime remove legacy Fetcher controller fields, mocks, and exports to align with the unified Provider contract.
Latest-price line mode projection: Registers the latest-price dashed line as an @Indicator; dataViews: ['kline'] and the system mode instance now control layer visibility.
Multi-day timeshare and state design docs: Adds design decisions for multi-day timeshare storage, timeshare StateKernel ownership, and legacy Fetcher removal.