Skip to content

fix(studio): fix interaction bugs across multiple pages#179

Closed
Narcooo wants to merge 1 commit intomasterfrom
fix/studio-interaction-polish
Closed

fix(studio): fix interaction bugs across multiple pages#179
Narcooo wants to merge 1 commit intomasterfrom
fix/studio-interaction-polish

Conversation

@Narcooo
Copy link
Copy Markdown
Owner

@Narcooo Narcooo commented Apr 12, 2026

Summary

  • QuickCommand race condition — 快捷命令按钮点击后实际不执行(setInputhandleSubmit 读到空状态),改为直接执行命令逻辑
  • MessageBubble key collision — 同毫秒内多条消息 key 碰撞导致渲染异常,改用 index 后缀
  • 错误处理缺失 — Dashboard write-next、BookDetail approve/reject/audit 行按钮、ChapterReader approve/reject 都没有 try/catch,错误被静默吞掉
  • handleApproveAll 串行 + 无容错 — 改用 Promise.allSettled 并行执行,单个失败不阻断其余
  • GenreManager 用 window.confirm — 替换为 ConfirmDialog 统一交互风格;raw fetch 改为 fetchJson
  • BookDetail Nav 类型断言 hacktoTruth 加入接口定义,移除 as 强转
  • 通知铃铛死按钮 — 有红点但无点击行为,移除避免误导

Test plan

  • pnpm --filter @actalk/inkos-studio test — 55/55 pass
  • Vite client build — pass
  • Server TS error is pre-existing (resyncChapterArtifacts), not introduced by this PR

- Fix QuickCommand race condition: commands were silently failing because
  handleSubmit read stale state. Now executes the command directly.
- Fix MessageBubble key collision: use index-suffixed keys to prevent
  React rendering issues when messages arrive in the same millisecond.
- Add missing error handling to Dashboard write-next, BookDetail
  approve/reject/audit inline buttons, and ChapterReader approve/reject.
- Fix handleApproveAll: use Promise.allSettled for parallel execution
  instead of sequential await loop that stops on first failure.
- Fix GenreManager: replace window.confirm with ConfirmDialog for
  consistent UX; use fetchJson instead of raw fetch for delete.
- Fix BookDetail Nav interface: add toTruth to type definition,
  remove unsafe type assertion hack.
- Remove dead notification bell button that had a red dot but no
  click handler, misleading users into thinking there were notifications.
@Narcooo
Copy link
Copy Markdown
Owner Author

Narcooo commented Apr 13, 2026

All fixes from this PR were independently implemented on the dev branch and merged to master via the interaction control layer merge (8f12ee2). Closing as superseded.

@Narcooo Narcooo closed this Apr 13, 2026
@Narcooo Narcooo deleted the fix/studio-interaction-polish branch April 13, 2026 02:07
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