Skip to content

fix: Title/GameID両方空のグリッチ時の誤通知を防止#4

Merged
yuu1111 merged 3 commits intomainfrom
fix/empty-title-game-glitch
May 9, 2026
Merged

fix: Title/GameID両方空のグリッチ時の誤通知を防止#4
yuu1111 merged 3 commits intomainfrom
fix/empty-title-game-glitch

Conversation

@yuu1111
Copy link
Copy Markdown
Owner

@yuu1111 yuu1111 commented May 9, 2026

Summary

  • Twitch APIが一過性で空のtitle/gameIDを返したときに、空フィールドの通知が発射される問題を修正
  • 配信中の配信者でtitle/gameIDが両方空になったら1ポーリング保留し、次回も継続したら確定として通知
  • 単一フィールドだけ空になった場合(意図的なクリア)は従来通り即通知
  • TwitchAPI interfaceを追加し、mockによる単体テストを可能に
  • detector/poller/stateの単体テストを追加

Background

ログ上で以下のような事象が発生:

  • channels API 500エラー直後にgameChange通知が空のゲーム名で送信
  • 約30秒後(次のポーリング)には値が復帰
    1ポーリングのホールドオフで完全に防げる設計

Test plan

  • go test ./... 全パス
  • TestPoller_Poll_EmptyTitleAndGame_HeldThenRecovered (空→復帰で通知なし)
  • TestPoller_Poll_EmptyTitleAndGame_ConfirmedAfterTwoPolls (空→空で通知)
  • 実環境で配信中グリッチが起きた際に通知抑制されることを確認

yuu1111 added 3 commits May 9, 2026 15:58
Twitch APIが一過性で空のtitle/gameIDを返した場合に空フィールドの通知が
発射される問題を修正。両方空になった配信者は1ポーリング保留し、次回も
同じ状態が継続したら確定として通知する。

- Poller.emptyPendingで両方空の配信者を一時保留
- 単一フィールド空(意図的なクリア)は従来通り即通知
- TwitchAPI interface追加でmockテストを可能に
- detector/poller/stateの単体テストを追加
@yuu1111 yuu1111 merged commit a7efb99 into main May 9, 2026
1 check passed
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