 
|
ab98f63692
|
fix(HEL-540): 星港中枢返工——去除每帧DOM重建、修复事件风暴节流
- syncUI 不再在幕次未变化时每帧调用 renderCabin,也不再每帧无条件 Detail.reopen;
仅在幕次切换(数据驱动的 idx 变化)时重建 #cabin,同幕内容更新交给既有的
Views.onChange(真实数据变化时才刷新),彻底避免正在点击/输入/聚焦的节点被
60fps 循环整体替换。
- reserveGlobalSlot 排队延迟起点改为基于「倒数第 GLOBAL_CAP 个已排队起点」
递增计算,而不是只锚定队首,修复事件风暴下多簇延迟起点挤在同一时间段、
导致任意1秒窗口新起簇数远超3的问题。
自测(本地 127.0.0.1,真实 Hub 后端 + Playwright/Chromium 真实鼠标事件):
- python -m pytest xiaobai-datahub/tests:133/133 通过
- node --check xiaobai-datahub/admin/app.js:通过
- git diff --check:无尾随空白
- 控制舱按钮连续 8 次真实点击:0 次失败(此前 0 次命中)
- 数据源“探测一次”连续 6 次点击:产生 6 次真实 POST(此前 0 个)
- 盘后发布日期输入 20991231:保持 2 秒以上未被重置,值仍为 20991231
- 10 个并发 pollSources() 事件风暴复测:共 29 簇,任意滚动1秒窗口最大新起簇数 = 3(此前最多 20)
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
|
2026-09-13 12:50:11 +08:00 |
|
 
|
475ed4a872
|
feat(HEL-540): 数据中枢后台升级为「第八版·星港中枢」全动效单页
- 用 Canvas 2D 自写透视投影重写 Stage 引擎:中央自转星体 + 4 颗来源卫星
(tushare/东方财富/腾讯/iFinD)沿 2 层完整椭圆轨道环绕,4 条入向线 +
2 条去向线(发布/审计),卫星名称与 LINK/ACT 双灯始终最上层、常显不隐
- 落地 HEL-538 安全盒硬公式:x0=cabinW+24,x1=W-24,y0=64,y1=H-118,
世界坐标统一钳制在 ±1.28(横)×±0.6656(纵),去向端半径 1.25
- 全屏无卡片舞台:#stageWrap 去边框/圆角/阴影,改为通栏
- LINK=稳态常亮,ACT=事件驱动短闪(tushare recent_calls / 健康探测 /
批次与发布状态变化),全局令牌桶 ≤3 簇/秒,四源独立队列
- 页面隐藏暂停 rAF + 清空未播闪簇、恢复不补播;prefers-reduced-motion
运行时 change 监听(非只读一次);静态版同步换成星体+双轨道示意图
- 识别色只复用既有设计 Token --chan1..4,未新增配色系统
- 修正审计尾迹角度/半径范围使其构造性落在安全盒硬包络内
- 修正 drawAuditTrail 误将完整 hex 色值当 rgba 前缀拼接导致
addColorStop 抛错的运行时 bug(day 主题下必现)
自测:node --check 通过;三档(1440x900/1280x800/1024x768)×日夜安全盒
数学自测脚本全通过(S 命中 427/380/291);Playwright 真浏览器起本地
测试服务端验证:六幕滚动、详情开合、隐藏/恢复暂停与续播、
prefers-reduced-motion 运行时切换、真实 probe 事件驱动 ACT、
60 秒连续运行无 DOM 增长/无 console 报错;xiaobai-datahub/tests/
133 个后端测试全绿;git diff --check 无空白问题。
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
|
2026-09-13 11:56:54 +08:00 |
|
 
