Skip to content

fix(whispering): terminal paste and HTTP plugin version mismatch#1575

Open
rob88pt wants to merge 4 commits intoEpicenterHQ:mainfrom
rob88pt:fix/terminal-paste-and-http-plugin
Open

fix(whispering): terminal paste and HTTP plugin version mismatch#1575
rob88pt wants to merge 4 commits intoEpicenterHQ:mainfrom
rob88pt:fix/terminal-paste-and-http-plugin

Conversation

@rob88pt
Copy link
Copy Markdown

@rob88pt rob88pt commented Apr 1, 2026

Summary

  • Detect terminal windows on Linux via xprop WM_CLASS and send Ctrl+Shift+V instead of Ctrl+V for paste operations, fixing clipboard paste in terminal emulators (GNOME Terminal, Konsole, Alacritty, Kitty, etc.)
  • Update tauri-plugin-http from 2.5.4 to 2.5.7 to fix fetch_cancel_body command not found error that broke Groq (and other cloud) transcription

Context

Terminals on Linux use Ctrl+Shift+V for paste, not Ctrl+V. Whispering's "clipboard sandwich" technique (copy to clipboard → simulate paste → restore clipboard) was sending Ctrl+V unconditionally, which worked in GUI apps but not in terminals.

The HTTP plugin version mismatch caused Unhandled Promise Rejection: http.fetch_cancel_body not allowed. Command not found — the JS plugin (v2.5.7) expected a command that the Rust plugin (v2.5.4) didn't have.

Test plan

  • Record and transcribe with Groq on Linux — verify transcription completes
  • Paste into a terminal emulator (e.g. GNOME Terminal) — verify text appears
  • Paste into a non-terminal app (e.g. browser, text editor) — verify still works
  • Verify macOS and Windows builds are unaffected (changes are #[cfg(target_os = "linux")] only)

rob88pt and others added 4 commits April 1, 2026 17:39
- Detect terminal windows on Linux via xprop WM_CLASS and send
  Ctrl+Shift+V instead of Ctrl+V for paste operations
- Update tauri-plugin-http from 2.5.4 to 2.5.7 to fix fetch_cancel_body
  command not found error that broke Groq cloud transcription
- Created docs/git-workflow.md with fork remotes and conflict targets
- Bootstrapped memory/ with active context, task list, changelog, decisions, tech context
- Added learnings and error logs from session
- Created session handoff document
Replace enigo with xdotool for key simulation on Linux:
- Use --clearmodifiers to prevent stuck modifier interference
- Refocus target window and dismiss menus before pasting
- Increase clipboard restore delay for heavy apps (Electron)

Fix terminal detection false positive where "st" (suckless terminal)
matched "STRING" in xprop output prefix. Now parses only the class
values after "=" and uses exact quoted matching for short names.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Updated memory files with "st" matching "STRING" bug discovery
- Added learnings: xprop parsing, Alt key menus, log-first debugging
- Created session handoff with minimal fix instructions for next session

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant