diff --git a/src/Frontend/src/components/messages/BodyView.vue b/src/Frontend/src/components/messages/BodyView.vue
index 62222c599d..afa13636f1 100644
--- a/src/Frontend/src/components/messages/BodyView.vue
+++ b/src/Frontend/src/components/messages/BodyView.vue
@@ -25,6 +25,7 @@ const body = computed(() => bodyState.value.data.value);
Could not find the message body. This could be because the message URL is invalid or the corresponding message was processed and is no longer tracked by ServiceControl.
Message body unavailable.
+ Body was too large and not stored. Edit ServiceControl/MaxBodySizeToStore to be larger in the ServiceControl configuration.
Message body cannot be displayed because content type "{{ bodyState.data.content_type }}" is not supported.
diff --git a/src/Frontend/src/stores/MessageStore.ts b/src/Frontend/src/stores/MessageStore.ts
index c3d1ee19df..a746ffd10e 100644
--- a/src/Frontend/src/stores/MessageStore.ts
+++ b/src/Frontend/src/stores/MessageStore.ts
@@ -61,7 +61,7 @@ interface Model {
export const useMessageStore = defineStore("MessageStore", () => {
const headers = ref>({ data: [] });
- const body = ref>({ data: {} });
+ const body = ref>({ data: {} });
const state = reactive>({ data: { failure_metadata: {}, failure_status: {}, dialog_status: {}, invoked_saga: {} } });
let bodyLoadedId = "";
let conversationLoadedId = "";
@@ -204,6 +204,12 @@ export const useMessageStore = defineStore("MessageStore", () => {
return;
}
+ if (response.status === 204) {
+ body.value.data.no_content = true;
+
+ return;
+ }
+
const contentType = response.headers.get("content-type");
body.value.data.content_type = contentType ?? "text/plain";
body.value.data.value = await response.text();
@@ -288,7 +294,7 @@ export const useMessageStore = defineStore("MessageStore", () => {
await downloadBody();
- if (!(body.value.not_found || body.value.failed_to_load)) {
+ if (!(body.value.not_found || body.value.failed_to_load || body.value.data.no_content)) {
exportString += "\n\nMESSAGE BODY\n";
exportString += body.value.data.value;
}