diff --git a/src/components/pluginManager.js b/src/components/pluginManager.js index c944340a4..9fe44ab43 100644 --- a/src/components/pluginManager.js +++ b/src/components/pluginManager.js @@ -89,7 +89,8 @@ import { playbackManager } from './playback/playbackmanager'; }); } else { console.debug(`Loading plugin (via dynamic import): ${pluginSpec}`); - plugin = await import(/* webpackChunkName: "[request]" */ `../plugins/${pluginSpec}`); + const pluginResult = await import(/* webpackChunkName: "[request]" */ `../plugins/${pluginSpec}`); + plugin = new pluginResult.default; } } else if (pluginSpec.then) { console.debug('Loading plugin (via promise/async function)'); diff --git a/src/components/shortcuts.js b/src/components/shortcuts.js index fe7bfefc9..978fa1581 100644 --- a/src/components/shortcuts.js +++ b/src/components/shortcuts.js @@ -204,11 +204,15 @@ import toast from './toast/toast'; } else if (action === 'play' || action === 'resume') { const startPositionTicks = parseInt(card.getAttribute('data-positionticks') || '0'); - playbackManager.play({ - ids: [playableItemId], - startPositionTicks: startPositionTicks, - serverId: serverId - }); + if (playbackManager.canPlay(item)) { + playbackManager.play({ + ids: [playableItemId], + startPositionTicks: startPositionTicks, + serverId: serverId + }); + } else { + console.warn('Unable to play item', item); + } } else if (action === 'queue') { if (playbackManager.isPlaying()) { playbackManager.queue({