diff --git a/ui/src/app/extension/extension-table.directive.js b/ui/src/app/extension/extension-table.directive.js index 5e5b036a13..24e98420f1 100644 --- a/ui/src/app/extension/extension-table.directive.js +++ b/ui/src/app/extension/extension-table.directive.js @@ -77,6 +77,7 @@ function ExtensionTableController($scope, $filter, $document, $translate, types, if (newVal) { if ($scope.subscriber) { telemetryWebsocketService.unsubscribe($scope.subscriber); + $scope.subscriber = null; } vm.subscribed = false; @@ -88,6 +89,13 @@ function ExtensionTableController($scope, $filter, $document, $translate, types, } }); + $scope.$on('$destroy', function() { + if ($scope.subscriber) { + telemetryWebsocketService.unsubscribe($scope.subscriber); + $scope.subscriber = null; + } + }); + $scope.$watch("vm.query.search", function(newVal, prevVal) { if (!angular.equals(newVal, prevVal) && vm.query.search != null) { updateExtensions(); @@ -325,9 +333,8 @@ function ExtensionTableController($scope, $filter, $document, $translate, types, vm.subscribed = true; } }; + telemetryWebsocketService.subscribe($scope.subscriber); } - telemetryWebsocketService.subscribe($scope.subscriber); - } } function onSubscriptionData(data) { diff --git a/ui/src/app/extension/extensions-forms/extension-form-opc.tpl.html b/ui/src/app/extension/extensions-forms/extension-form-opc.tpl.html index 01b4f86355..304247cff7 100644 --- a/ui/src/app/extension/extensions-forms/extension-form-opc.tpl.html +++ b/ui/src/app/extension/extensions-forms/extension-form-opc.tpl.html @@ -95,10 +95,10 @@ >extension.field-required