[codex] Add Windows TSF IME insertion support#214
Closed
millionart wants to merge 37 commits into
Closed
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
Summary
Adds Windows TSF IME insertion support so OpenLess can commit dictated text through the active Windows text service instead of relying only on non-TSF fallback paths.
This PR also hardens the Windows packaging and registration flow:
Fixes Included
TF_E_SYNCHRONOUSrejections with an async TSF edit session.Validation
node scripts/windows-package-msvc.test.mjsOpenLessIme.dllRelease build: 0 warnings, 0 errorsOpenLessIme.dllRelease build: 0 warnings, 0 errorsPR Type
Enhancement, Bug fix, Tests
Description
Add session-aware Windows TSF insertion flow
Restore IME profile after canceled sessions
Gate non-TSF fallback behind preference
Expose IME status, packaging, and tests
Diagram Walkthrough
File Walkthrough
25 files
Make session lifecycle IME-awareManage TSF profile capture and restoreAdd named-pipe IME submission transportCoordinate TSF preparation, submit, restoreDefine IME pipe messages and namesExpose IME command and modulesAdd Windows IME status and fallback prefAdd Windows Unicode keystroke fallbackExpose Windows IME status commandAdd Windows IME controls to settingsTranslate Windows IME settings stringsAdd English Windows IME copyMock Windows IME status in clientAdd Windows IME status interfacesImplement IME client pipe communicationHandle IME registry keys and pathsImplement TSF text service behaviorManage IME edit sessions and commitsExpose IME COM class factoryDeclare TSF text service interfaceInitialize IME DLL entry pointsDeclare IME edit session helpersDeclare IME IPC client interfaceDeclare IME class factory typesDeclare IME registry helper functions2 files
Reformat hotkey handlers and flag updatesReflow Windows paste input imports3 files
Support Win32 edit host smoke testsExtend smoke suite with Win32 editTest Windows packaging and registration13 files
Package Windows IME artifacts and MSIBuild Windows IME DLL artifactsRegister Windows IME COM and TSFRemove Windows IME registration entriesConfigure IME DLL project settingsBundle IME DLLs into MSIAdd Windows IME solution entryAdd IME version and resourcesDefine COM and TSF GUIDsWrap Windows package build scriptAdd Windows packaging preflight checksUpdate Tauri bundling and commandsExport IME DLL COM symbols2 files
Document temporary TSF IME rollout planDocument TSF IME design details1 files
Add Windows IME crate dependencies