diff --git a/src/routes/Player/Player.js b/src/routes/Player/Player.js index 913037b0e..e8e34a5fc 100644 --- a/src/routes/Player/Player.js +++ b/src/routes/Player/Player.js @@ -6,7 +6,7 @@ const classnames = require('classnames'); const debounce = require('lodash.debounce'); const { useRouteFocused } = require('stremio-router'); const { useServices } = require('stremio/services'); -const { HorizontalNavBar, Button, useFullscreen, useBinaryState, useToast, useStreamingServer } = require('stremio/common'); +const { HorizontalNavBar, Button, useFullscreen, useBinaryState, useToast, useStreamingServer, withCoreSuspender } = require('stremio/common'); const Icon = require('@stremio/stremio-icons/dom'); const BufferingLoader = require('./BufferingLoader'); const ControlBar = require('./ControlBar'); @@ -567,4 +567,8 @@ Player.propTypes = { queryParams: PropTypes.instanceOf(URLSearchParams) }; -module.exports = Player; +const PlayerFallback = () => ( +
+); + +module.exports = withCoreSuspender(Player, PlayerFallback); diff --git a/src/routes/Player/usePlayer.js b/src/routes/Player/usePlayer.js index 2e3a12af4..f9c18e9d5 100644 --- a/src/routes/Player/usePlayer.js +++ b/src/routes/Player/usePlayer.js @@ -2,7 +2,7 @@ const React = require('react'); const { useServices } = require('stremio/services'); -const { useModelState } = require('stremio/common'); +const { useModelState, useCoreSuspender } = require('stremio/common'); const map = (player) => ({ ...player, @@ -34,8 +34,9 @@ const map = (player) => ({ const usePlayer = (urlParams) => { const { core } = useServices(); + const { decodeStream } = useCoreSuspender(); + const stream = decodeStream(urlParams.stream); const action = React.useMemo(() => { - const stream = core.transport.decodeStream(urlParams.stream); if (stream !== null) { return { action: 'Load',