diff --git a/debian/changelog b/debian/changelog index 4e155140..c115aa3b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +wb-mqtt-homeui (2.111.0) stable; urgency=medium + + * Rework diag collect to async backend + + -- Vladimir Romanov Wed, 19 Feb 2025 17:25:22 +0300 + wb-mqtt-homeui (2.110.0) stable; urgency=medium * Source code refactoring. No functional changes diff --git a/frontend/app/scripts/controllers/diagnosticController.js b/frontend/app/scripts/controllers/diagnosticController.js index bf41c725..c4bed906 100644 --- a/frontend/app/scripts/controllers/diagnosticController.js +++ b/frontend/app/scripts/controllers/diagnosticController.js @@ -1,5 +1,5 @@ class DiagnosticCtrl { - constructor($scope, $translate, DiagnosticProxy, errors, whenMqttReady) { + constructor($scope, $translate, DiagnosticProxy, errors, whenMqttReady, mqttClient) { 'ngInject'; $scope.started = false; @@ -70,16 +70,16 @@ class DiagnosticCtrl { changeBtnText('collector.states.collecting'); $scope.collecting = true; DiagnosticProxy.diag().then( - names => { - $scope.path = names['fullname']; - $scope.basename = names['basename']; - var url = getUrl(); - fileIsOk(location.protocol + '//' + url + '/diag/' + $scope.basename, callbackFileIsOk); - }, - err => { - $scope.collecting = false; - changeBtnText('collector.errors.timeout'); + mqttClient.addStickySubscription('/wb-diag-collect/artifact', function (msg) { + if (msg.payload) { + const data = JSON.parse(msg.payload) + $scope.path = data['fullname']; + $scope.basename = data['basename']; + var url = getUrl(); + fileIsOk(location.protocol + '//' + url + '/diag/' + $scope.basename, callbackFileIsOk); + } } + ) ); }; diff --git a/frontend/app/scripts/i18n/system/en.json b/frontend/app/scripts/i18n/system/en.json index fbcef358..fccb9cc6 100644 --- a/frontend/app/scripts/i18n/system/en.json +++ b/frontend/app/scripts/i18n/system/en.json @@ -3,10 +3,9 @@ "title": "System" }, "collector": { - "title" : "Diagnostic collector", + "title": "Diagnostic collector", "errors": { "unavailable": "Diagnostic service is unavailable", - "timeout": "Timeout exceed. Reload page and try again", "unavailableToDownload": "Can't reach file. Copy it from" }, "buttons": { diff --git a/frontend/app/scripts/i18n/system/ru.json b/frontend/app/scripts/i18n/system/ru.json index 61f0ee14..d6e02cbc 100644 --- a/frontend/app/scripts/i18n/system/ru.json +++ b/frontend/app/scripts/i18n/system/ru.json @@ -3,10 +3,9 @@ "title": "Система" }, "collector": { - "title" : "Сборщик данных для диагностики", + "title": "Сборщик данных для диагностики", "errors": { "unavailable": "Сервис диагностики не доступен", - "timeout": "Время ожидания вышло. Обновите страницу для повторной попытки", "unavailableToDownload": "Невозможно скачать файл. Скопируйте его с контроллера по пути" }, "buttons": {