Skip to content

fix(mac): 【openscreen】録画終了時の保存失敗を救済する - #571

Draft
nanameru wants to merge 1 commit into
getopenscreen:mainfrom
nanameru:issue-4-macos-recording-recovery
Draft

fix(mac): 【openscreen】録画終了時の保存失敗を救済する#571
nanameru wants to merge 1 commit into
getopenscreen:mainfrom
nanameru:issue-4-macos-recording-recovery

Conversation

@nanameru

@nanameru nanameru commented Sep 2, 2026

Copy link
Copy Markdown

概要

macOS native capture helper が完成済みMP4を書き出した後、stopped 通知前後で終了した場合に、録画を保存失敗として取り残さないようにします。

Closes nanameru#4

変更内容

  • stop acknowledgement失敗時にhelper終了を最大5秒確認
  • mp4boxでMP4をstreaming解析し、実映像track・sample tableを持つ出力だけを救済
  • 正常停止、救済成功、helper生存、壊れたMP4の回帰テストを追加
  • macOS stop responseへrecoveredを追加
  • Issue #4に対応するtest-board.yamlを追加

検証

  • npm test: 188 files passed / 2246 tests passed / 2 skipped
  • npx tsc --noEmit: pass
  • npx tsc -p tsconfig.test.json --noEmit: pass
  • npm run lint: pass(既存warning 15件)
  • npm run build-vite: pass
  • 実際に取り残された18MB MP4: 救済可能と判定
  • atom名だけの偽MP4: 救済不可と判定
  • 署名済みApple Siliconアプリで5秒録画し、MP4、cursor sidecar、session manifest、.openscreen projectの保存を確認
  • 保存MP4: H.264 / 2880x1800 / 193 frames / 5.08秒

リスク

  • stop失敗後の解析はhelper終了後に限定し、書込み中ファイルは扱いません。
  • mp4boxは1MiB単位で読み、mdatを保持しないため、大容量録画を一括でメモリへ載せません。
  • 完成条件を満たさない出力では従来どおり失敗を返します。

補足

作業Issueはfork側です: nanameru#4

@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

【openscreen】macOS録画終了時に有効なMP4を保存失敗として取り残さない

1 participant