From cfbde639832aa714b6395916e6ffb2610db76dd8 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Sun, 28 Sep 2025 23:22:03 +0530 Subject: [PATCH 1/2] feat: add hidden email input to password reset form for password manager compatibility --- src/routes/(public)/recover/+page.svelte | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/routes/(public)/recover/+page.svelte b/src/routes/(public)/recover/+page.svelte index 1fb21d9b81..310e777abb 100644 --- a/src/routes/(public)/recover/+page.svelte +++ b/src/routes/(public)/recover/+page.svelte @@ -13,6 +13,7 @@ let email: string; let userId: string; let secret: string; + let userEmail: string; let password: string; let confirmPassword: string; @@ -20,6 +21,7 @@ onMount(() => { userId = page.url.searchParams.get('userId'); secret = page.url.searchParams.get('secret'); + userEmail = page.url.searchParams.get('email') || ''; }); async function recover() { @@ -76,18 +78,30 @@ {#if userId && secret}
+ + + From 563b2bda2b7f1b61869f79078a86efcbaa2bf8aa Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Sun, 28 Sep 2025 23:40:30 +0530 Subject: [PATCH 2/2] fix using string --- src/lib/elements/forms/inputPassword.svelte | 8 ++++++-- src/routes/(public)/recover/+page.svelte | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib/elements/forms/inputPassword.svelte b/src/lib/elements/forms/inputPassword.svelte index 6e2d0c7b84..c371fbeeaa 100644 --- a/src/lib/elements/forms/inputPassword.svelte +++ b/src/lib/elements/forms/inputPassword.svelte @@ -10,7 +10,7 @@ export let required = false; export let disabled = false; export let autofocus = false; - export let autocomplete = false; + export let autocomplete: boolean | string = false; export let minlength = 8; export let maxlength: number = null; export let leadingIcon: ComponentType | undefined = undefined; @@ -47,7 +47,11 @@ {leadingIcon} state={error ? 'error' : 'default'} autofocus={autofocus || undefined} - autocomplete={autocomplete ? 'on' : 'off'} + autocomplete={typeof autocomplete === 'string' + ? (autocomplete as HTMLInputElement['autocomplete']) + : autocomplete + ? 'on' + : 'off'} helper={helper || error} on:invalid={handleInvalid} bind:value> diff --git a/src/routes/(public)/recover/+page.svelte b/src/routes/(public)/recover/+page.svelte index 310e777abb..b331506ef4 100644 --- a/src/routes/(public)/recover/+page.svelte +++ b/src/routes/(public)/recover/+page.svelte @@ -94,14 +94,14 @@ id="password" autofocus={true} required={true} - autocomplete={true} + autocomplete="new-password" bind:value={password} />