8177be94a5
Class-level UIKeyInput conformance without UITextInputTraits means iOS falls back to default traits — autocorrect on, predictive on, smart quotes/dashes on. The suggestion engine was swallowing most keystrokes before insertText() could forward them (the "1 in 6 chars" symptom). Declaring all the traits as @objc stored properties with permissive (autocorrect=.no, etc.) values turns every suggestion layer off so each key tap produces exactly one insertText() and hits the remote. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>