From d25bc73738baf6cab0f8ed36c26f68f52a52ef17 Mon Sep 17 00:00:00 2001 From: loganhz Date: Fri, 20 Apr 2018 11:13:38 +0800 Subject: [PATCH 01/11] Update status section description --- app/apps-tab/detail/template.hbs | 1 + app/container/template.hbs | 1 + app/node/template.hbs | 1 + .../addon/components/resource-condition-list/component.js | 1 + .../addon/components/resource-condition-list/template.hbs | 2 +- translations/en-us.yaml | 8 +++++--- 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/apps-tab/detail/template.hbs b/app/apps-tab/detail/template.hbs index 07685b5d5..ea347641c 100644 --- a/app/apps-tab/detail/template.hbs +++ b/app/apps-tab/detail/template.hbs @@ -47,6 +47,7 @@ {{/if}} {{resource-condition-list + resourceType=(t 'generic.application') conditions=model.app.status.conditions expandAll=al.expandAll expandFn=expandFn diff --git a/app/container/template.hbs b/app/container/template.hbs index c23d9038a..c0206c6fd 100644 --- a/app/container/template.hbs +++ b/app/container/template.hbs @@ -87,6 +87,7 @@ }} {{resource-condition-list + resourceType=(t 'generic.pod') conditions=model.status.conditions expandAll=al.expandAll expandFn=expandFn diff --git a/app/node/template.hbs b/app/node/template.hbs index 39998c63c..ae242ebc1 100644 --- a/app/node/template.hbs +++ b/app/node/template.hbs @@ -42,6 +42,7 @@
{{#accordion-list as |al expandFn|}} {{resource-condition-list + resourceType=(t 'generic.node') conditions=model.node.conditions expandAll=al.expandAll expandFn=expandFn diff --git a/lib/shared/addon/components/resource-condition-list/component.js b/lib/shared/addon/components/resource-condition-list/component.js index 04a76fbca..16abe398e 100644 --- a/lib/shared/addon/components/resource-condition-list/component.js +++ b/lib/shared/addon/components/resource-condition-list/component.js @@ -8,6 +8,7 @@ export default Component.extend({ sortBy: 'type', descending: false, + resourceType: null, headers: [ { diff --git a/lib/shared/addon/components/resource-condition-list/template.hbs b/lib/shared/addon/components/resource-condition-list/template.hbs index fc0c819a9..352333037 100644 --- a/lib/shared/addon/components/resource-condition-list/template.hbs +++ b/lib/shared/addon/components/resource-condition-list/template.hbs @@ -1,6 +1,6 @@ {{#accordion-list-item title=(t 'conditionSections.title') - detail=(t 'conditionSections.detail') + detail=(t 'conditionSections.detail' resourceType=resourceType) expandAll=expandAll expand=(action expandFn) componentName='sortable-table' diff --git a/translations/en-us.yaml b/translations/en-us.yaml index b038cf596..94b13ed44 100644 --- a/translations/en-us.yaml +++ b/translations/en-us.yaml @@ -11,6 +11,7 @@ generic: all: All any: Any as: as + application: application cancel: Cancel closeModal: Close cluster: Cluster @@ -67,6 +68,7 @@ generic: none: None owner: Owner paste: Paste + pod: pod port: Port ports: Ports project: Project @@ -1925,8 +1927,8 @@ clusterNew: instructionsInsecure: "If you get an error about 'certificate signed by unknown authority' because your {appName} installation is running with an untrusted/self-signed SSL certificate, run the command below instead to bypass the certificate check:" conditionSections: - title: Conditions - detail: Current conditions + title: Status + detail: Status of current {resourceType} table: type: Type status: Status @@ -4254,7 +4256,7 @@ newCatalog: maintainer: "Maintainer:" newNamespace: New Namespace newAppDetail: Choose application version and namespace for the application - appInfo: Detailed Description + appInfo: Detailed Descriptions appInfoDetail: Application information and user guid noConfig: This template has no configuration options official: Officially Certified From 24f8958fa4da586f9b30a9af40147580296189dd Mon Sep 17 00:00:00 2001 From: loganhz Date: Fri, 20 Apr 2018 11:26:48 +0800 Subject: [PATCH 02/11] Fix catalog issue --- app/apps-tab/detail/template.hbs | 2 +- app/styles/components/_code.scss | 1 - translations/en-us.yaml | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/apps-tab/detail/template.hbs b/app/apps-tab/detail/template.hbs index ea347641c..001f1a5ef 100644 --- a/app/apps-tab/detail/template.hbs +++ b/app/apps-tab/detail/template.hbs @@ -42,7 +42,7 @@ expand=(action expandFn) expandOnInit=false }} -
{{model.app.status.notes}}
+ {{marked-down markdown=model.app.status.notes}} {{/accordion-list-item}} {{/if}} diff --git a/app/styles/components/_code.scss b/app/styles/components/_code.scss index ac9fbe978..d1531870a 100644 --- a/app/styles/components/_code.scss +++ b/app/styles/components/_code.scss @@ -23,7 +23,6 @@ pre { white-space: pre-wrap; code { - color: $light-grey; background-color: transparent; padding: 0; } diff --git a/translations/en-us.yaml b/translations/en-us.yaml index 94b13ed44..4796a878e 100644 --- a/translations/en-us.yaml +++ b/translations/en-us.yaml @@ -178,7 +178,7 @@ appDetailPage: header: "App: {appName}" notes: title: Notes - detail: 'Notes for this application' + detail: 'Instructions on how to use this application' workloads: title: Workloads detail: Workloads created for this application. From 49d49a0994bd000affd6b1c6e6a4f1da43c11011 Mon Sep 17 00:00:00 2001 From: loganhz Date: Fri, 20 Apr 2018 12:11:17 +0800 Subject: [PATCH 03/11] Fix imported issue https://github.com/rancher/rancher/issues/12798 --- .../cluster-driver/driver-import/component.js | 11 +++++++++-- .../cluster-driver/driver-import/template.hbs | 16 ++++++++++++---- .../addon/components/save-cancel/component.js | 4 ++++ 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/lib/shared/addon/components/cluster-driver/driver-import/component.js b/lib/shared/addon/components/cluster-driver/driver-import/component.js index a7f2b90ef..12294e27c 100644 --- a/lib/shared/addon/components/cluster-driver/driver-import/component.js +++ b/lib/shared/addon/components/cluster-driver/driver-import/component.js @@ -16,6 +16,7 @@ export default Component.extend(ClusterDriver, { clusterState: alias('model.originalCluster.state'), step: 1, + loading: false, didReceiveAttrs() { if ( get(this,'isEdit') && @@ -34,7 +35,7 @@ export default Component.extend(ClusterDriver, { }, clusterChanged: observer('cluster.state', function() { - if ( get(this, 'step') >= 2 ) { + if ( get(this, 'step') >= 2 ) { const state = get(this, 'cluster.state') if ( ! ['pending','initializing'].includes(state) ) { this.sendAction('close'); @@ -44,9 +45,15 @@ export default Component.extend(ClusterDriver, { loadToken() { const cluster = get(this,'cluster'); + set(this, 'step', 2); + set(this, 'loading', true); return cluster.getOrCreateToken().then((token) => { + if ( this.isDestroyed || this.isDestroying ) { + return; + } + set(this, 'token', token); - set(this, 'step', 2); + set(this, 'loading', false); }); } }); diff --git a/lib/shared/addon/components/cluster-driver/driver-import/template.hbs b/lib/shared/addon/components/cluster-driver/driver-import/template.hbs index 8daa7b195..3a53113b9 100644 --- a/lib/shared/addon/components/cluster-driver/driver-import/template.hbs +++ b/lib/shared/addon/components/cluster-driver/driver-import/template.hbs @@ -8,8 +8,12 @@
- {{copy-to-clipboard clipboardText=token.command tagName="div" classNames="copy-to-pre"}} -
{{token.command}}
+ {{#if loading}} +
{{t 'generic.loading'}}
+ {{else}} + {{copy-to-clipboard clipboardText=token.command tagName="div" classNames="copy-to-pre"}} +
{{token.command}}
+ {{/if}}
@@ -21,8 +25,12 @@
- {{copy-to-clipboard clipboardText=token.insecureCommand tagName="div" classNames="copy-to-pre"}} -
{{token.insecureCommand}}
+ {{#if loading}} +
{{t 'generic.loading'}}
+ {{else}} + {{copy-to-clipboard clipboardText=token.insecureCommand tagName="div" classNames="copy-to-pre"}} +
{{token.insecureCommand}}
+ {{/if}}
{{#if isEdit}} diff --git a/lib/shared/addon/components/save-cancel/component.js b/lib/shared/addon/components/save-cancel/component.js index cb955111c..3fb32f497 100644 --- a/lib/shared/addon/components/save-cancel/component.js +++ b/lib/shared/addon/components/save-cancel/component.js @@ -31,6 +31,10 @@ export default Component.extend({ this.set('saving', true); this.set('saved', false); this.sendAction('save', (success) => { + if ( this.isDestroyed || this.isDestroying ) { + return; + } + this.set('saving', false); this.set('saved', ( success === true )); }); From b5d45e7eda4ffb90f74c95761469ff8b66e30580 Mon Sep 17 00:00:00 2001 From: loganhz Date: Fri, 20 Apr 2018 12:41:18 +0800 Subject: [PATCH 04/11] Fix env from source issue --- app/workload/template.hbs | 17 ----------------- .../container/form-sources/component.js | 2 +- .../addon/components/form-env-var/template.hbs | 2 +- 3 files changed, 2 insertions(+), 19 deletions(-) diff --git a/app/workload/template.hbs b/app/workload/template.hbs index dacd83e7a..e080872dd 100644 --- a/app/workload/template.hbs +++ b/app/workload/template.hbs @@ -91,23 +91,6 @@ }} {{/if}} - {{#if service.canHaveSecrets}} - {{#accordion-list-item - title=(t 'formSources.title') - detail=(t 'formSources.detail') - expandAll=al.expandAll - expand=(action expandFn) - }} - {{container/form-sources - sources=activeLaunchConfig.environmentFrom - editing=false - expandAll=al.expandAll - expandFn=expandFn - classNames="accordion" - }} - {{/accordion-list-item}} - {{/if}} - {{#if service.isReal}} {{#accordion-list-item title=(t 'containerPage.portsTab.header') diff --git a/lib/shared/addon/components/container/form-sources/component.js b/lib/shared/addon/components/container/form-sources/component.js index 7a5444628..7e8a0d398 100644 --- a/lib/shared/addon/components/container/form-sources/component.js +++ b/lib/shared/addon/components/container/form-sources/component.js @@ -1,7 +1,7 @@ import { inject as service } from '@ember/service'; import Component from '@ember/component'; import layout from './template'; -import { get, set, computed } from '@ember/object'; +import { get, set } from '@ember/object'; export default Component.extend({ layout, diff --git a/lib/shared/addon/components/form-env-var/template.hbs b/lib/shared/addon/components/form-env-var/template.hbs index a31d43ac0..d838158a5 100644 --- a/lib/shared/addon/components/form-env-var/template.hbs +++ b/lib/shared/addon/components/form-env-var/template.hbs @@ -28,7 +28,7 @@ {{else if (eq kind "norows")}} - {{t 'labelsSection.noData'}} + {{t 'formEnvVar.noData'}} {{/if}} {{/component}} From fe43448e962168e5bed4117c9ccf8e28c9b0c740 Mon Sep 17 00:00:00 2001 From: loganhz Date: Fri, 20 Apr 2018 12:47:46 +0800 Subject: [PATCH 05/11] Rearrange env list section --- app/container/template.hbs | 11 +++- app/workload/template.hbs | 11 +++- .../components/form-env-var/template.hbs | 57 ++++++++----------- 3 files changed, 39 insertions(+), 40 deletions(-) diff --git a/app/container/template.hbs b/app/container/template.hbs index c0206c6fd..0e5500542 100644 --- a/app/container/template.hbs +++ b/app/container/template.hbs @@ -120,11 +120,16 @@ }} {{/accordion-list-item}} - {{form-env-var - model=displayEnvironmentVars + {{#accordion-list-item + title=(t 'containerPage.portsTab.header') + detail=(t 'containerPage.portsTab.detail') expandAll=al.expandAll - expandFn=expandFn + expand=(action expandFn) }} + {{form-env-var + model=displayEnvironmentVars + }} + {{/accordion-list-item}} {{container/form-command instance=container diff --git a/app/workload/template.hbs b/app/workload/template.hbs index e080872dd..dca0c9a30 100644 --- a/app/workload/template.hbs +++ b/app/workload/template.hbs @@ -84,11 +84,16 @@ }} {{#if service.canHaveEnvironment}} - {{form-env-var - model=displayEnvironmentVars + {{#accordion-list-item + title=(t 'formEnvVar.title') + detail=(t 'formEnvVar.detail') expandAll=al.expandAll - expandFn=expandFn + expand=(action expandFn) }} + {{form-env-var + model=displayEnvironmentVars + }} + {{/accordion-list-item}} {{/if}} {{#if service.isReal}} diff --git a/lib/shared/addon/components/form-env-var/template.hbs b/lib/shared/addon/components/form-env-var/template.hbs index d838158a5..32c04a8d6 100644 --- a/lib/shared/addon/components/form-env-var/template.hbs +++ b/lib/shared/addon/components/form-env-var/template.hbs @@ -1,35 +1,24 @@ -{{#accordion-list-item - title=(t 'formEnvVar.title') - detail=(t 'formEnvVar.detail' appName=settings.appName) - status=(t 'formEnvVar.status' count=(or model.length 0)) - statusClass=(if model.length 'bg-success' 'text-muted') - expandAll=expandAll - expand=(action expandFn) - componentName='sortable-table' - as | parent | +{{#sortable-table + classNames="grid fixed mb-0 sortable-table" + bulkActions=false + rowActions=false + paging=false + search=true + sortBy=sortBy + stickyHeader=false + descending=descending + headers=headers + body=model + as |sortable kind label| }} - {{#component parent.intent - classNames="grid fixed mb-0 sortable-table" - bulkActions=false - rowActions=false - paging=false - search=true - sortBy=sortBy - stickyHeader=false - descending=descending - headers=headers - body=model - as |sortable kind label| - }} - {{#if (eq kind "row")}} - - {{label.key}} - {{label.value}} - - {{else if (eq kind "norows")}} - - {{t 'formEnvVar.noData'}} - - {{/if}} - {{/component}} -{{/accordion-list-item}} + {{#if (eq kind "row")}} + + {{label.key}} + {{label.value}} + + {{else if (eq kind "norows")}} + + {{t 'formEnvVar.noData'}} + + {{/if}} +{{/sortable-table}} \ No newline at end of file From d2c6229adb6797e311440e759f0a3fa3e7e38e0a Mon Sep 17 00:00:00 2001 From: loganhz Date: Fri, 20 Apr 2018 13:08:14 +0800 Subject: [PATCH 06/11] Fix env from sources issue https://github.com/rancher/rancher/issues/12845 --- app/workload/template.hbs | 6 + .../container/form-sources/component.js | 26 +++++ .../container/form-sources/template.hbs | 106 ++++++++++++------ translations/en-us.yaml | 3 +- 4 files changed, 103 insertions(+), 38 deletions(-) diff --git a/app/workload/template.hbs b/app/workload/template.hbs index dca0c9a30..88b0f67d7 100644 --- a/app/workload/template.hbs +++ b/app/workload/template.hbs @@ -93,6 +93,12 @@ {{form-env-var model=displayEnvironmentVars }} +
+ {{container/form-sources + namespace=service.namespace + sources=activeLaunchConfig.environmentFrom + editing=false + }} {{/accordion-list-item}} {{/if}} diff --git a/lib/shared/addon/components/container/form-sources/component.js b/lib/shared/addon/components/container/form-sources/component.js index 7e8a0d398..2994017c8 100644 --- a/lib/shared/addon/components/container/form-sources/component.js +++ b/lib/shared/addon/components/container/form-sources/component.js @@ -11,6 +11,32 @@ export default Component.extend({ statusClass: null, fetching: false, editing: true, + headers: [ + { + name: 'source', + sort: ['source'], + translationKey: 'formSources.type.label', + searchField: 'source', + }, + { + name: 'sourceName', + sort: ['sourceName','source'], + searchField: 'sourceName', + translationKey: 'formSources.source.label', + }, + { + name: 'sourceKey', + sort: ['sourceKey', 'sourceName','source'], + searchField: 'sourceKey', + translationKey: 'formSources.prefixOrKey.label', + }, + { + name: 'targetKey', + sort: ['targetKey', 'sourceKey', 'sourceName','source'], + searchField: 'targetKey', + translationKey: 'formSources.prefix.label', + } + ], actions: { addSource() { diff --git a/lib/shared/addon/components/container/form-sources/template.hbs b/lib/shared/addon/components/container/form-sources/template.hbs index 6e8a95d6b..7217b4149 100644 --- a/lib/shared/addon/components/container/form-sources/template.hbs +++ b/lib/shared/addon/components/container/form-sources/template.hbs @@ -1,41 +1,73 @@ -
- -
-
- {{#if sources.length}} - - - - - - - - - - - - - - - {{#each sources as |source|}} - {{form-sources-row - source=source - namespace=namespace - editing=editing - remove=(action "removeSource") - }} - {{/each}} - -
- {{else}} - {{#unless editing}} - {{t 'formSources.noData'}} - {{/unless}} - {{/if}} - {{#if editing}} +{{#if editing}} +
+ +
+
+ {{#if sources.length}} + + + + + + + + + + + + + + + {{#each sources as |source|}} + {{form-sources-row + source=source + namespace=namespace + remove=(action "removeSource") + }} + {{/each}} + +
+ {{/if}} - {{/if}} -
+
+{{else}} + {{#sortable-table + classNames="grid fixed mb-0 sortable-table" + bulkActions=false + rowActions=false + paging=false + search=true + sortBy=sortBy + stickyHeader=false + descending=descending + headers=headers + body=sources + as |sortable kind source| + }} + {{#if (eq kind "row")}} + + {{source.source}} + {{source.sourceName}} + + {{#if source.sourceKey}} + {{source.sourceKey}} + {{else}} + {{t 'generic.all'}} + {{/if}} + + {{source.targetKey}} + + {{else if (eq kind "nomatch")}} + + {{t 'formSources.noMatch'}} + + {{else if (eq kind "norows")}} + + {{t 'formSources.noData'}} + + {{/if}} + {{/sortable-table}} +{{/if}} diff --git a/translations/en-us.yaml b/translations/en-us.yaml index 4796a878e..5dcf1dea2 100644 --- a/translations/en-us.yaml +++ b/translations/en-us.yaml @@ -3463,7 +3463,8 @@ formScheduling: formSources: title: Environments From Sources detail: Environments from sources allow you to inject passwords, keys, or other information into the containers that need them. - noData: No Sources + noData: No Environments From Sources + noMatch: No Environments From Sources match the current search addLabel: Add Source type: label: Type From 37b2009f7483e08519e058a78668a79d4106560a Mon Sep 17 00:00:00 2001 From: loganhz Date: Fri, 20 Apr 2018 18:54:50 +0800 Subject: [PATCH 07/11] Fix icon issue https://github.com/rancher/rancher/issues/12908 --- lib/shared/addon/components/container/form-scale/template.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/shared/addon/components/container/form-scale/template.hbs b/lib/shared/addon/components/container/form-scale/template.hbs index e3a77682e..ca21dfe6e 100644 --- a/lib/shared/addon/components/container/form-scale/template.hbs +++ b/lib/shared/addon/components/container/form-scale/template.hbs @@ -68,7 +68,7 @@ {{/if}} {{t 'formScale.scaleMode.scaleSuffix' scale=asInteger}} {{else if (eq scaleMode "statefulSet")}} - + {{t 'formScale.scaleMode.statefulSetPrefix' scale=asInteger}} {{#if editing}} {{input-integer safeStyle="width: 60px; padding: 0 2px; display: inline-block" value=userInput min=min max=max}} From 8cbf0f84d9b9874c5e1d1272be4f0487b5813fcf Mon Sep 17 00:00:00 2001 From: loganhz Date: Sat, 21 Apr 2018 09:17:41 +0800 Subject: [PATCH 08/11] Fix cloud provider issue https://github.com/rancher/rancher/issues/12891 --- lib/shared/addon/components/cru-cloud-provider/component.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/shared/addon/components/cru-cloud-provider/component.js b/lib/shared/addon/components/cru-cloud-provider/component.js index b3b026dc4..5979fd973 100644 --- a/lib/shared/addon/components/cru-cloud-provider/component.js +++ b/lib/shared/addon/components/cru-cloud-provider/component.js @@ -33,7 +33,9 @@ export default Component.extend({ set(this, 'configAnswers', get(this, AWS_PATH)); } else if ( cloudProviderName === 'azure' ) { set(this, 'selectedCloudProvider', 'azure'); - set(this, 'configAnswers', get(this, AZURE_PATH)); + const answers = get(this, AZURE_PATH); + delete answers.type; + set(this, 'configAnswers', answers); } else if ( !cloudProviderName ) { set(this, 'selectedCloudProvider', 'none'); } else { From 50c6abe845968013ce00e6ee835720dc1045baaf Mon Sep 17 00:00:00 2001 From: loganhz Date: Sat, 21 Apr 2018 09:54:24 +0800 Subject: [PATCH 09/11] Fix code style issue --- app/styles/components/_code.scss | 9 ++++++++- .../addon/components/settings/danger-zone/template.hbs | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/styles/components/_code.scss b/app/styles/components/_code.scss index d1531870a..38f082c14 100644 --- a/app/styles/components/_code.scss +++ b/app/styles/components/_code.scss @@ -1,9 +1,10 @@ // Code $code-color : $info !default; $code-bg : $text-color !default; -$pre-bg : rgba($light-grey, .3) !default; +$pre-bg : $text-color !default; $pre-color : $dark-grey !default; $pre-border-color : $light-grey !default; +$setting-bg : rgba($light-grey, .3) !default; code { padding: 5px 10px; @@ -23,6 +24,7 @@ pre { white-space: pre-wrap; code { + color: $light-grey; background-color: transparent; padding: 0; } @@ -31,6 +33,11 @@ pre { } } +.bg-setting { + @include bg-color($setting-bg); + @include contrasted($setting-bg); +} + .bg-code { @include bg-color($code-bg); @include contrasted($code-bg); diff --git a/lib/shared/addon/components/settings/danger-zone/template.hbs b/lib/shared/addon/components/settings/danger-zone/template.hbs index a62554d0a..43f87ad93 100644 --- a/lib/shared/addon/components/settings/danger-zone/template.hbs +++ b/lib/shared/addon/components/settings/danger-zone/template.hbs @@ -20,7 +20,7 @@ {{else}}
-
+              
                 {{~#if row.obj.value~}}
                   {{~#if (or (not row.obj) (eq row.obj.default row.obj.value))~}}
                     {{~row.obj.value~}}

From 213f8b2e271220430f25b0702e52bb6b7b523dba Mon Sep 17 00:00:00 2001
From: loganhz 
Date: Sat, 21 Apr 2018 10:04:27 +0800
Subject: [PATCH 10/11] Fix catalog issue

---
 app/models/app.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/models/app.js b/app/models/app.js
index b1d1bf4b8..5be9e5a0d 100644
--- a/app/models/app.js
+++ b/app/models/app.js
@@ -34,7 +34,7 @@ const App = Resource.extend(StateCounts, {
       }
     });
   }),
-  workloads: computed('namespace.workloads', function() {
+  workloads: computed('namespace.workloads.@each.workloadLabels', function() {
     return (get(this, 'namespace.workloads') || []).filter((item) => {
       if ( item['workloadLabels'] ) {
         return item['workloadLabels']['io.cattle.field/appId'] === get(this, 'name');

From da1dee0c709623ee6b4ea8b73608a4a177412b1f Mon Sep 17 00:00:00 2001
From: loganhz 
Date: Sat, 21 Apr 2018 10:14:16 +0800
Subject: [PATCH 11/11] Update catalog rollback

---
 .../components/modal-rollback-app/component.js      | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/lib/shared/addon/components/modal-rollback-app/component.js b/lib/shared/addon/components/modal-rollback-app/component.js
index 9562cb87a..eccf48457 100644
--- a/lib/shared/addon/components/modal-rollback-app/component.js
+++ b/lib/shared/addon/components/modal-rollback-app/component.js
@@ -3,6 +3,17 @@ import Component from '@ember/component';
 import ModalBase from 'shared/mixins/modal-base';
 import layout from './template';
 
+const HIDDEN_FIELDS = ['digest'];
+
+function sanitize(config) {
+  HIDDEN_FIELDS.forEach(key => {
+    if (config.hasOwnProperty(key)) {
+      delete config[key];
+    }
+  });
+  return config;
+}
+
 export default Component.extend(ModalBase, {
   layout,
 
@@ -67,7 +78,7 @@ export default Component.extend(ModalBase, {
     if (get(this, 'current') && get(this, 'selected')) {
       let left = get(this, 'current.status');
       let right = get(this, 'selected.status');
-      var delta = jsondiffpatch.diff(left, right);
+      var delta = jsondiffpatch.diff(sanitize(left), sanitize(right));
       jsondiffpatch.formatters.html.hideUnchanged();
       return jsondiffpatch.formatters.html.format(delta, left).htmlSafe();
     }