|
be647bbaba
|
feat(HEL-529): 数据中枢后台改造为「第七版·轨道机芯」全动效单页
按已通过样图(HEL-527,白栖知“按照这个试试吧”)重做 xiaobai-datahub
管理后台(8766/admin/),仅改 admin/index.html、admin/styles.css、
admin/app.js 三个文件,零新依赖、不改构建流程、不触碰 datahub/ 后端、
Docker/Compose、8765 主站与冻结区“问天”。
核心实现:
- 单个 76vh sticky 空间舞台(#stageWrap,position: sticky 钉在视口),
#track 六段 130vh 透明占位撑高文档、驱动滚动进度,舞台本体在滚动期间
保持不动,直到六幕滚完才随之离场。
- 一枚持续旋转的 3D 数据机芯(canvas 2D 手工透视投影,无 WebGL/新依赖),
六幕分别对应总览/数据源/调度任务/盘后发布/数据集/审计,切换幕时机芯
换面/爆炸展开/合拢,4 条数据流通道持续汇入机芯。
- A2 路由式 LINK/ACT 双灯:LINK 是稳态真实连通性(取自 /admin/api/sources
健康探测结果,仅 tushare/eastmoney/tencent/ifind 四路可流动,ths/xgb/
akshare 属永久预留源,不参与流动动画);ACT 严格由真实事件驱动——
tushare 靠 recent_calls 增量 diff,其余三源靠健康探测“探测动作本身
就是一次真实网络调用”,手动“探测一次”按钮同样触发真实后端请求
(已用真实浏览器验证会打到 /admin/api/sources/<provider>/probe)。
同源事件簇最多闪 3 次,全站闪烁令牌桶限流 ≤3 簇/秒,各源不共享时钟。
- 动效令牌统一:进出用强 ease-out,屏内位移用强 ease-in-out,持续流动用
linear;全文件禁止 ease-in、禁止 transition: all。
- prefers-reduced-motion:静态六幕面板(StaticShell)与动效版共用同一套
cabin/detail/bind 渲染函数,信息与交互完全对等,媒体查询变化时可不
刷新页面实时切换;系统级 CSS 兜底同样生效。
- 页面隐藏 / 断网即暂停所有轮询与 rAF 循环、清空未播闪烁队列,恢复时
只静默重建基线、不补播错过的事件。
- 保留原有登录/改密/登出、数据源探测、任务重跑、盘后发布二次确认
(密码+确认词)、回滚/补数等全部后端接口调用与危险操作确认流程。
自测(均在本地临时环境完成,未连接生产库/生产网络):
- `python -m unittest discover -s xiaobai-datahub/tests -v`:133 项全过。
- `node --check xiaobai-datahub/admin/app.js`:语法通过。
- `git diff --check`:无空白/换行问题;`git status`:仅上述 3 个文件改动。
- 起本地 datahub 服务 + Playwright 真实无头浏览器,22 项端到端断言全过:
画面渲染、六幕滚动到底/导航跳转、日夜切换、机芯点击开合详情、后台
切换(RAF 真停)、断网/恢复、reduced-motion 实时切换、探测按钮触发
真实后端调用等。过程中定位并修复两处真实缺陷:
1) #stageWrap 原为 position: relative,未真正钉住舞台,滚动时机芯会
随页面滚走——已改为 sticky,现验证滚动任意距离机芯位置不变。
2) 点击机芯打开详情硬编码成“数据源”,已改为按当前所在幕动态选择。
另外补上了此前遗漏的 #phase 幕序指示(如“3 / 6”),静态版切幕同步
更新顶部 crumb/phase。
未覆盖:未在 1440/1280/1024 三档做像素级视觉走查(仅验证 1024 无横向
溢出),未做真实弱网/高延迟环境下的手动观察,只做了断网模拟。
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
|
2026-09-12 23:35:51 +08:00 |
|
 
|
c8a9376adb
|
fix(HEL-490): 真实装配接通中枢并收编估值晚间复核
把 query/行情钩子绑到内层 TushareClient,图表接受不完整日K窗口;收编现网 HEL-423 未提交的估值复核,避免换版丢掉。
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
|
2026-09-08 15:03:34 +08:00 |
|
 
|
75c2e33b68
|
fix(HEL-461): CLI/后台强制重发改为整组边界切换
eod-refresh --force 与管理后台补数不再单数据集发布,
统一走 force_republish_boundary,避免绕过 A/B 完整边界。
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
|
2026-09-05 11:26:27 +08:00 |
|
 总工andmultica-agent
|
c9892050c3
|
feat(HEL-435): 盘后未出数时晚间自动重试并提供安全补跑
Co-authored-by: multica-agent <github@multica.ai>
|
2026-09-03 22:30:15 +08:00 |
|
 
|
3498dd7a4b
|
feat(HEL-382): 搭建 datahub 底座和盘后正式数据链路
新增独立 xiaobai-datahub 服务(SQLite WAL、Tushare 盘后发布、/v1 契约和管理后台),不改现站页面与数据链路。
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
|
2026-09-02 12:05:26 +08:00 |
|