Skip to content

Fix host paste loop, cold-start HWND capture, and the OpenPood update feed - #2

Merged
gotzastory merged 2 commits into
mainfrom
cursor/winhost-updater-feed-b956
Nov 9, 2026
Merged

gotzastory merged 2 commits into
mainfrom
cursor/winhost-updater-feed-b956

Conversation

@gotzastory

Copy link
Copy Markdown
Owner

Summary

Fixes the dictation host so a declined paste does not kill PowerShell, waits for a cold host before giving up on the foreground window, and points new builds at gotzastory/OpenPood.

  • In electron/winHost.ts, clipboard-changed and focus-changed no longer use break inside the switch that sits in while ($true). In PowerShell that break exits the host loop, so the reply is never flushed and the process ends. The host now writes the reply and falls through to Flush(). The only remaining break is end-of-stdin. Covered by electron/winHost.test.ts without launching PowerShell.
  • Foreground capture no longer races the lookup against a 300 ms timer. It waits for host readiness and retries once. A wedged host is already dropped by the request timeout, so the retry starts a new process. pasteAtCursor returns target-unknown and does not write the clipboard until the HWND is a real window. The transcript stays in History.
  • electron is ^43.8.7 (latest 43.x, includes the 43.8.1 fix for GHSA-jr5w-w6x2-84p9). electron-updater is 6.8.11. fast-uri is overridden to 3.1.9 (the parent range is ^3.0.1, so this is not a major bump).
  • build.publish.repo, UPDATE_FEED in electron/updater.ts (setFeedURL), and the README release links now say gotzastory/OpenPood.

This branch changes package-lock.json from main on its own. The CI and dev-dependency PRs do too. Merge one lockfile change at a time and rebase the others onto main if they conflict.

Already-installed v1.0.3

Installed v1.0.3 builds have gotzastory/OpenPud baked into app-update.yml. They keep working only because GitHub redirects the renamed repository. Do not create a new repository or fork named OpenPud. A new repo with that name would capture those update checks.

Tests

npm test (159) and npm run build (both tsconfigs, then Vite) passed here. New cases cover the host script, a slow HWND lookup, a failed-then-retried lookup, and leaving the clipboard alone when the HWND is unknown.

Manual Windows check

  • First dictation after launch, while the PowerShell host is still compiling: paste into Chrome, Edge, and Notepad.
  • Switch windows during speech-to-text, then dictate again. The declined paste must not kill the host, and the next dictation must still paste.
  • If no foreground window can be resolved, the previous clipboard stays as it was and the transcript is only in History.
  • On a build packaged from this branch, Settings → check for updates must look at gotzastory/OpenPood releases, not OpenPud.
  • Sandbox preload and image clipboard restore are unchanged in this diff.
Open in Web Open in Cursor 

cursoragent and others added 2 commits November 9, 2026 08:29
…OpenPood.

A switch break was exiting the PowerShell loop, and a 300ms foreground race dropped the target before the host was ready. New builds also request gotzastory/OpenPood and pick up the Electron and fast-uri fixes.

Co-authored-by: Thana <gotzastory@users.noreply.github.com>
…r-feed-b956

Co-authored-by: Thana <gotzastory@users.noreply.github.com>
@gotzastory
gotzastory merged commit 1f10270 into main Nov 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants