Skip to content

feat: karaoke-style transcript sync during playback#63

Open
StevenLi-phoenix wants to merge 1 commit intomainfrom
pr/karaoke-sync-18
Open

feat: karaoke-style transcript sync during playback#63
StevenLi-phoenix wants to merge 1 commit intomainfrom
pr/karaoke-sync-18

Conversation

@StevenLi-phoenix
Copy link
Copy Markdown
Owner

Summary

  • KaraokeSync binary search for active segment
  • TranscriptSegmentRow highlight + auto-scroll
  • Timestamp tap-to-seek
  • 8 unit tests

Closes #18

🤖 Generated with Claude Code

- Add KaraokeSync.findActiveIndex(at:in:) binary search for active segment
- Add isActive highlight and tappable timestamp to TranscriptSegmentRow
- Pass activeSegmentID + onTimestampTap through TranscriptView
- Track playback time in SessionDetailView, auto-scroll to active segment
- Pause auto-scroll for 3s on user scroll (onScrollPhaseChange)
- Reset karaoke state on session change and view disappear
- Add 8 unit tests for KaraokeSync binary search
- Update UnitTests.xctestplan and CLAUDE.md
@github-actions github-actions bot deleted a comment from claude bot Mar 28, 2026
@claude
Copy link
Copy Markdown

claude bot commented Mar 28, 2026

❌ Claude Code Review: REJECT

The exportMarkdown function in SessionDetailView.swift references MarkdownExporter (a type with SegmentInfo, SummaryInfo, export, and sanitizeFilename APIs) that is never defined anywhere in the codebase or included in this diff, which will cause a compile error.

@github-actions
Copy link
Copy Markdown
Contributor

⚠️ Auto-merge skipped: Claude Code review did not approve. Manual review required.

@StevenLi-phoenix
Copy link
Copy Markdown
Owner Author

修复建议 — Karaoke Sync (REJECTED)

Review 指出 MarkdownExporter 类型未定义导致编译错误。

修复方案

  1. SessionDetailView.swift 中的 exportMarkdown 函数引用了 MarkdownExporter,但 diff 中没有包含这个类型的定义
  2. 检查是否遗漏了文件——可能 MarkdownExporter 在另一个分支(PR feat: Markdown export with YAML frontmatter #61 Markdown Export)中定义
  3. 如果是跨 PR 依赖,建议:

建议方案 B 最安全——karaoke sync 的核心功能是播放时高亮,导出可以在 #61 合并后再集成。

@StevenLi-phoenix
Copy link
Copy Markdown
Owner Author

建议关闭

功能已通过 commit 87dc8e2 (#18 Karaoke sync) 和 f448a81 (#34 Markdown export) 在 main 上直接实现。此 PR 与 main 有大量重复代码,且 Claude Review 指出引用了未定义的 MarkdownExporter 类型。

如果此 PR 有独有的测试覆盖或边界处理,可以提取为单独的增量 PR。

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.

播放时实时高亮转录 (Karaoke-style Transcript Sync)

1 participant