From fdce97055d3273f3166918c7d015fd93f8263469 Mon Sep 17 00:00:00 2001
From: Randy Bruno Piverger <21374229+Randy424@users.noreply.github.com>
Date: Wed, 26 Aug 2026 21:52:54 -0700
Subject: [PATCH 1/3] ACM-42794: Ensure typeahead inputs disable browser
autocomplete
Both AcmSelectBase and react-form-wizard's InputSelect already attempted
to disable native autocomplete by passing autoComplete="off" directly
to PatternFly's TextInputGroupMain, but that component only forwards a
fixed allowlist of props (plus inputProps) to the underlying -
everything else lands on the wrapping
instead. As a result the
real never received the attribute, so Chrome kept suggesting
and obscuring previously typed values in typeahead/combobox fields
(e.g. release image selection, automation template dropdown).
Route autoComplete through inputProps/resolvedInputProps, which is
the mechanism TextInputGroupMain actually spreads onto the input.
Signed-off-by: Randy Bruno Piverger <21374229+Randy424@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 5
---
frontend/packages/react-form-wizard/src/inputs/InputSelect.tsx | 2 +-
frontend/src/components/AcmSelectBase.tsx | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/frontend/packages/react-form-wizard/src/inputs/InputSelect.tsx b/frontend/packages/react-form-wizard/src/inputs/InputSelect.tsx
index 2633110d307..75b0e97355c 100644
--- a/frontend/packages/react-form-wizard/src/inputs/InputSelect.tsx
+++ b/frontend/packages/react-form-wizard/src/inputs/InputSelect.tsx
@@ -225,10 +225,10 @@ export const InputSelect = ({
onClick={onInputClick}
onChange={onTextInputChange}
onKeyDown={onInputKeyDown}
- autoComplete="off"
innerRef={textInputRef}
placeholder={placeholder}
isExpanded={open}
+ inputProps={{ autoComplete: 'off' }}
style={isMultiSelect && Array.isArray(value) && value.length > 0 ? { overflow: 'auto' } : undefined}
>
{Array.isArray(value) && (
diff --git a/frontend/src/components/AcmSelectBase.tsx b/frontend/src/components/AcmSelectBase.tsx
index 2081c1a08ab..5201ea564c9 100644
--- a/frontend/src/components/AcmSelectBase.tsx
+++ b/frontend/src/components/AcmSelectBase.tsx
@@ -232,6 +232,7 @@ export function AcmSelectBase(props: AcmSelectBaseProps) {
} = props
const resolvedInputProps = {
+ autoComplete: 'off',
...inputProps,
...(id && { id }),
}
@@ -722,7 +723,6 @@ export function AcmSelectBase(props: AcmSelectBaseProps) {
commitTypeaheadInput(event.currentTarget.value)
}
}}
- autoComplete="off"
innerRef={textInputRef}
placeholder={placeholder}
inputId={id}
From 528ac37eb29c67b61eb4ade31cfe02399db1299c Mon Sep 17 00:00:00 2001
From: Randy Bruno Piverger <21374229+Randy424@users.noreply.github.com>
Date: Wed, 26 Aug 2026 21:52:59 -0700
Subject: [PATCH 2/3] ACM-42794: Add regression test for typeahead autocomplete
attribute
Verifies the AcmSelectBase typeahead variant renders its with
autocomplete="off", so Chrome's autofill/autocomplete UI cannot mask
ACM's own dropdown options.
Signed-off-by: Randy Bruno Piverger <21374229+Randy424@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 5
---
.../AcmSelect/AcmSelect.test.tsx | 22 +++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/frontend/src/ui-components/AcmSelect/AcmSelect.test.tsx b/frontend/src/ui-components/AcmSelect/AcmSelect.test.tsx
index 6981b023bb9..e07e7af11fa 100644
--- a/frontend/src/ui-components/AcmSelect/AcmSelect.test.tsx
+++ b/frontend/src/ui-components/AcmSelect/AcmSelect.test.tsx
@@ -71,6 +71,28 @@ describe('AcmSelect', () => {
expect(getByPlaceholderText('Select one')).toBeInTheDocument()
})
+ test('typeahead variant disables browser autocomplete on the input (ACM-42794)', async () => {
+ const TypeaheadSelect = () => {
+ const [value, setValue] = useState()
+ return (
+
+
+ Red
+
+
+ )
+ }
+ const { getByPlaceholderText } = render()
+ expect(getByPlaceholderText('Select one')).toHaveAttribute('autocomplete', 'off')
+ })
+
test('validates required input', async () => {
const Component = () => {
const [value, setValue] = useState(undefined)
From 44abbf29c4bc32140572f2cbd914048bc9edd128 Mon Sep 17 00:00:00 2001
From: Randy Bruno Piverger <21374229+Randy424@users.noreply.github.com>
Date: Thu, 27 Aug 2026 08:38:23 -0700
Subject: [PATCH 3/3] ACM-42794: Update snapshots for corrected autocomplete
attribute placement
ControlPanelMultiSelect and ControlPanelSingleSelect snapshots
previously captured autoComplete="off" on the TextInputGroupMain
wrapper div (the prior no-op placement). Update them to reflect the
attribute now landing on the real element.
Signed-off-by: Randy Bruno Piverger <21374229+Randy424@users.noreply.github.com>
Co-Authored-By: Claude Sonnet 5
---
.../controls/__snapshots__/ControlPanelMultiSelect.test.js.snap | 2 +-
.../__snapshots__/ControlPanelSingleSelect.test.js.snap | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/frontend/src/components/TemplateEditor/controls/__snapshots__/ControlPanelMultiSelect.test.js.snap b/frontend/src/components/TemplateEditor/controls/__snapshots__/ControlPanelMultiSelect.test.js.snap
index 6dcb016aba2..17b59c7a6d8 100644
--- a/frontend/src/components/TemplateEditor/controls/__snapshots__/ControlPanelMultiSelect.test.js.snap
+++ b/frontend/src/components/TemplateEditor/controls/__snapshots__/ControlPanelMultiSelect.test.js.snap
@@ -73,7 +73,6 @@ exports[`ControlPanelMultiSelect component renders as expected 1`] = `
class="pf-v6-c-text-input-group pf-m-plain"
>