ui.type splits astral characters; add ui.paste
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 55/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
調査の方向性
ui.type と ui.press が OpenTUI のモック入力(mockInput.typeText)を呼び出している箇所を見つけ、type を UTF-16 コード単位ではなくコードポイント単位で反復するように変更する。次に、既存の --command.ui.* サブコマンドがどのように登録されているかを特定し、それらを反映した ui.paste を追加して mockInput.pasteBracketedText に委譲する。絵文字 "😀" の入力が端末に 1 文字として届き、貼り付けが単一のブラケット付き貼り付けイベントを発生させれば完了。
索引モデルが issue の本文から書いたものです。
説明
Drive 2.1.3 (b805763). Two input gaps came up while driving the TUI's embedded terminal pane:
-
ui.typesplits astral characters. The frontend passes text to OpenTUI'smockInput.typeText, which doestext.split(""). Emoji and other non-BMP characters are sent as two lone UTF-16 surrogates.ui.press("😀")sends the whole character, so probes have to split strings withArray.fromand route characters above one code unit throughpress. Expected:typeiterates code points, or grapheme clusters. -
No paste. Every typed character is its own key event. In the terminal pane each one becomes its own WebSocket frame and daemon request, about 40 bytes per second end to end. A real paste arrives as one bracketed-paste event. OpenTUI's mock input already has
pasteBracketedText. Wish:ui.paste(text)and--command.ui.paste, so probes can exercise paste paths and large inputs without waiting minutes.
- 主要言語
- TypeScript
- スター
- 38
- フォーク
- 8
- 平均マージ
- 4時間 42分
- マージ済み PR(30日)
- 11
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
anomalyco/opencode-drive のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
anomalyco/opencode-drive#107 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
anomalyco/opencode-drive#102 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
anomalyco/opencode-drive#132 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 半日 初心者へのやさしさ 58/100
anomalyco/opencode-drive#120 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
anomalyco/opencode-drive#119 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
anomalyco/opencode-drive の issue をすべて見る
似ている issue
-
area:plugins area:security area:skills bug has repro
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
anthropics/claude-code#105911 ·
メンテナーはふだん 1 日以内に返信
-
openspec-apply-change skill: when blocked, may select a ready artifact unrelated to missingArtifactsオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Fission-AI/OpenSpec#2165 ·
メンテナーはふだん 1 日以内に返信
-
🐞 bug 🧐 unconfirmed
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
Tencent/tdesign-vue-next#7032 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
gnosis/gnosis_vpn#661 ·
メンテナーはふだん 1 日以内に返信
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)オープンtriage:bug-verified
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 1 日以内に返信