Linear ArchiveArchived issues viewer
← Back to list
INS-893

[運用/INS-892関連] シナリオBGM配信元(luna CDN)の CORS(ACAO) を CI/監視で固定化する

StatusDone
TeamInstansys
Assigneeasuki.uehata@instansys.co.jp
PriorityLow
Created2026/06/26 05:06
Completed2026/07/01 10:19
Archived2026/07/09 00:50

Description

タイトル

[運用/INS-892関連] シナリオBGM配信元(luna CDN)の CORS(ACAO) を CI/監視で固定化する

背景

INS-892 で BGM 音量制御を WebAudio(MediaElementSource→GainNode)経由に変更した。

これに伴い HtmlBgmTrack<audio>crossOrigin="anonymous" を付与しており、

**クロスオリジン音源(シナリオBGMのCDN直URL)は配信元が

Access-Control-Allow-Origin を返すことが必須**になった。

ACAO が欠けると CORS 失敗で BGM がロードできず、iOS で無音になる。

(メインBGMは同一オリジンの blob objectURL なので影響なし)

現状はコード側の前提条件を JSDoc に明記し、ロード失敗を <audio> の error で

console.warn するに留まっている(= 検知はできるが事前防止はできない)。

CDN 構成変更やオリジン追加で ACAO が落ちると「時限爆弾」的に無音化するため、

運用レイヤで固定化したい。

やること

  • luna CDN の BGM 配信レスポンスに Access-Control-Allow-Origin

    含まれることを CI(または定期監視)でチェックする
    
  • 将来シナリオBGM配信元を追加する際の必須要件として

    「CORS ヘッダ(ACAO)を返すこと」を運用ドキュメントに明記
    
  • (任意/将来) 無音兆候を検知して crossOrigin 無しで再構築するコード側

    フォールバックの要否を検討(実装コスト高につき後回し)
    

参考

  • 実装: apps/client/src/lib/bgm-track.ts(HtmlBgmTrack の JSDoc / crossOrigin / error ログ)
  • 関連: INS-892(BGM音量フェーダーをHtmlBgmTrack方式に追従)