From dd7157c9ce9031e0632512db14bc1aa56b136206 Mon Sep 17 00:00:00 2001 From: Stephen Griffin Date: Mon, 12 Jan 2026 16:13:41 -0500 Subject: [PATCH 1/3] clicking analzye multiple times shouldn't break us --- src/Scripts/ui/Table.ts | 6 +++++- src/Scripts/ui/mha.ts | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Scripts/ui/Table.ts b/src/Scripts/ui/Table.ts index 83f15b0d..adaa9996 100644 --- a/src/Scripts/ui/Table.ts +++ b/src/Scripts/ui/Table.ts @@ -123,6 +123,7 @@ export class Table { rows.forEach((summaryRow: Row) => { const id = summaryRow.header + tag; + if (document.getElementById(id)) return; // Skip if already exists const row = document.createElement("tr"); if (row !== null) { row.id = id; @@ -400,9 +401,10 @@ export class Table { } private addColumns(tableName: string, columns: Column[]): void { - const tableHeader = document.createElement("thead"); const table = document.getElementById(tableName); if (table) { + if (table.querySelector("thead")) return; // Skip if already has headers + const tableHeader = document.createElement("thead"); table.appendChild(tableHeader); const headerRow = document.createElement("tr"); @@ -496,6 +498,8 @@ export class Table { private setupReceivedHeadersUI(): void { const withColumn = document.querySelector("#receivedHeaders #with"); if (withColumn !== null) { + if (document.getElementById("leftArrow")) return; // Skip if already exists + const leftSpan = document.createElement("span"); leftSpan.setAttribute("id", "leftArrow"); leftSpan.classList.add("collapsibleArrow"); diff --git a/src/Scripts/ui/mha.ts b/src/Scripts/ui/mha.ts index 0ee75d09..9adc3125 100644 --- a/src/Scripts/ui/mha.ts +++ b/src/Scripts/ui/mha.ts @@ -93,6 +93,10 @@ async function analyze() { } viewModel = await HeaderModel.create(headerText); + + // Clear UI first to ensure clean slate (same as Clear button) + table.rebuildSections(null); + table.resetArrows(); enableSpinner(); From ee19b5c4dffd51248fc536a591f2f3c8c869ff2f Mon Sep 17 00:00:00 2001 From: Stephen Griffin Date: Mon, 12 Jan 2026 16:19:40 -0500 Subject: [PATCH 2/3] Add missing diag section --- src/Pages/mha.html | 10 ++++++++++ src/Scripts/ui/mha.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Pages/mha.html b/src/Pages/mha.html index 8e407ae2..1b2d74b1 100644 --- a/src/Pages/mha.html +++ b/src/Pages/mha.html @@ -75,6 +75,16 @@

Analysis Results

+ + \ No newline at end of file diff --git a/src/Scripts/ui/mha.ts b/src/Scripts/ui/mha.ts index 9adc3125..837b47a8 100644 --- a/src/Scripts/ui/mha.ts +++ b/src/Scripts/ui/mha.ts @@ -94,7 +94,7 @@ async function analyze() { viewModel = await HeaderModel.create(headerText); - // Clear UI first to ensure clean slate (same as Clear button) + // Clear UI before rebuilding to ensure clean state table.rebuildSections(null); table.resetArrows(); From beac8b021a91d8eb90a3c4a70293f122be6eac88 Mon Sep 17 00:00:00 2001 From: Stephen Griffin Date: Tue, 13 Jan 2026 09:37:34 -0500 Subject: [PATCH 3/3] add rewrite to web.config --- Web.config | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Web.config b/Web.config index 968ea6d5..e200ebd0 100644 --- a/Web.config +++ b/Web.config @@ -7,6 +7,16 @@ + + + + + + + + + +