From 66853892752b42cd2734a2a740e37bf45ac93f33 Mon Sep 17 00:00:00 2001
From: John Simons
Date: Wed, 9 Apr 2025 13:58:37 +1000
Subject: [PATCH 1/4] Improvements to Flow diagram
---
src/Frontend/package-lock.json | 14 ++-
src/Frontend/package.json | 1 +
src/Frontend/src/assets/endpoint.svg | 8 +-
src/Frontend/src/components/TimeSince.vue | 14 ++-
.../components/failedmessages/MessageList.vue | 4 +-
.../components/heartbeats/LastHeartbeat.vue | 2 +-
.../src/components/messages/MessageView.vue | 4 +-
.../src/components/messages2/FlowDiagram.vue | 99 ++++++++++++-------
.../src/components/messages2/MessageView.vue | 4 +-
9 files changed, 102 insertions(+), 48 deletions(-)
diff --git a/src/Frontend/package-lock.json b/src/Frontend/package-lock.json
index 31406d620..7e66459fd 100644
--- a/src/Frontend/package-lock.json
+++ b/src/Frontend/package-lock.json
@@ -17,6 +17,7 @@
"bootstrap": "^5.3.5",
"bootstrap-icons": "^1.11.3",
"codemirror": "^6.0.1",
+ "hex-to-css-filter": "^6.0.0",
"lodash.debounce": "^4.0.8",
"lossless-json": "^4.0.2",
"memoize-one": "^6.0.0",
@@ -4560,6 +4561,18 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/hex-to-css-filter": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/hex-to-css-filter/-/hex-to-css-filter-6.0.0.tgz",
+ "integrity": "sha512-nQMSn+lEF2C1ddyMVBIyIPWRnaH0ZwFi2dcTtAop6cUyY0AbkA6uI/evpkvEHMD9G9DlHf8xraMJIIJ74S+MKA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=6.10.2"
+ }
+ },
"node_modules/hookable": {
"version": "5.5.3",
"resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
@@ -6898,7 +6911,6 @@
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "dev": true,
"license": "0BSD"
},
"node_modules/type-check": {
diff --git a/src/Frontend/package.json b/src/Frontend/package.json
index 3ea860e86..c558c45ed 100644
--- a/src/Frontend/package.json
+++ b/src/Frontend/package.json
@@ -26,6 +26,7 @@
"bootstrap": "^5.3.5",
"bootstrap-icons": "^1.11.3",
"codemirror": "^6.0.1",
+ "hex-to-css-filter": "^6.0.0",
"lodash.debounce": "^4.0.8",
"lossless-json": "^4.0.2",
"memoize-one": "^6.0.0",
diff --git a/src/Frontend/src/assets/endpoint.svg b/src/Frontend/src/assets/endpoint.svg
index 3769d43c6..6e23ac345 100644
--- a/src/Frontend/src/assets/endpoint.svg
+++ b/src/Frontend/src/assets/endpoint.svg
@@ -1,12 +1,12 @@
+
\ No newline at end of file
diff --git a/src/Frontend/src/components/TimeSince.vue b/src/Frontend/src/components/TimeSince.vue
index 85583ddd4..c3faf2a37 100644
--- a/src/Frontend/src/components/TimeSince.vue
+++ b/src/Frontend/src/components/TimeSince.vue
@@ -1,6 +1,7 @@
- {{ text }}
+
+
+ {{ row }}
+
+ {{ text }}
+
diff --git a/src/Frontend/src/components/failedmessages/MessageList.vue b/src/Frontend/src/components/failedmessages/MessageList.vue
index d01bc4a50..216559345 100644
--- a/src/Frontend/src/components/failedmessages/MessageList.vue
+++ b/src/Frontend/src/components/failedmessages/MessageList.vue
@@ -4,6 +4,7 @@ import TimeSince from "../TimeSince.vue";
import NoData from "../NoData.vue";
import routeLinks from "@/router/routeLinks";
import { FailedMessageStatus, ExtendedFailedMessage } from "@/resources/FailedMessage";
+import { hexToCSSFilter } from "hex-to-css-filter";
export interface IMessageList {
getSelectedMessages(): ExtendedFailedMessage[];
@@ -89,6 +90,7 @@ defineExpose({
isAnythingDisplayed,
numberDisplayed,
});
+const endpointColor = hexToCSSFilter("#929E9E").filter;
@@ -122,7 +124,7 @@ defineExpose({
Failed:
- Endpoint: {{ message.receiving_endpoint.name }}
+ Endpoint: {{ message.receiving_endpoint.name }}
Machine: {{ message.receiving_endpoint.host }}
Redirect: {{ message.redirect }}
diff --git a/src/Frontend/src/components/heartbeats/LastHeartbeat.vue b/src/Frontend/src/components/heartbeats/LastHeartbeat.vue
index bc60b02a0..f34ff30a4 100644
--- a/src/Frontend/src/components/heartbeats/LastHeartbeat.vue
+++ b/src/Frontend/src/components/heartbeats/LastHeartbeat.vue
@@ -13,7 +13,7 @@ defineProps<{ date?: string; tooltipTarget: string }>();
No heartbeat data received for this {{ tooltipTarget }}.
Have you installed and configured the heartbeats plugin for this {{ tooltipTarget }}?
- No data available
+ No data available
diff --git a/src/Frontend/src/components/messages/MessageView.vue b/src/Frontend/src/components/messages/MessageView.vue
index 786b428fe..c0a4f66d9 100644
--- a/src/Frontend/src/components/messages/MessageView.vue
+++ b/src/Frontend/src/components/messages/MessageView.vue
@@ -24,6 +24,7 @@ import HeadersView from "@/components/messages/HeadersView.vue";
import StackTraceView from "@/components/messages/StacktraceView.vue";
import { stringify, parse } from "lossless-json";
import xmlFormat from "xml-formatter";
+import { hexToCSSFilter } from "hex-to-css-filter";
let refreshInterval: number | undefined;
let pollingFaster = false;
@@ -278,6 +279,7 @@ onMounted(async () => {
onUnmounted(() => {
stopRefreshInterval();
});
+const endpointColor = hexToCSSFilter("#929E9E").filter;
@@ -315,7 +317,7 @@ onUnmounted(() => {
View previous version
Failed:
- Endpoint: {{ failedMessage.receiving_endpoint.name }}
+ Endpoint: {{ failedMessage.receiving_endpoint.name }}
Machine: {{ failedMessage.receiving_endpoint.host }}
Redirect: {{ failedMessage.redirect }}
diff --git a/src/Frontend/src/components/messages2/FlowDiagram.vue b/src/Frontend/src/components/messages2/FlowDiagram.vue
index e7df88228..cb6f68642 100644
--- a/src/Frontend/src/components/messages2/FlowDiagram.vue
+++ b/src/Frontend/src/components/messages2/FlowDiagram.vue
@@ -1,14 +1,17 @@
@@ -195,27 +203,37 @@ function typeIcon(type: MessageType) {
-
+
+
+
+
+
+
+
+
-
+
-
-
+
+
- {{ data.nodeName }}
- {{ data.nodeName }}
+
+
-
+
-
+
- {{ data.sagaName }}
+
+
+
+
@@ -230,6 +248,12 @@ function typeIcon(type: MessageType) {