fix(autofill): honest result reporting + restore maximized from tray
Bug 1: a maximized window trayed via the quick-search fill flow came back "normal" on the next restore. ExecuteAutofill minimizes the window BEFORE MinimizeToTray snapshots the placement, so the snapshot said SHOWMINIMIZED and the never-restore-minimized guard forced SHOWNORMAL. Now honours WPF_RESTORETOMAXIMIZED (Windows keeps the pre-minimize state in flags). Bug 2: filling into an elevated app (admin Notepad) showed "password sent" while UIPI silently discarded the keystrokes (SendInput even reports success). ExecuteAutofill is now a function: it checks the target process elevation up front (can't-open counts as elevated) and returns False without typing. UMainForm feeds the result to JS via Bridge.onAutofillResult; the quick-search success toast is deferred until Delphi confirms, and a failure shows "Autofill blocked - the target window runs as administrator". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -113,6 +113,12 @@ const Bridge = (() => {
|
||||
autofillHandleRequest(windowTitle, kind || 'full');
|
||||
},
|
||||
|
||||
// Called by Delphi after cmd://autofill/execute with whether the
|
||||
// keystrokes were actually sent (false = elevated target, UIPI).
|
||||
onAutofillResult(ok) {
|
||||
autofillReportResult(!!ok);
|
||||
},
|
||||
|
||||
// Called by Delphi on Ctrl+Shift+A. Opens the new-entry modal with
|
||||
// the foreground window title pre-filled (browser suffix stripped).
|
||||
onNewEntryFromTitle(windowTitle) {
|
||||
|
||||
Reference in New Issue
Block a user