From 87e7d8ada8e630725de831db574a727174384857 Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Tue, 18 May 2021 13:43:27 +0300 Subject: [PATCH 1/6] fix(stacks): check for editor change before setting as dirty --- app/portainer/views/stacks/edit/stackController.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/portainer/views/stacks/edit/stackController.js b/app/portainer/views/stacks/edit/stackController.js index f7e8b05d2..4e4619864 100644 --- a/app/portainer/views/stacks/edit/stackController.js +++ b/app/portainer/views/stacks/edit/stackController.js @@ -203,10 +203,9 @@ angular.module('portainer.app').controller('StackController', [ $scope.editorUpdate = function (cm) { if ($scope.stackFileContent !== cm.getValue()) { $scope.state.isEditorDirty = true; + $scope.stackFileContent = cm.getValue(); + $scope.state.yamlError = StackHelper.validateYAML($scope.stackFileContent, $scope.containerNames); } - $scope.stackFileContent = cm.getValue(); - $scope.state.yamlError = StackHelper.validateYAML($scope.stackFileContent, $scope.containerNames); - $scope.state.isEditorDirty = true; }; $scope.stopStack = stopStack; From b3784792fee4e5769953becff4a2ebd9349732de Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Wed, 19 May 2021 00:06:04 +0300 Subject: [PATCH 2/6] fix(stacks): show containers only for standalone (#5080) --- app/portainer/views/stacks/edit/stackController.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/portainer/views/stacks/edit/stackController.js b/app/portainer/views/stacks/edit/stackController.js index f7e8b05d2..73d28df66 100644 --- a/app/portainer/views/stacks/edit/stackController.js +++ b/app/portainer/views/stacks/edit/stackController.js @@ -269,8 +269,7 @@ angular.module('portainer.app').controller('StackController', [ var stack = data.stack; $scope.groups = data.groups; $scope.stack = stack; - $scope.containers = data.containers; - $scope.containerNames = ContainerHelper.getContainerNames($scope.containers); + $scope.containerNames = ContainerHelper.getContainerNames(data.containers); let resourcesPromise = Promise.resolve({}); if (stack.Status === 1) { From e54d99fd3d6f762cbc2e97c0cb0dd525b755023b Mon Sep 17 00:00:00 2001 From: Felix Han Date: Wed, 19 May 2021 12:09:11 +1200 Subject: [PATCH 3/6] fix(stacks): remove line breaks in web editors value --- app/portainer/views/stacks/edit/stackController.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/portainer/views/stacks/edit/stackController.js b/app/portainer/views/stacks/edit/stackController.js index 4e4619864..a8954d665 100644 --- a/app/portainer/views/stacks/edit/stackController.js +++ b/app/portainer/views/stacks/edit/stackController.js @@ -201,7 +201,7 @@ angular.module('portainer.app').controller('StackController', [ }; $scope.editorUpdate = function (cm) { - if ($scope.stackFileContent !== cm.getValue()) { + if ($scope.stackFileContent.replace(/(\r\n|\n|\r)/gm, '') !== cm.getValue().replace(/(\r\n|\n|\r)/gm, '')) { $scope.state.isEditorDirty = true; $scope.stackFileContent = cm.getValue(); $scope.state.yamlError = StackHelper.validateYAML($scope.stackFileContent, $scope.containerNames); From 47d462f085790ad74c43b56605aa62ae61a0803f Mon Sep 17 00:00:00 2001 From: Felix Han Date: Thu, 20 May 2021 10:22:07 +1200 Subject: [PATCH 4/6] fix(web-editor): check for editor change before setting as dirty. --- .../edit-edge-stack-form/editEdgeStackFormController.js | 6 ++++-- .../editCustomTemplateViewController.js | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/edge/components/edit-edge-stack-form/editEdgeStackFormController.js b/app/edge/components/edit-edge-stack-form/editEdgeStackFormController.js index bcef9c9f6..5e6482ee4 100644 --- a/app/edge/components/edit-edge-stack-form/editEdgeStackFormController.js +++ b/app/edge/components/edit-edge-stack-form/editEdgeStackFormController.js @@ -5,7 +5,9 @@ export class EditEdgeStackFormController { } editorUpdate(cm) { - this.model.StackFileContent = cm.getValue(); - this.isEditorDirty = true; + if (this.model.StackFileContent.replace(/(\r\n|\n|\r)/gm, '') !== cm.getValue().replace(/(\r\n|\n|\r)/gm, '')) { + this.model.StackFileContent = cm.getValue(); + this.isEditorDirty = true; + } } } diff --git a/app/portainer/views/custom-templates/edit-custom-template-view/editCustomTemplateViewController.js b/app/portainer/views/custom-templates/edit-custom-template-view/editCustomTemplateViewController.js index e53e291e3..941d1870b 100644 --- a/app/portainer/views/custom-templates/edit-custom-template-view/editCustomTemplateViewController.js +++ b/app/portainer/views/custom-templates/edit-custom-template-view/editCustomTemplateViewController.js @@ -96,8 +96,10 @@ class EditCustomTemplateViewController { } editorUpdate(cm) { - this.formValues.FileContent = cm.getValue(); - this.state.isEditorDirty = true; + if (this.formValues.FileContent.replace(/(\r\n|\n|\r)/gm, '') !== cm.getValue().replace(/(\r\n|\n|\r)/gm, '')) { + this.formValues.FileContent = cm.getValue(); + this.state.isEditorDirty = true; + } } async uiCanExit() { From 56187949276e1d35aecf7c806daf5756fed89a30 Mon Sep 17 00:00:00 2001 From: Felix Han Date: Thu, 20 May 2021 11:46:17 +1200 Subject: [PATCH 5/6] fix(k8s-config): check for config editor change before setting as dirty --- .../kubernetesConfigurationDataController.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/kubernetes/components/kubernetes-configuration-data/kubernetesConfigurationDataController.js b/app/kubernetes/components/kubernetes-configuration-data/kubernetesConfigurationDataController.js index 593fdc347..af7685b12 100644 --- a/app/kubernetes/components/kubernetes-configuration-data/kubernetesConfigurationDataController.js +++ b/app/kubernetes/components/kubernetes-configuration-data/kubernetesConfigurationDataController.js @@ -43,8 +43,10 @@ class KubernetesConfigurationDataController { } async editorUpdateAsync(cm) { - this.formValues.DataYaml = cm.getValue(); - this.isEditorDirty = true; + if (this.formValues.DataYaml !== cm.getValue()) { + this.formValues.DataYaml = cm.getValue(); + this.isEditorDirty = true; + } } editorUpdate(cm) { From 819faa39489b60f17090ae4dd1a9c57c5fccdc03 Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Fri, 21 May 2021 00:20:08 +0200 Subject: [PATCH 6/6] fix(k8s/proxy): proxy healthz request to k8s api (#5090) --- api/http/handler/endpointproxy/proxy_kubernetes.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/http/handler/endpointproxy/proxy_kubernetes.go b/api/http/handler/endpointproxy/proxy_kubernetes.go index ed5b1a28b..1f6ed3bfd 100644 --- a/api/http/handler/endpointproxy/proxy_kubernetes.go +++ b/api/http/handler/endpointproxy/proxy_kubernetes.go @@ -77,5 +77,5 @@ func (handler *Handler) proxyRequestsToKubernetesAPI(w http.ResponseWriter, r *h } func isKubernetesRequest(requestURL string) bool { - return strings.HasPrefix(requestURL, "/api") + return strings.HasPrefix(requestURL, "/api") || strings.HasPrefix(requestURL, "/healthz") }