summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/kube/contents/ui/LogView.qml8
-rw-r--r--tests/tst_logview.qml8
2 files changed, 16 insertions, 0 deletions
diff --git a/components/kube/contents/ui/LogView.qml b/components/kube/contents/ui/LogView.qml
index e92db8a2..24d42373 100644
--- a/components/kube/contents/ui/LogView.qml
+++ b/components/kube/contents/ui/LogView.qml
@@ -46,6 +46,14 @@ Controls.SplitView {
46 root.pendingError = true 46 root.pendingError = true
47 } 47 }
48 var error = {timestamp: new Date(), message: message.message, details: message.details, resource: message.resource} 48 var error = {timestamp: new Date(), message: message.message, details: message.details, resource: message.resource}
49 if (logModel.count > 0) {
50 var lastEntry = logModel.get(0)
51 //Merge if we get an entry of the same subtype
52 if (lastEntry.subtype && lastEntry.subtype == message.subtype) {
53 logModel.set(0, {type: message.type, subtype: message.subtype, errors: [error].concat(lastEntry.errors)})
54 return
55 }
56 }
49 logModel.insert(0, {type: message.type, subtype: message.subtype, errors: [error]}) 57 logModel.insert(0, {type: message.type, subtype: message.subtype, errors: [error]})
50 } 58 }
51 } 59 }
diff --git a/tests/tst_logview.qml b/tests/tst_logview.qml
index 48e21734..86668d72 100644
--- a/tests/tst_logview.qml
+++ b/tests/tst_logview.qml
@@ -54,5 +54,13 @@ TestCase {
54 compare(listModel.get(0).errors.count, 1) 54 compare(listModel.get(0).errors.count, 1)
55 compare(listModel.get(0).errors.get(0).message, "foobar") 55 compare(listModel.get(0).errors.get(0).message, "foobar")
56 compare(listModel.get(0).errors.get(0).resource, "resource") 56 compare(listModel.get(0).errors.get(0).resource, "resource")
57
58 Kube.Fabric.postMessage(Kube.Messages.notification, {"type": Kube.Notifications.error, "subtype": "merge", message: "merge1", resource: "resource1"})
59 compare(listModel.count, 3)
60 Kube.Fabric.postMessage(Kube.Messages.notification, {"type": Kube.Notifications.error, "subtype": "merge", message: "merge2", resource: "resource2"})
61 compare(listModel.count, 3)
62 compare(listModel.get(0).errors.count, 2)
63 compare(listModel.get(0).errors.get(0).message, "merge2")
64 compare(listModel.get(0).errors.get(0).resource, "resource2")
57 } 65 }
58} 66}