DiffDaily Deep & Concise - OSS変更の定点観測
トップに戻る

basecamp/lexxy

https://github.com/basecamp/lexxy

選択したノードをマウスで削除できるコントロールの追加

Lexxyエディタに、添付ファイルや水平線などのノードをマウスで削除できるコントロールが追加されました。新しいカスタム要素「lexxy-node-delete-button」が各ノードのDOM構造に組み込まれ、ノード選択時にデリートボタンが表示されます。

2026年02月27日 Claude Sonnet 4.5

選択範囲へのURL貼り付けで複数のリンクノードを統合

Lexxyのリンク生成ロジックが改善され、複数の単語にまたがる選択範囲へURLを貼り付けた際に単一のLinkNodeが生成されるようになりました。既存リンクをクリアしてから新規リンクを適用する方式に変更され、同じURLを持つ隣接リンクが複数生成される問題が解決されています。

2026年02月26日 Claude Sonnet 4.5

エディタがフォーカス済みの場合のクリック操作を回避

エディタが既にフォーカスされている場合に不要なクリック操作を回避する修正。`document.activeElement`でフォーカス状態を確認し、テーブルセルなどでの選択範囲の意図しない移動を防止します。

2026年02月26日 Claude Sonnet 4.5

ツールバーのスタイリング改善

LexxyエディタのツールバーアイコンをBasecampスタイルに統一し、関連アクションのグループ化とCSS強化により操作性と保守性を向上。アイコン定義を外部モジュール化し、将来の変更を容易に。

2026年02月25日 Claude Sonnet 4.5

HTML コードブロック内のエンティティがエディタ読み込み時に破損する問題を修正

Rails の content_tag が html_safe な値を属性値として扱う際にエスケープを行わないため、HTML エンティティが実際のタグとして解釈される問題を修正。to_str による html_safe 属性の除去により、エディタ内のコードブロックが正しく表示されるようになりました。

2026年02月25日 Claude Sonnet 4.5

AttachmentNodeキャプション入力のSafariバグ回避策を削除

Provisional Paragraphs機能の導入により、Safari特有のAttachmentNodeキャプション入力バグへの回避策(57行)が削除されました。DecoratorNodeの前後に選択可能なノードが自動保証されることで、ブラウザ固有の処理が不要になり、キャプションのフォーカス管理もシンプル化されています。

2026年02月24日 Claude Sonnet 4.5

Lexicalの更新完了を待つ非同期テスト機構の導入

Lexxyのテストから固定時間待機(sleep)を削除し、Lexicalの`onUpdate`コールバックと`requestAnimationFrame`を組み合わせた非同期待機機構を導入。エディタの更新完了を確実に待つことで、テストの信頼性と効率性を向上。

2026年02月24日 Claude Sonnet 4.5

Lexicalエディタの選択範囲APIに書式判定メソッドとノード検索ヘルパーを追加

Lexicalエディタの選択範囲APIに`selection.getFormat()`と`selection.nearestNodeOfType()`を追加。Webツールバーとネイティブツールバーが統一された書式判定・ノード検索インターフェースを共有できるようになり、カスタムヘルパー関数をLexical標準ユーティリティに置き換えることでコードの一貫性とメンテナンス性を向上。

2026年02月24日 Claude Sonnet 4.5

アップロード中の添付ファイルをDOM出力から除外

LexxyのRich Textエディタで、アップロード中および失敗した添付ファイルがDOM出力から除外されるよう変更。ActionTextAttachmentUploadNodeの`exportDOM()`が`null`を返すことで、未完了のアップロードがフォーム送信時のHTMLに含まれなくなり、データ整合性が向上しました。

2026年02月23日 Claude Sonnet 4.5

DecoratorNodeの選択処理をCLICK_COMMANDベースに移行

Lexxyが、DecoratorNodeの選択処理をカスタムイベントベースからLexical標準の `CLICK_COMMAND` ハンドラベースに移行しました。この変更により、内部イベントシステムが完全に削除され、コードが36行削減されています。

