From 5b16d13e15cf1f8d9c06edde6a67530d1c34c2c6 Mon Sep 17 00:00:00 2001 From: Phil Bastian Date: Wed, 29 Oct 2025 14:06:37 +0800 Subject: [PATCH 1/3] clean up initialisation of MessageStore --- src/Frontend/src/stores/ConfigurationStore.ts | 1 - src/Frontend/src/stores/EditRetryStore.ts | 25 ------------------- src/Frontend/src/stores/MessageStore.ts | 19 ++++++++------ 3 files changed, 12 insertions(+), 33 deletions(-) delete mode 100644 src/Frontend/src/stores/EditRetryStore.ts diff --git a/src/Frontend/src/stores/ConfigurationStore.ts b/src/Frontend/src/stores/ConfigurationStore.ts index b7e4b9fbd..231f1e6a4 100644 --- a/src/Frontend/src/stores/ConfigurationStore.ts +++ b/src/Frontend/src/stores/ConfigurationStore.ts @@ -22,7 +22,6 @@ export const useConfigurationStore = defineStore("ConfigurationStore", () => { return { configuration, - refresh, isMassTransitConnected, }; }); diff --git a/src/Frontend/src/stores/EditRetryStore.ts b/src/Frontend/src/stores/EditRetryStore.ts deleted file mode 100644 index 2fe34e8c5..000000000 --- a/src/Frontend/src/stores/EditRetryStore.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { acceptHMRUpdate, defineStore } from "pinia"; -import { ref } from "vue"; -import { EditAndRetryConfig } from "@/resources/Configuration"; -import { useServiceControlStore } from "./ServiceControlStore"; - -export const useEditRetryStore = defineStore("EditRetryStore", () => { - const config = ref({ enabled: false, locked_headers: [], sensitive_headers: [] }); - const serviceControlStore = useServiceControlStore(); - - async function loadConfig() { - const [, data] = await serviceControlStore.fetchTypedFromServiceControl("edit/config"); - config.value = data; - } - - return { - config, - loadConfig, - }; -}); - -if (import.meta.hot) { - import.meta.hot.accept(acceptHMRUpdate(useEditRetryStore, import.meta.hot)); -} - -export type EditRetryStore = ReturnType; diff --git a/src/Frontend/src/stores/MessageStore.ts b/src/Frontend/src/stores/MessageStore.ts index 97f714feb..b3b83148d 100644 --- a/src/Frontend/src/stores/MessageStore.ts +++ b/src/Frontend/src/stores/MessageStore.ts @@ -1,9 +1,8 @@ import { acceptHMRUpdate, defineStore, storeToRefs } from "pinia"; -import { computed, reactive, ref } from "vue"; +import { computed, reactive, ref, watch } from "vue"; import Header from "@/resources/Header"; import type EndpointDetails from "@/resources/EndpointDetails"; import { FailedMessage, ExceptionDetails, FailedMessageStatus } from "@/resources/FailedMessage"; -import { useEditRetryStore } from "@/stores/EditRetryStore"; import { useConfigurationStore } from "@/stores/ConfigurationStore"; import Message, { MessageStatus } from "@/resources/Message"; import moment from "moment/moment"; @@ -11,6 +10,7 @@ import { parse, stringify } from "lossless-json"; import xmlFormat from "xml-formatter"; import { DataContainer } from "./DataContainer"; import { useServiceControlStore } from "./ServiceControlStore"; +import { EditAndRetryConfig } from "@/resources/Configuration"; interface Model { id?: string; @@ -62,19 +62,24 @@ export const useMessageStore = defineStore("MessageStore", () => { const headers = ref>({ data: [] }); const body = ref>({ data: {} }); const state = reactive>({ data: { failure_metadata: {}, failure_status: {}, dialog_status: {}, invoked_saga: {} } }); + const edit_and_retry_config = ref({ enabled: false, locked_headers: [], sensitive_headers: [] }); + const conversationData = ref>({ data: [] }); + let bodyLoadedId = ""; let conversationLoadedId = ""; - const conversationData = ref>({ data: [] }); - const editRetryStore = useEditRetryStore(); + const configStore = useConfigurationStore(); const serviceControlStore = useServiceControlStore(); + const { serviceControlUrl } = storeToRefs(serviceControlStore); - const { config: edit_and_retry_config } = storeToRefs(editRetryStore); const { configuration } = storeToRefs(configStore); const error_retention_period = computed(() => moment.duration(configuration.value?.data_retention?.error_retention_period).asHours()); - // eslint-disable-next-line promise/catch-or-return,promise/prefer-await-to-then,promise/valid-params - Promise.all([editRetryStore.loadConfig(), configStore.refresh()]).then(); + watch(serviceControlUrl, loadConfig, { immediate: true }); + async function loadConfig() { + const [, data] = await serviceControlStore.fetchTypedFromServiceControl("edit/config"); + edit_and_retry_config.value = data; + } function reset() { state.data = { failure_metadata: {}, failure_status: {}, dialog_status: {}, invoked_saga: {} }; From e33538a6b402dc39636f7a1d258f378d2e141c7a Mon Sep 17 00:00:00 2001 From: Phil Bastian Date: Wed, 29 Oct 2025 14:34:31 +0800 Subject: [PATCH 2/3] handle test setup --- src/Frontend/src/stores/MessageStore.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Frontend/src/stores/MessageStore.ts b/src/Frontend/src/stores/MessageStore.ts index b3b83148d..3863baf1c 100644 --- a/src/Frontend/src/stores/MessageStore.ts +++ b/src/Frontend/src/stores/MessageStore.ts @@ -1,5 +1,5 @@ import { acceptHMRUpdate, defineStore, storeToRefs } from "pinia"; -import { computed, reactive, ref, watch } from "vue"; +import { computed, reactive, Ref, ref, watch } from "vue"; import Header from "@/resources/Header"; import type EndpointDetails from "@/resources/EndpointDetails"; import { FailedMessage, ExceptionDetails, FailedMessageStatus } from "@/resources/FailedMessage"; @@ -77,6 +77,7 @@ export const useMessageStore = defineStore("MessageStore", () => { watch(serviceControlUrl, loadConfig, { immediate: true }); async function loadConfig() { + if (!serviceControlUrl.value) return; const [, data] = await serviceControlStore.fetchTypedFromServiceControl("edit/config"); edit_and_retry_config.value = data; } From a5826ae0985f29a7665f5865ef815d9802039f98 Mon Sep 17 00:00:00 2001 From: Phil Bastian Date: Wed, 29 Oct 2025 14:39:26 +0800 Subject: [PATCH 3/3] remove unused import --- src/Frontend/src/stores/MessageStore.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Frontend/src/stores/MessageStore.ts b/src/Frontend/src/stores/MessageStore.ts index 3863baf1c..9dfaf5ea9 100644 --- a/src/Frontend/src/stores/MessageStore.ts +++ b/src/Frontend/src/stores/MessageStore.ts @@ -1,5 +1,5 @@ import { acceptHMRUpdate, defineStore, storeToRefs } from "pinia"; -import { computed, reactive, Ref, ref, watch } from "vue"; +import { computed, reactive, ref, watch } from "vue"; import Header from "@/resources/Header"; import type EndpointDetails from "@/resources/EndpointDetails"; import { FailedMessage, ExceptionDetails, FailedMessageStatus } from "@/resources/FailedMessage";