Skip to content

Pace Windows streaming SendInput - #513

Merged
H-Chris233 merged 1 commit into
Open-Less:betafrom
H-Chris233:issue-491-streaming-sendinput-pacing
May 21, 2026
Merged

Pace Windows streaming SendInput#513
H-Chris233 merged 1 commit into
Open-Less:betafrom
H-Chris233:issue-491-streaming-sendinput-pacing

Conversation

@H-Chris233

@H-Chris233H-Chris233 commented May 21, 2026

Copy link
Copy Markdown
Collaborator

User description

Summary

Test Plan

  • git diff --check
  • cargo test --manifest-path "/home/chris233/openless/openless-all/app/src-tauri/Cargo.toml" unicode_keystroke
  • cargo test --manifest-path "/home/chris233/openless/openless-all/app/src-tauri/Cargo.toml" streaming_insert
  • cargo check --manifest-path "/home/chris233/openless/openless-all/app/src-tauri/Cargo.toml" --target "x86_64-pc-windows-gnu"

Refs #491


PR Type

Bug fix


Description

  • Pace Windows SendInput batches

  • Insert short delays between chunks

  • Reduce post-recording input stalls


Diagram Walkthrough

flowchart LR
A["Windows unicode typing"] -- "processes characters" --> B["Chunked SendInput batches"]
B -- "sleep after 16 chars" --> C["Reduced input contention"]
C -- "prevents" --> D["Post-recording UI freeze"]
Loading

File Walkthrough

Relevant files
Bug fix
unicode_keystroke.rs
Add paced Windows Unicode input sending

openless-all/app/src-tauri/src/unicode_keystroke.rs

  • Adds Windows-specific pacing constants for SendInput chunk size and
    delay.
  • Switches Unicode typing to track chunk progress while iterating
    characters.
  • Sleeps briefly after every 16 characters when more input remains.
+12/-1

@github-actions

Copy link
Copy Markdown
Contributor

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

491 - Partially compliant

Compliant requirements:

  • Windows SendInput batching is now paced in 16-character chunks with a 12ms delay.
  • The change is limited to the Windows Unicode typing implementation.

Non-compliant requirements:

  • Actual elimination of the reported post-recording stall cannot be confirmed from code review alone.

Requires further human verification:

  • Verify on a Windows machine that the ~5s post-recording freeze is gone in the reported scenarios.
  • Confirm that the added pacing does not noticeably regress normal typing latency for larger inserts.
⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ No major issues detected

@H-Chris233
H-Chris233 merged commit d71f731 into Open-Less:betaMay 21, 2026
4 checks passed
appergb pushed a commit that referenced this pull request May 22, 2026
…s/Linux 修复
自 v1.3.4-11-beta-tauri 以来的改动:
- feat(ui): 给划词追问框与语音胶囊加磨砂玻璃质感(#519)
- fix(linux): 修复 Linux 主窗口控件(#518 / issue #517)
- fix(windows): 缩短 Windows IME 提交超时(#514 / issue #491)
- fix(windows): 流式 SendInput 节流(#513 / issue #491)
- feat(asr): 新增更大的 Foundry Whisper 模型(#512 / issue #511)
- fix(asr): 修复智谱 ASR endpoint 处理(#510 / issue #507)
- fix(ui+network): 更新/登录/网络检测/市场加载四项修复
- fix(asr): 修复智谱批量 ASR 分片(#509 / issue #508)
本次只动版本号,逻辑改动已在上述 PR 落盘。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@H-Chris233
H-Chris233 deleted the issue-491-streaming-sendinput-pacing branch May 29, 2026 10:53
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@H-Chris233