Skip to content

Commit 1975332

Browse files
authored
Fix Snack player initialization race condition (#4870)
1 parent ef26150 commit 1975332

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

website/modules/snackPlayerInitializer.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,30 @@ export default (() => {
6565
});
6666
};
6767

68+
const setupSnackObserver = () => {
69+
const observer = new MutationObserver(() => {
70+
const snacks = document.body.querySelectorAll('.snack-player');
71+
72+
if (snacks.length) {
73+
initSnackPlayers();
74+
}
75+
});
76+
77+
observer.observe(document.querySelector('.container'), {
78+
childList: true,
79+
subtree: true,
80+
});
81+
};
82+
6883
// Need to set the theme before the snack script (deferred) initialize
6984
updateSnacksTheme();
85+
setupSnackObserver();
7086
setupThemeSynchronization();
7187

7288
return {
7389
onRouteDidUpdate() {
7490
initSnackPlayers();
91+
setupSnackObserver();
7592
setupTabPanelsMutationObservers();
7693
},
7794
};

0 commit comments

Comments
 (0)