← 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方式に追従)