何が起きるか
配信画面タブ(/events/:id/live/screen。OBS がウィンドウキャプチャする画面)を開いたまま、別のタブでいま使っている配信セットのシーンやスライドの中身を編集しても、配信画面に反映されません。 反映させるには配信画面タブの再読み込みが要ります。
本番のイベント中に踏む可能性があります。 「本番直前にシーンの文字を直したのに、投影が古いまま」という形です。
原因
apps/web/src/api/liveControlHooks.ts の2つのクエリに refetchInterval がありません。
| フック |
ポーリング |
取り直す条件 |
useEventLiveState |
あり(LIVE_POLL_MS = 1秒、refetchIntervalInBackground: true) |
常時 |
useEventLiveSetContent |
なし |
queryKey に含む liveSetId が変わったときだけ |
useEventLiveDeck |
なし |
queryKey に含む deckId が変わったときだけ |
つまり「どのセット / どのスライドを映すか」の切り替えは1秒で届くのに、「そのセット / スライドの中身」は届きません。コントロール画面でセットやスライドを選び直せば queryKey が変わるので取り直されますが、同じものを編集した場合は変わらないので気づきにくい経路です。
変更前も同じ挙動です
#367(i18n 第2段階)の変更とは無関係の既存の挙動です。#367 では文言を辞書へ寄せただけで、これらのフックには触れていません。作業中に見つけたので切り出しています。
直し方の候補
useEventLiveSetContent / useEventLiveDeck にも refetchInterval を付ける。ただし中身は状態より重いので、1秒ではなく粗い間隔にするか、updatedAt を live-state に載せて変わったときだけ取り直すのがよさそうです(1秒ポーリングのたびにシーン一式とスライド一式を運ばせたくない)
- 編集側(
LiveSetEditorPage / DeckEditorPage)は自動保存なので、保存のたびに配信画面が取り直すと編集中の中途半端な状態が投影に出ます。粗い間隔か、明示的な「配信に反映」のほうが安全かもしれません
どちらにするかは、本番運用でどちらが怖いか(古いまま出る / 編集中が出る)で決めるのがよさそうです。
何が起きるか
配信画面タブ(
/events/:id/live/screen。OBS がウィンドウキャプチャする画面)を開いたまま、別のタブでいま使っている配信セットのシーンやスライドの中身を編集しても、配信画面に反映されません。 反映させるには配信画面タブの再読み込みが要ります。本番のイベント中に踏む可能性があります。 「本番直前にシーンの文字を直したのに、投影が古いまま」という形です。
原因
apps/web/src/api/liveControlHooks.tsの2つのクエリにrefetchIntervalがありません。useEventLiveStateLIVE_POLL_MS= 1秒、refetchIntervalInBackground: true)useEventLiveSetContentqueryKeyに含むliveSetIdが変わったときだけuseEventLiveDeckqueryKeyに含むdeckIdが変わったときだけつまり「どのセット / どのスライドを映すか」の切り替えは1秒で届くのに、「そのセット / スライドの中身」は届きません。コントロール画面でセットやスライドを選び直せば
queryKeyが変わるので取り直されますが、同じものを編集した場合は変わらないので気づきにくい経路です。変更前も同じ挙動です
#367(i18n 第2段階)の変更とは無関係の既存の挙動です。#367 では文言を辞書へ寄せただけで、これらのフックには触れていません。作業中に見つけたので切り出しています。
直し方の候補
useEventLiveSetContent/useEventLiveDeckにもrefetchIntervalを付ける。ただし中身は状態より重いので、1秒ではなく粗い間隔にするか、updatedAtをlive-stateに載せて変わったときだけ取り直すのがよさそうです(1秒ポーリングのたびにシーン一式とスライド一式を運ばせたくない)LiveSetEditorPage/DeckEditorPage)は自動保存なので、保存のたびに配信画面が取り直すと編集中の中途半端な状態が投影に出ます。粗い間隔か、明示的な「配信に反映」のほうが安全かもしれませんどちらにするかは、本番運用でどちらが怖いか(古いまま出る / 編集中が出る)で決めるのがよさそうです。