From a602d05b84f9d37a02c5b2de3c2f096d8cd6318a Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Sun, 12 Jul 2026 04:41:24 +0100 Subject: [PATCH] fix(autofill): defer the direct-hotkey success toast too autofillFillEntry (Ctrl+Shift+L/P path) still toasted "Password filled:" optimistically alongside the honest UIPI failure toast. Route it through autofillPendingToast / Bridge.onAutofillResult like the quick-search path, and label with entryDisplayName (site is often empty -> "filled:" + nothing). Co-Authored-By: Claude Opus 4.8 --- js/app.autofill.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/app.autofill.js b/js/app.autofill.js index 0944a2a..8a04c60 100644 --- a/js/app.autofill.js +++ b/js/app.autofill.js @@ -239,8 +239,11 @@ async function autofillFillEntry(entry, kind) { // password-only kind → empty username → Delphi skips Tab. // full kind with empty entry.username → also no Tab (Delphi handles it). const user = (kind === 'password') ? '' : (entry.username || ''); + // Toast deferred to Bridge.onAutofillResult — no success lie when the + // target runs elevated (UIPI drops the keystrokes). + autofillPendingToast = (kind === 'password' ? 'Password filled: ' : 'Autofilled: ') + + entryDisplayName(entry); Bridge.executeAutofill(user, password); - toast((kind === 'password' ? 'Password filled: ' : 'Autofilled: ') + entry.site); // Audit (best-effort, ignore failures) fetch('' + '/audit', { method: 'POST',