Eric Traut
7a8a9456e9
Reuse and prewarm the WSL clipboard text reader ( #52967 )
...
## Why
WSL clipboard reads previously launched PowerShell for every paste. Process creation can hang under WSL and stall the shared clipboard worker.
## What changed
- Reuse a persistent PowerShell reader on a dedicated thread, keeping clipboard requests bounded by their deadlines and restarting the reader after errors.
- Prewarm the reader at startup when right-click paste is allowed on WSL, without accessing clipboard contents.
- Use length-framed UTF-8 responses to preserve whitespace and distinguish consecutive pastes while enforcing message size limits.
## Testing
Update the command-reader test to cover consecutive responses from one process, large clipboard text, UTF-8 and whitespace preservation, and read timeouts.
GitOrigin-RevId: 36af338097d6b178ab4887faa5918240c47e1515
2026-10-10 19:22:11 +00:00
..
2026-10-02 04:02:14 +00:00
2026-10-07 12:47:04 +00:00
2026-10-09 13:15:39 +00:00
2026-10-08 05:29:11 +00:00
2026-09-30 00:51:39 +00:00
2026-10-10 16:52:55 +00:00
2026-10-07 22:10:23 +00:00
2026-10-08 20:11:43 +00:00
2026-10-10 01:25:00 +00:00
2026-10-08 20:11:43 +00:00
2026-10-06 17:26:19 +00:00
2026-10-05 23:52:06 +00:00
2026-10-08 16:19:09 +00:00
2026-10-06 23:44:17 +00:00
2026-10-09 21:29:36 +00:00
2026-10-07 22:11:14 +00:00
2026-09-30 18:49:29 +00:00
2026-10-09 17:15:58 +00:00
2026-10-01 22:32:29 +00:00
2026-09-29 13:58:09 +00:00
2026-09-29 03:32:19 +00:00
2026-10-10 08:51:21 +00:00
2026-10-10 08:51:21 +00:00
2026-10-08 19:15:17 +00:00
2026-10-10 02:14:13 +00:00
2026-10-10 01:25:00 +00:00
2026-09-25 00:20:02 +00:00
2026-09-24 01:50:36 +00:00
2026-10-08 23:57:36 +00:00
2026-10-08 22:27:00 +00:00
2026-10-10 01:25:00 +00:00
2026-10-10 18:26:18 +00:00
2026-10-06 23:28:55 +00:00
2026-09-23 22:20:34 +00:00
2026-10-09 20:36:17 +00:00
2026-10-08 20:11:43 +00:00
2026-10-08 16:19:09 +00:00
2026-10-09 23:28:38 +00:00
2026-10-08 13:45:19 +00:00
2026-10-10 01:25:00 +00:00
2026-10-10 01:25:00 +00:00
2026-10-10 17:30:25 +00:00
2026-10-07 11:18:05 +00:00
2026-10-01 09:52:54 +00:00
2026-10-07 17:59:22 +00:00
2026-10-01 15:57:03 +00:00
2026-10-10 01:25:00 +00:00
2026-10-10 01:25:00 +00:00
2026-10-08 23:57:36 +00:00
2026-10-09 15:13:29 +00:00
2026-10-08 16:19:09 +00:00
2026-09-29 22:24:09 +00:00
2026-10-09 15:29:50 +00:00
2026-10-08 20:11:43 +00:00
2026-10-10 01:25:00 +00:00
2026-10-08 20:11:43 +00:00
2026-10-07 18:32:50 +00:00
2026-10-02 23:26:27 +00:00
2026-10-06 01:46:33 +00:00
2026-10-09 22:11:30 +00:00
2026-10-09 18:04:48 +00:00
2026-10-10 01:25:00 +00:00
2026-10-06 21:29:35 +00:00
2026-10-10 01:14:28 +00:00
2026-10-10 01:25:00 +00:00
2026-10-10 02:54:59 +00:00
2026-09-29 01:14:41 +00:00
2026-10-07 22:11:14 +00:00
2026-10-07 19:28:14 +00:00
2026-10-10 01:25:00 +00:00
2026-10-07 07:57:14 +00:00
2026-10-09 22:11:30 +00:00
2026-09-24 18:08:31 +00:00
2026-10-08 16:19:09 +00:00
2026-10-08 20:11:43 +00:00
2026-10-10 01:25:00 +00:00
2026-10-02 00:46:14 +00:00
2026-10-08 18:42:58 +00:00
2026-10-10 01:25:00 +00:00
2026-10-10 01:25:00 +00:00
2026-10-10 19:22:11 +00:00
2026-10-01 18:05:05 +00:00
2026-10-10 01:25:00 +00:00
2026-10-01 15:57:03 +00:00
2026-10-08 01:12:16 +00:00
2026-10-09 19:48:39 +00:00
2026-10-01 15:57:03 +00:00
2026-10-07 22:11:14 +00:00
2026-10-10 02:54:59 +00:00
2026-10-09 23:26:34 +00:00
2026-10-02 04:02:14 +00:00