diff --git a/js/plugin-directive.js b/js/plugin-directive.js index 94d19f5..4510f04 100644 --- a/js/plugin-directive.js +++ b/js/plugin-directive.js @@ -47,8 +47,12 @@ weechat.directive('plugin', ['$rootScope', 'settings', function($rootScope, sett // TODO store the result between channel switches if ($scope.plugin.content instanceof Function){ // Don't rerun if the result is already there - if (embed.innerHTML === "") { - $scope.plugin.content(); + if (!embed || embed.innerHTML === "") { + // if we're autoshowing, the element doesn't exist yet, and we need + // to do this async (wrapped in a setTimeout) + setTimeout(function() { + $scope.plugin.content(); + }); } } else { $scope.displayedContent = $scope.plugin.content;