From e848327f15083f16ec618b9b2f39deed88ec12eb Mon Sep 17 00:00:00 2001 From: huyan Date: Sun, 23 Aug 2026 21:24:23 +0800 Subject: [PATCH 1/2] test(quick-start): cover browser autocomplete contract Browser form history can obscure the creation composer. Assert autocomplete is disabled on the prompt field and form. Protect the conversational input contract from regressions. --- frontend/src/pages/quick-start/index.test.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frontend/src/pages/quick-start/index.test.tsx b/frontend/src/pages/quick-start/index.test.tsx index ab996ec0..02638e47 100644 --- a/frontend/src/pages/quick-start/index.test.tsx +++ b/frontend/src/pages/quick-start/index.test.tsx @@ -498,6 +498,14 @@ describe('QuickStartPage', () => { ) }) + it('keeps browser form history out of the creation composer', () => { + renderAt('/quick-start', serviceFor(null)) + const composer = screen.getByRole('textbox', { name: '创作指令' }) + + expect(composer.getAttribute('autocomplete')).toBe('off') + expect(composer.closest('form')?.getAttribute('autocomplete')).toBe('off') + }) + it('keeps the entry and run canvases at least viewport height', async () => { const entry = renderAt('/quick-start', serviceFor(null)) expect(entry.getByLabelText('创作指令').closest('section')?.className).toContain( From f561d2af82fbef8a1f2b55bb0f14e23b4fdc7c84 Mon Sep 17 00:00:00 2001 From: huyan Date: Sun, 23 Aug 2026 21:24:57 +0800 Subject: [PATCH 2/2] fix(quick-start): disable prompt autocomplete Saved form entries appear over the conversational creation composer. Disable autocomplete on both the prompt field and its form. Keep browser history suggestions out without changing generation behavior. --- frontend/src/pages/quick-start/index.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/src/pages/quick-start/index.tsx b/frontend/src/pages/quick-start/index.tsx index 1b4b561b..ea3a7858 100644 --- a/frontend/src/pages/quick-start/index.tsx +++ b/frontend/src/pages/quick-start/index.tsx @@ -804,6 +804,7 @@ function QuickStartInput({ >
void submit(event)} + autoComplete="off" data-prompt-state={promptState} className={`quick-start-agent-composer grid items-center gap-1.5 overflow-hidden rounded-xl border border-app-line-strong bg-app-surface-raised p-1.5 shadow-app-panel transition-shadow focus-within:border-app-accent focus-within:shadow-[var(--shadow-app-composer-focus)] ${ hasConversation ? 'sm:grid-cols-[1fr_auto]' : 'sm:grid-cols-[1fr_auto_auto]' @@ -814,6 +815,7 @@ function QuickStartInput({ setPrompt(event.target.value)}