Skip to content

feat: 优化课程启动 tips 和镜像拉取取消#262

Merged
sunny0826 merged 1 commit into
mainfrom
feat/tips-update
Jun 2, 2026
Merged

feat: 优化课程启动 tips 和镜像拉取取消#262
sunny0826 merged 1 commit into
mainfrom
feat/tips-update

Conversation

@sunny0826
Copy link
Copy Markdown
Contributor

摘要 (Summary)

本 PR 优化课程启动提示和镜像拉取弹窗体验:小 tips 从顶栏移动到未连接终端态,拉取镜像弹窗支持滚动展示 tips、动画优化和关闭按钮。点击关闭按钮会取消当前启动/镜像拉取流程,并回到“终端未连接”页面。

主要变更 (Key Changes)

  • 学习页 Tips: 在课程页面生命周期内随机选取一条 tips,并展示在 Shell 终端未连接状态下;不再占用顶栏空间。
  • 镜像拉取弹窗: 新增 tips 轮播、关闭按钮、动画样式和覆盖层稳定渲染,避免进度更新导致弹窗闪烁。
  • 启动取消链路: 前端关闭按钮会 abort 启动请求、清理状态并阻止过期启动流程继续连接终端。
  • 后端拉取取消: 启动接口改用请求上下文,Docker 镜像拉取在请求取消时正常退出,不再广播误导性的拉取失败。
  • 测试覆盖: 增加 tips、终端面板、拉取弹窗、等待容器取消、后端请求上下文传递等覆盖。

变更类型 (Type of Change)

  • Bug 修复 (Bug fix)
  • 新功能 (New feature)
  • 破坏性变更 (Breaking change)
  • 代码重构 (Refactor / Code cleanup)
  • 文档更新 (Documentation update)

测试情况 (Testing Performed)

  • pnpm run check
  • pnpm exec vitest run src/pages/learn/utils/container.test.ts src/components/business/terminal/ImagePullProgressOverlay.test.tsx src/pages/learn/components/LearnTerminalPanel.test.tsx src/pages/learn/tips.test.ts src/pages/learn/components/LearnTopBar.test.tsx
  • pnpm exec eslint src/pages/Learn.tsx src/pages/learn/components/LearnTopBar.tsx src/pages/learn/components/LearnTopBar.test.tsx src/pages/learn/components/LearnTerminalPanel.tsx src/pages/learn/components/LearnTerminalPanel.test.tsx src/pages/learn/hooks/useLearnContainer.ts src/pages/learn/hooks/useContainerActions.ts src/pages/learn/hooks/useContainerRefs.ts src/pages/learn/utils/container.ts src/pages/learn/utils/container.test.ts src/pages/learn/tips.ts src/pages/learn/tips.test.ts src/components/business/Terminal.tsx src/components/business/SqlTerminal.tsx src/components/business/CodeTerminal.tsx src/components/business/terminal/ImagePullProgressOverlay.tsx src/components/business/terminal/ImagePullProgressOverlay.test.tsx
  • go test ./internal/api ./internal/docker
  • git diff --check

给 Reviewer 的提示 (Notes for Reviewers)

重点关注关闭镜像拉取弹窗后的状态流转:前端应退回未连接终端态,后端拉取应随请求取消而停止,且旧启动请求晚返回时不应误连 Shell 终端。

@sunny0826 sunny0826 merged commit dcabfad into main Jun 2, 2026
5 checks passed
@sunny0826 sunny0826 deleted the feat/tips-update branch June 2, 2026 01:32
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