Skip to content

fix(e2e): 46・17・49 が時々やり直しになる原因を直す - #1927

Merged
5ym merged 1 commit into
mainfrom
fix/e2e-flaky-46-17-49
Nov 1, 2026
Merged

5ym merged 1 commit into
mainfrom
fix/e2e-flaky-46-17-49

Conversation

@5ym

@5ym 5ym commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

直近の CI 86回で、やり直しになっていた3つの原因を直します。

  • 46-home-timeline (33回): 線の手前の1行だけを見ていた。同じワーカーの前のスペックが立てた予約 (10分の番組) がちょうど録画中だと、そちらが線の側に並ぶ。線の手前から上へ続く録画中の行に入っているかを見る
  • 17-logo (2回): ride が閉じかけの自分のロゴの選局を共有しに行き、閉じた後に自分で開き直して衛星のチューナーを1台塞いでいた (外れと分かったばかりの中継まで)。その間に「いますぐ」が CS の空きを0と見て残りを諦め、「CS の空きチューナーが無くなったため…」で終わっていた。ロゴ以外の利用者がいる選局だけ共有する (shareable、単体テストあり)
  • 49-guide-skeleton (5回): 描き終えて1秒ほど後の前日・翌日の先読みを route.fetch() している途中でページが閉じ、Response has been disposed で落ちていた。終わったら unrouteAll({ behavior: "ignoreErrors" })

手元 (コンテナ) で3つを --repeat-each 15 --retries 0 で流して 495 件すべて通過。

🤖 Generated with Claude Code

https://claude.ai/code/session_01XNTXZLNBnfhFULMqQoQmmY

- 46: 線の手前の1行だけを見ていた。前のスペックの予約がちょうど録画中だと、そちらが線の側に並ぶ。線の手前から続く録画中の行に入っているかを見る
- 17: ロゴの共有 (ride) が、閉じかけの自分のロゴの選局を共有しに行き、閉じた後に自分で開き直して衛星のチューナーを塞いでいた。その間に「いますぐ」が CS の空きを0と見て諦めていた。ロゴ以外の利用者がいる選局だけ共有する
- 49: 描き終えた後の前日・翌日の先読みが route.fetch の途中でページが閉じ、Response has been disposed で落ちていた。終わったら route を待たずに外す

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XNTXZLNBnfhFULMqQoQmmY
@claude

claude Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Claude finished @5ym's task in 17s —— View job


レビュー結果

大きな問題は見つかりませんでした。3件とも原因の説明と修正が対応していて、読みやすいです。

  • logo.ts の shareable: use の型 (tuner.ts:203 の `logo ${string}`) と logo.ts:743 の生成側に合っています。ロゴだけが使っている選局を共有対象から外すのは筋が通っています。単体テストも、ロゴのみ、混在、録画、空きの4パターンを押さえています。
  • 46-home-timeline: 線の手前から上へ、録画中の行が続く間を走査します。at === -1 の場合はループに入らず空配列になり、toContain が失敗します。silent pass にはなりません。
  • 49-guide-skeleton: unrouteAll({ behavior: "ignoreErrors" }) を afterEach に置く方針は妥当です。

要確認 (任意)

  • shareable はロゴの利用者を "logo " という文字列の接頭辞で判定しています。型定義が変わっても、ここは型エラーになりません。tuner.ts 側に判定用の小さなヘルパーを置くと、今後の変更に強くなります。ただし現状でも動作は正しいので、必須ではありません。
  • 46 のテストは、録画中の行が連続している間だけを探します。前のスペックの予約が録画中でなくても、線の手前の行が 録画中試験 であれば通ります。これは意図どおりだと思います。

@5ym
5ym merged commit 02417bb into main Nov 1, 2026
20 checks passed
@5ym
5ym deleted the fix/e2e-flaky-46-17-49 branch November 1, 2026 15:01
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