https://github.com/basecamp/lexxy
ネイティブブリッジにバッチ API を導入し、複数画像選択時に Web と同様の画像ギャラリーが生成されるようにした。既存 GalleryUploader を再利用しつつ、オプション分岐で後方互換性も確保。
Lexxy にインフライトの添付アップロードを即時中止できる仕組みを追加し、削除時の不要な通信を防止しました。
Lexxy のメンションフィルタが `@` を単語前に挿入した際も正しく単語をクエリとして扱い、選択時に `@` と単語全体を置換できるように修正しました。
Lexxy のプロンプトポップオーバーが、カーソルがトリガーの前後に移動した際に正しく閉じるよう判定ロジックを刷新し、検索語の連続性とブレーク文字で非表示を制御した。
矢印キーの選択処理を同期化し、await nextFrame を除去。handlingDefault でイベントの preventDefault を自動化し、選択ロジックとテストを安定化しました。
`release:alpha` スクリプトを追加し、アルファ版を `alpha` タグで公開して `latest` タグを保護。既存リリースフローは変更せず、タグ管理をスクリプトレベルで明確化しました。
Lexical の #211 クラッシュを防止するため、選択範囲正規化と NodeInserter の統合を導入し、Enter/Shift+Enter や URL 貼り付け時の安定性を向上させました。
NodeSelectionNodeInserter がインライン貼り付け時にルートエラー #99 を起こす原因を修正し、$makeSafeForRoot ヘルパーで安全にラップしてクラッシュを防止しました。テストで回帰が確認され、既存機能への影響は最小です。
Firefox の画像破損エラーを防ぐため、1×1 PNG を 120×90 の有効 PNG に置き換え、テストフレークと pointer event 障害を解消しました。
PDF プレビューのスワップ完了を検証するようテストを変更し、Capybara の待機で確定的に合格させ、CI フレークを解消した。
Lexxy の貼り付け処理を `PastedContentFormatter` に集約し、リスト直下の stray `<br>` やテキストを除去して余分な先頭項目が生成されるバグを解消しました。これにより番号付きリストの正しい番号付けが保証されます。
画像をリストのサブバレットに貼り付けてもリスト構造が壊れないよう、ListItemNodeInserter を導入してブロックデコレータ挿入を外側レベルで処理し、テストで全ケースを網羅しました。
Turbo のキャッシュ前にプロンプトポップオーバーを除去し、ヒストリーバック/フォワードで残るオーファン UI を防止した実装とテストを解説します。
選択範囲拡張ロジックを `$getNearestBlockElementAncestorOrThrow` に置き換え、リスト内の単一アイテムだけのフォーマット解除が正しく動作するように修正しました。
ブロック引用内部でのリスト操作が Backspace とリストトグルで壊れる欠陥を、選択判定拡張とリスト挿入ロジック分離で修正し、テストで回帰防止を実装しました。
autocapitalize をハードコードから解放し contenteditable へ転送・同期させることで Android のテキスト置換バグを回避し、属性拡張を汎用コールバックで実装した変更です。
ブロック引用内の空リスト項目に貼り付けたときの Lexical エラー #66 を、貼り付け判定ガードで回避しクラッシュとコンテンツ喪失を防止した修正です。
Lexxy エディタのファイルドロップ・ペースト時に発生していた 4 件の TypeError を guard とロジック分岐で除去し、特殊な選択状態や破棄済みエディタでも安全に動作するようにした修正です。
Ordered list offsets were lost because the `start` attribute was stripped by sanitizers. By adding `start` to the allowed attributes in both DOMPurify and Loofah, the editor now preserves numbering through load, save, and re‑edit cycles.
Quote 要素上のキャレットで貼り付けが発生させていた Lexical エラー #211/#212 を、選択範囲正規化と BlockContainerNodeInserter の導入で解消し、既存ロジックへの影響を最小限に抑えた修正です。