Skip to content

fix(chat): video bubble UX defects + active-model overlay#56

Merged
panwudi merged 1 commit into
mainfrom
fix/chat-video-ui-polish
Jun 10, 2026
Merged

fix(chat): video bubble UX defects + active-model overlay#56
panwudi merged 1 commit into
mainfrom
fix/chat-video-ui-polish

Conversation

@panwudi

@panwudi panwudi commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Defects from the owner's first live use of in-chat video generation (#55): phantom streaming placeholder bubble (isStreaming misuse -> videoSubmitting debounce; input stays usable, prompts queue), raw i18n keys on cached bundles (literal fallback), video model not shown as loaded while generating (status endpoints overlay job-manager live state), plus a cancel button and interrupted-on-reload handling.

Note: the owner's test job actually COMPLETED server-side in 120s; only the UI presentation failed.

Test plan: 82 targeted tests pass (video routes/manager + server); imports verified; live verification on m5max after deploy.

Self-merge under the same in-session owner authorization (#53-#55 feature mandate); owner explicitly green-lit deploy.


owner 首次实测聊天内视频暴露的缺陷 (#55 后续): 幽灵流式占位气泡
(isStreaming 误用 -> videoSubmitting 防抖, 输入框保持可用), 缓存 i18n
显示原始键 (字面回退), 生成中模型未显示为加载 (状态接口叠加 job manager
实时状态), 另加取消键与刷新中断处理. owner 的测试任务服务端实际 120 秒
完成, 只是界面呈现失败. 依同一授权自助合并, owner 已明确放行部署.

Three defects from the first live use of in-chat video generation:

- The global streaming placeholder bubble appeared alongside the video
  progress bubble: generateVideo reused isStreaming, which drives that
  placeholder and disables the input. Video jobs now use a lightweight
  videoSubmitting debounce instead -- the input stays usable and more
  prompts can be queued while one renders.
- Raw i18n keys (chat.video.generating) showed when the browser served
  a cached i18n bundle; tVideo() falls back to literal English text.
- Model status surfaces reported the video model as not loaded while
  its worker was generating: video entries are never pool-loaded, so
  /v1/models/status and admin /api/models now overlay the job
  manager's live state (loaded + video_generating flags).

Also: cancel button on the progress bubble (DELETE the job), and
reloaded chats mark in-flight video bubbles interrupted instead of
spinning forever.

---

聊天内视频首次实测暴露的三个缺陷:

- 全局流式占位气泡与视频进度气泡同时出现: generateVideo 误用了
  isStreaming (它驱动占位气泡并锁输入框). 改用轻量 videoSubmitting
  防抖 -- 输入框保持可用, 渲染中可继续排队新提示词.
- 浏览器缓存旧 i18n 包时显示原始键名; tVideo() 提供英文字面回退.
- 模型状态接口把生成中的视频模型报为未加载: 视频条目永不进 pool,
  /v1/models/status 与 admin /api/models 现叠加 job manager 实时状态.

另: 进度气泡加取消键 (DELETE job); 刷新后的会话把进行中的视频气泡
标记为 interrupted, 不再永久转圈.
@panwudi panwudi merged commit 32c1968 into main Jun 10, 2026
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