agent-Specialization/static
JOJO 4807c0b9f1 fix(frontend): 重构堆叠块高度引擎,根治鬼畜抖动并统一动画
StackedBlocks 旧实现每帧用 getBoundingClientRect 读正在过渡的块高度,
叠加 360ms runSync 轮询 + ResizeObserver + animateMoreToggle 三个驱动源
互相触发,形成不收敛的测量-回写反馈环 = 高频上下抽搐;且新块出现/展开
收起无外框动画(瞬间赋值且无 transition)。

高度引擎重构:
- 改测真实 DOM 稳定值(header.offsetHeight + content-inner.offsetHeight
  + border)算每块高度。content-inner 自身高度不受父级 collapsible-content
  的 max-height 过渡/overflow 裁切影响,是稳定目标态值,杜绝读动画中间帧。
- 删除 runSync 轮询、animateMoreToggle JS lerp、逐帧 getBoundingClientRect。
  measureAndCompute 仅在状态变化时测一次。
- ResizeObserver 只观察 content-inner(流式增长源),不观察被 transition 的
  元素,断开写→RO→写回环。
- shell/viewport/inner 三者同一条 height/transform 260ms transition 同步过渡,
  外框增高、传送带上移、展开收起、收起裁切全平滑。

单块路径统一(修 1→2 块重建鬼畜):
- splitActionGroups 阈值 >=2 改 >=1,单个 thinking/tool 也走 StackedBlocks,
  消除 single↔stack 路径整体切换导致的组件重新挂载(表现为外框瞬间塌扁再展开)。
- 单块用 isSingle + .stacked-shell--single 还原原 single 外观(12px 圆角+透明底)。

首次/后续进场动画区分:
- ChatArea 传 conversation-running + is-latest-message。
- animated(运行中+最新) 控 TransitionGroup :appear/:css(块进场动画);
  ready(首次 measure 后一次性) 控 shell/viewport/inner/collapsible-content
  的 transition:初始挂载/历史批量加载高度直接到位不跳动,之后启用使展开/
  收起在历史对话里也平滑。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 10:05:28 +08:00
..
admin_api feat: add api admin ui and container status fix 2026-01-25 10:49:52 +08:00
admin_dashboard fix: repair admin monitor auth and add invite CRUD 2026-04-07 18:23:09 +08:00
admin_policy feat: polish admin policy UI and tool selection 2026-01-05 13:34:00 +08:00
custom_tools feat: add custom tools guide and id validation 2026-01-05 21:46:55 +08:00
demo refactor: remove run_python tool, consolidate all execution to run_command 2026-06-07 16:23:01 +08:00
easter-eggs feat: modularize easter egg effects 2025-11-22 13:07:54 +08:00
file_manager chore: snapshot before usage menu update 2025-11-24 00:47:17 +08:00
icons feat: 添加语音输入按钮,位于发送按钮左侧 2026-06-08 14:14:19 +08:00
liquid-glass-demo feat: stable version before virtual monitor timing fix 2025-12-13 17:12:12 +08:00
logo feat: 整合test/agents功能并更新配置 2026-04-13 17:47:19 +08:00
old_version_backup feat: modularize frontend layout 2025-11-25 22:41:15 +08:00
src fix(frontend): 重构堆叠块高度引擎,根治鬼畜抖动并统一动画 2026-06-09 10:05:28 +08:00
vendor chore: initial import 2025-11-14 16:44:12 +08:00
debug-theme.html chore: snapshot current changes 2026-03-10 23:48:40 +08:00
index.html fix: 修复代码块复制、事件去重、任务结束、停止按钮bug 2026-04-04 01:03:06 +08:00
liquid-glass-demo.html feat: stable version before virtual monitor timing fix 2025-12-13 17:12:12 +08:00
liquid-glass-kube.html feat: stable version before virtual monitor timing fix 2025-12-13 17:12:12 +08:00
login.html fix: migrate auth pages to vue and bump android app to 1.0.17 2026-04-07 12:38:45 +08:00
mobile-overlay-demo.html feat: improve mobile overlays and focus panel 2025-11-26 23:50:57 +08:00
mobile-overlay-fab.html feat: improve mobile overlays and focus panel 2025-11-26 23:50:57 +08:00
register.html fix: migrate auth pages to vue and bump android app to 1.0.17 2026-04-07 12:38:45 +08:00
resource_busy.html feat: containerize terminals and add resource controls 2025-11-23 18:49:35 +08:00
security.js chore: snapshot before usage menu update 2025-11-24 00:47:17 +08:00
style.css chore: drop legacy css fallback 2025-11-25 21:15:32 +08:00
terminal.html fix: stabilize conversation loading 2025-11-29 23:13:11 +08:00
voice_test.html feat: 添加语音输入按钮,位于发送按钮左侧 2026-06-08 14:14:19 +08:00