From 125aaa5b6c564b1b02267dd71ba5fe6b8d3a2aa3 Mon Sep 17 00:00:00 2001 From: Jason Crawford Date: Sat, 21 Feb 2026 07:32:15 -0800 Subject: [PATCH 1/3] fix: rename name input to site_name to avoid 1Password autofill Closes #33 Co-Authored-By: Claude Opus 4.6 --- src/app/sites/actions.ts | 4 ++-- src/components/SiteFormDialog.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/sites/actions.ts b/src/app/sites/actions.ts index c44080c..26eee37 100644 --- a/src/app/sites/actions.ts +++ b/src/app/sites/actions.ts @@ -12,7 +12,7 @@ export async function addSite(formData: FormData) { if (!user) redirect("/login") - const name = (formData.get("name") as string)?.trim() + const name = (formData.get("site_name") as string)?.trim() const url = (formData.get("url") as string)?.trim() if (!name || !url) return @@ -29,7 +29,7 @@ export async function editSite(siteId: string, formData: FormData) { if (!user) redirect("/login") - const name = (formData.get("name") as string)?.trim() + const name = (formData.get("site_name") as string)?.trim() const url = (formData.get("url") as string)?.trim() if (!name || !url) return diff --git a/src/components/SiteFormDialog.tsx b/src/components/SiteFormDialog.tsx index 2823c86..e987212 100644 --- a/src/components/SiteFormDialog.tsx +++ b/src/components/SiteFormDialog.tsx @@ -82,7 +82,7 @@ export default function SiteFormDialog({ Date: Sat, 21 Feb 2026 07:36:47 -0800 Subject: [PATCH 2/3] fix: add data-1p-ignore and autocomplete=off to site name input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The name rename alone wasn't enough — 1Password uses multiple signals. The data-1p-ignore attribute explicitly tells 1Password to skip the field. Co-Authored-By: Claude Opus 4.6 --- src/components/SiteFormDialog.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/SiteFormDialog.tsx b/src/components/SiteFormDialog.tsx index e987212..aba50f1 100644 --- a/src/components/SiteFormDialog.tsx +++ b/src/components/SiteFormDialog.tsx @@ -87,6 +87,8 @@ export default function SiteFormDialog({ placeholder="Site name" required autoFocus + autoComplete="off" + data-1p-ignore className="text-sm px-3 py-2 rounded outline-none" style={{ border: "1px solid #E8E4DF", From 8187ad38fe332b79f2e8e4cea445d8d5335ca1b5 Mon Sep 17 00:00:00 2001 From: Jason Crawford Date: Sat, 21 Feb 2026 20:50:52 -0800 Subject: [PATCH 3/3] fix: revert site_name back to name, keep data-1p-ignore as the fix The name -> site_name rename was unnecessary; data-1p-ignore and autocomplete=off are the actual fix for 1Password autofill. Reverting the rename fixes test failures. Co-Authored-By: Claude Opus 4.6 --- src/app/sites/actions.ts | 4 ++-- src/components/SiteFormDialog.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/sites/actions.ts b/src/app/sites/actions.ts index 26eee37..c44080c 100644 --- a/src/app/sites/actions.ts +++ b/src/app/sites/actions.ts @@ -12,7 +12,7 @@ export async function addSite(formData: FormData) { if (!user) redirect("/login") - const name = (formData.get("site_name") as string)?.trim() + const name = (formData.get("name") as string)?.trim() const url = (formData.get("url") as string)?.trim() if (!name || !url) return @@ -29,7 +29,7 @@ export async function editSite(siteId: string, formData: FormData) { if (!user) redirect("/login") - const name = (formData.get("site_name") as string)?.trim() + const name = (formData.get("name") as string)?.trim() const url = (formData.get("url") as string)?.trim() if (!name || !url) return diff --git a/src/components/SiteFormDialog.tsx b/src/components/SiteFormDialog.tsx index aba50f1..6dcc9d6 100644 --- a/src/components/SiteFormDialog.tsx +++ b/src/components/SiteFormDialog.tsx @@ -82,7 +82,7 @@ export default function SiteFormDialog({