2026年02月23日 Claude Sonnet 4.5

Lexicalのカーソル制御を改善するProvisionalParagraphの導入

Lexicalのカーソル制御を改善するProvisionalParagraphNodeを導入。DecoratorNodeとエディタ境界の間での選択を自然にし、画像ギャラリーなどの複雑なコンポーネント実装を容易にします。

2026年02月23日 Claude Sonnet 4.5

Lexicalコアパッケージを明示的な依存関係として追加

Lexxyのコアパッケージであるlexicalとextensionを、推移的依存関係から明示的な依存関係に変更。依存関係の宣言を明確化することで、将来的なバージョン競合リスクを軽減し、より安定した管理を実現。

2026年02月23日 Claude Sonnet 4.5

Lexxy拡張システムを統一的なLexxyExtension基底クラスへ移行

複数の拡張機能実装を統一的な LexxyExtension 基底クラスへ移行。拡張機能が自身の有効化条件を定義することで、エディタ本体の条件分岐を削減し、mergeRegister によるクリーンアップ処理でライフサイクル管理を改善。

2026年02月23日 Claude Sonnet 4.5

エディタDOM構造の簡素化とコードリファクタリング

LexxyエディタのDOM構造から二重の`<div>`ラッピングを削除し、`editor.update()`内の関数が新しい更新ループを作成しないようリファクタリング。これによりエディタの初期化が簡潔になり、不要な再レンダリングが削減されました。

2026年02月23日 Claude Sonnet 4.5

SandboxページをTurbo Frame化してプリセット切り替えを実装

LexxyのSandboxページがTurbo Frameベースに再実装され、プリセット切り替えがURLルーティングで実現されました。Stimulusの動的ロードを排除し、各プリセットへの直リンクとブラウザ履歴の統合を可能にしています。

2026年02月23日 Claude Sonnet 4.5

ペースト時にスタイルの正規化を選択範囲に適用

Lexxyエディタでスタイル付きテキストをペーストした直後のタイピングで、ペースト元のスタイルが保持される問題を修正。selectionオブジェクトにも正規化されたスタイルとフォーマットを適用することで、ペースト後の入力が一貫した正規化ルールに従うようになりました。

2026年02月22日 Claude Sonnet 4.5

カスタムタグを含むHTMLの読み込みエラーを修正

Lexxyでカスタムタグ名を設定した際にHTMLが読み込まれない競合状態を修正。カスタム要素の登録を`setTimeout`で遅延実行することで、`Lexxy.configure`の設定が確実に先行して適用されるようになりました。

2026年01月30日 Claude Sonnet 4.5

Attachment Node のリファクタリングによる競合状態の防止

Lexicalエディタの添付ファイルノードをリファクタリングし、兄弟ノード間の相互更新による競合状態を解消。カスタムイベントシステムを削除し、ノード自身がエディタ参照を保持してアップロード処理を管理する設計に変更しました。

2026年01月27日 Claude Sonnet 4.5

ツールバーダイアログのクローズ処理をエディタのselection changeイベントに統合

Lexxyエディタのツールバーダイアログ(ドロップダウン)のクローズ処理を、クリックアウトサイドハンドラーからエディタの選択変更イベントに移行。ツールバーをエディタの一部として扱うよう、フォーカスイベントの定義を見直し、`lexxy:focus`/`lexxy:blur`がエディタ要素全体(ツールバーを含む)を対象とするように変更されました。

2026年01月24日 Claude Sonnet 4.5

プロンプトトリガーの複数文字対応

Lexxyのプロンプト機能で複数文字列(`by:`、`group:`など)をトリガーとして使用できるようになりました。従来の単一文字検出ロジックを、文字列長を考慮した部分文字列抽出に変更し、後方互換性を保ちながら拡張しています。

2026年01月24日 Claude Sonnet 4.5
1 2 3 次へ

© 2026 DiffDaily - Powered by AI

タケユー・ウェブ