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" >