From e23fa64b6227f53561d6db362e0a8b43c5abe089 Mon Sep 17 00:00:00 2001 From: RainbowBird Date: Fri, 4 Sep 2026 15:56:01 +0800 Subject: [PATCH] fix(stage-layouts): suppress mobile browser form assistance (#2460) --- .../components/InteractiveArea.browser.test.ts | 10 ++++++++++ .../src/components/Layouts/MobileInteractiveArea.vue | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/apps/stage-tamagotchi/src/renderer/components/InteractiveArea.browser.test.ts b/apps/stage-tamagotchi/src/renderer/components/InteractiveArea.browser.test.ts index 86dab7238..9004e4171 100644 --- a/apps/stage-tamagotchi/src/renderer/components/InteractiveArea.browser.test.ts +++ b/apps/stage-tamagotchi/src/renderer/components/InteractiveArea.browser.test.ts @@ -315,6 +315,16 @@ describe('interactive area synchronized state', () => { })) }) + it('opts the mobile composer out of browser form assistance', async () => { + const { screen } = await renderArea(MobileInteractiveArea) + const input = screen.getByRole('textbox').element() as HTMLTextAreaElement + + expect(input.getAttribute('autocomplete')).toBe('off') + expect(input.getAttribute('autocapitalize')).toBe('off') + expect(input.getAttribute('autocorrect')).toBe('off') + expect(input.spellcheck).toBe(false) + }) + // https://github.com/moeru-ai/airi/pull/2086#discussion_r3755530944 it('keeps a failed mobile draft out of a newly selected session for Issue #2085', async () => { // ROOT CAUSE: diff --git a/packages/stage-layouts/src/components/Layouts/MobileInteractiveArea.vue b/packages/stage-layouts/src/components/Layouts/MobileInteractiveArea.vue index 2f55b34ab..8a7d19333 100644 --- a/packages/stage-layouts/src/components/Layouts/MobileInteractiveArea.vue +++ b/packages/stage-layouts/src/components/Layouts/MobileInteractiveArea.vue @@ -564,6 +564,10 @@ onUnmounted(() => {