タグ: mastodon
5 件
タグ「mastodon」を付けた記事の一覧
ユーザースクリプトを軽くする:他人のページに相乗りする作法
Mastodon の投稿欄を拡張するユーザースクリプトの v3.0.2 では、動作を変えずに無駄な処理を減らした。関係する状態が変わらなければ DOM を触らない、MutationObserver の走査を 1 フレーム 1 回にまとめる。他人のページに相乗りするスクリプトが守るべきことを書く。
既存の UI になじむ拡張:見た目とアクセシビリティの両立
Mastodon の投稿欄に足したボタン列は、本家のボタンのクラスを借りてテーマの色に追従させ、選択中だけ名前を出してほかはアイコンとツールチップにした。キーボードでも使えるよう radiogroup として組んだ話と、CSP でスタイルが効かなかった話。
小さな OSS のライセンス表記
250 行ほどのユーザースクリプトでも、他人の成果物を含むならライセンス表記は要る。本体の MIT と、アイコンに使った Material Symbols の Apache License 2.0 を、THIRD_PARTY_NOTICES.md と LICENSES/ に分けて明記した話。
本家の制約を UI で再現する:公開範囲と引用範囲の組み合わせ
Mastodon の投稿欄では、公開範囲と引用範囲の組み合わせに制約がある。ワンクリックで切り替えるボタン列を作るにあたり、本家が何を禁じているかをソースから読み解き、再現できないものは「選ばせない」で安全側に倒した。
React の内部から Redux ストアを拾って、Mastodon の Web UI を拡張する
Mastodon の投稿欄に公開範囲の切り替えボタンを足すユーザースクリプトを書いた。DOM をクリックで真似るのではなく、React の内部から Redux ストアを取り出し、本家と同じアクションを dispatch する方式にした。状態がずれない代わりに、本家の更新で壊れうるというトレードオフの話。