From 7a54198af5fc498d784e5c87c3e9971f3ec41147 Mon Sep 17 00:00:00 2001 From: Ari Sulistiono Date: Mon, 17 Aug 2026 03:43:40 +0700 Subject: [PATCH 01/10] Add deterministic global search clear UI patch --- scripts/patch-modern-global-search-clear.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 scripts/patch-modern-global-search-clear.py diff --git a/scripts/patch-modern-global-search-clear.py b/scripts/patch-modern-global-search-clear.py new file mode 100644 index 000000000..839e3cc9a --- /dev/null +++ b/scripts/patch-modern-global-search-clear.py @@ -0,0 +1,19 @@ +from pathlib import Path + +path = Path("SignalSelectionWizardWindow.xaml") +text = path.read_text(encoding="utf-8") + +resources_anchor = ''' \n ''' +style = ''' \n\n \n \n ''' +if text.count(resources_anchor) != 1: + raise SystemExit(f"Window.Resources anchor count={text.count(resources_anchor)}") +text = text.replace(resources_anchor, style, 1) + +old_button = ''' ''' +if text.count(old_button) != 1: + raise SystemExit(f"Legacy clear button anchor count={text.count(old_button)}") +text = text.replace(old_button, new_button, 1) + +path.write_text(text, encoding="utf-8", newline="\n") +print("Applied modern Lucide global-search clear control.") From a346abb628319c161dd48c41c508983bf9efe951 Mon Sep 17 00:00:00 2001 From: Ari Sulistiono Date: Mon, 17 Aug 2026 03:43:48 +0700 Subject: [PATCH 02/10] Run deterministic global search clear UI patch --- .../temp-apply-modern-global-search-clear.yml | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .github/workflows/temp-apply-modern-global-search-clear.yml diff --git a/.github/workflows/temp-apply-modern-global-search-clear.yml b/.github/workflows/temp-apply-modern-global-search-clear.yml new file mode 100644 index 000000000..480b5acb2 --- /dev/null +++ b/.github/workflows/temp-apply-modern-global-search-clear.yml @@ -0,0 +1,33 @@ +name: Temporary modern global search clear patch + +on: + push: + branches: + - ui/modern-global-search-clear + +permissions: + contents: write + +jobs: + patch: + if: github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + ref: ui/modern-global-search-clear + fetch-depth: 0 + - run: python scripts/patch-modern-global-search-clear.py + - run: git diff --check + - name: Commit patched XAML + shell: bash + run: | + if git diff --quiet; then + echo "Patch already applied." + exit 0 + fi + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add SignalSelectionWizardWindow.xaml + git commit -m "Use modern Lucide clear control in global search" + git push origin HEAD:ui/modern-global-search-clear From bdcbc512074ab44a7db31f98a165996cbeb489ee Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 16 Aug 2026 20:43:58 +0000 Subject: [PATCH 03/10] Use modern Lucide clear control in global search --- SignalSelectionWizardWindow.xaml | 83 +++++++++++++++++++++++++++++--- 1 file changed, 77 insertions(+), 6 deletions(-) diff --git a/SignalSelectionWizardWindow.xaml b/SignalSelectionWizardWindow.xaml index 3bbf58f31..a4a40a187 100644 --- a/SignalSelectionWizardWindow.xaml +++ b/SignalSelectionWizardWindow.xaml @@ -180,6 +180,58 @@ + + + @@ -246,13 +298,32 @@ - From f9890ad61b1d3935ec075ce6473053674c4a837d Mon Sep 17 00:00:00 2001 From: Ari Sulistiono Date: Mon, 17 Aug 2026 03:44:25 +0700 Subject: [PATCH 04/10] Make global search clear patch XAML-safe --- scripts/patch-modern-global-search-clear.py | 26 ++++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/scripts/patch-modern-global-search-clear.py b/scripts/patch-modern-global-search-clear.py index 839e3cc9a..ff919fa4f 100644 --- a/scripts/patch-modern-global-search-clear.py +++ b/scripts/patch-modern-global-search-clear.py @@ -3,17 +3,21 @@ path = Path("SignalSelectionWizardWindow.xaml") text = path.read_text(encoding="utf-8") -resources_anchor = ''' \n ''' -style = ''' \n\n \n \n ''' -if text.count(resources_anchor) != 1: - raise SystemExit(f"Window.Resources anchor count={text.count(resources_anchor)}") -text = text.replace(resources_anchor, style, 1) +old = ''' ''' -if text.count(old_button) != 1: - raise SystemExit(f"Legacy clear button anchor count={text.count(old_button)}") -text = text.replace(old_button, new_button, 1) +if old in text: + text = text.replace(old, new, 1) +elif new not in text: + raise SystemExit("Modern global-search clear button was not found in expected shape.") + +# The local style inherits the reusable visual style and owns only the visibility trigger. +if '' not in text or 'BasedOn="{StaticResource GlobalSearchClearButton}"' not in text: + raise SystemExit("Expected local Button.Style/visibility trigger is missing.") +if 'Data="{StaticResource LucideX}"' not in text: + raise SystemExit("Expected LucideX vector icon is missing.") +if 'Content="×"' in text: + raise SystemExit("Legacy text multiplication-sign clear glyph is still present.") path.write_text(text, encoding="utf-8", newline="\n") -print("Applied modern Lucide global-search clear control.") +print("Validated modern Lucide clear button and removed duplicate Style assignment.") From a26f3ee533db5f2d9b112ecdd5b722806c99ffa6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 16 Aug 2026 20:44:35 +0000 Subject: [PATCH 05/10] Use modern Lucide clear control in global search --- SignalSelectionWizardWindow.xaml | 1 - 1 file changed, 1 deletion(-) diff --git a/SignalSelectionWizardWindow.xaml b/SignalSelectionWizardWindow.xaml index a4a40a187..5a5c8b46c 100644 --- a/SignalSelectionWizardWindow.xaml +++ b/SignalSelectionWizardWindow.xaml @@ -300,7 +300,6 @@