:don: 170729 v1.5.0rc2
今回はv1.5.0rc1~rc2の範囲が対象です。
https://github.com/tootsuite/mastodon/compare/v1.5.0rc1…v1.5.0rc2
比較的大きいやつ
ドロップダウンメニューをスマホではモーダルとして表示するように
トゥートの下にある「…」メニューや投稿の公開範囲設定はドロップダウンとして表示されていましたが、スマホでは小さくてタッチしづらい、下の方で表示されるとスクロールする必要がある、などの問題がありました。で、モーダルとしてポップアップするようになりました。なかなか便利ですよ。
シェアボタン
feat(status_action_bar): Web share button by sorin-davidoi · Pull Request #4365 · tootsuite/mastodon feat: Web Share for detailed status and account by sorin-davidoi · Pull Request #4402 · tootsuite/mastodon
トゥートやアカウントをブラウザやOSの機能で共有するボタンが追加されました。が、今のところ特に設定なく使えるブラウザはAndroid版Chromeの次期バージョンぐらいしかなく、すぐ試したいなら chrome://flags
から有効にしたり、Canary版を使うことになります。
参考 Google、ウェブサイトのボタンでAndroidの共有メニューを表示できる「Web Share API」 -INTERNET Watch
アクセシビリティ周りの改善
- Improve accessibility by sorin-davidoi · Pull Request #4369 · tootsuite/mastodon
- Improve accessibility (part 2) by sorin-davidoi · Pull Request #4377 · tootsuite/mastodon
- Improve accessibility (part 3) by sorin-davidoi · Pull Request #4405 · tootsuite/mastodon
- Improve accessibility (part 4) by sorin-davidoi · Pull Request #4408 · tootsuite/mastodon
- Improve accessibility (part 5) by sorin-davidoi · Pull Request #4417 · tootsuite/mastodon
aria属性などの追加やタグの変更だけでなく、Tab/Enterで多くの要素が操作できるようになったり、PageDown/PageUp/Home/EndでTL内を移動したりできるようになっています。
なおトゥートなどにフォーカス移動できるようになった関係で、クリック時にこれまでなかった枠が表示されたりします。ブーストボタンとか大して見た目が変わらないところもあります。CSSでいじれるところなので、指摘されればなんかなるかも?
admin向け
Docker環境でsw.jsが読み込めない(WebPushが動かない)件
fix #4356 : missing sw.js in Docker environment by skoji · Pull Request #4357 · tootsuite/mastodon
普段MastodonのJSファイルはpacks/に置かれていますが、ServiceWorkerのJSファイルはそれが置かれたディレクトリ以下のページにしか作用することができないため、このsw.jsだけpublic直下に置いていました。が、公式のDocker構成ではこれをボリュームに割り当てていないので、docker-compose run --rm assets:precompile
でsw.jsを生成しても保存されずに消えてしまうという問題がありました。
で最終的に、public直下のsw.jsはassets/sw.jsへのシンボリックリンクということになりました。assets/はボリュームが割り当てられているので、ちゃんと保存されるというわけです。
PuSH 購読に何度も失敗する場合、購読を解除する
リトライしなくする修正は少し前に入っていたのですが、失敗したままdeadに積まれ、DB上も購読が切れている(更新待ち)という扱いは変わらずでした。今回の修正でdeadに入ることなく、そのまま購読を解除するようになりました。
細かいやつ
development環境でwebpackが生成したファイルにハッシュ値をつけないように
Remove hash from chunk filename when dev env by ykzts · Pull Request #4411 · tootsuite/mastodon
Webpackでビルドしたファイルにはファイル名にハッシュ値がついていましたが、development環境ではこれを付けないようになりました。開発時は度々再ビルドすることになりますからね…。
ホイールイベントにPassive Event Listenerを使うように
fix(column): Use passive wheel listener by sorin-davidoi · Pull Request #4348 · tootsuite/mastodon
wheel イベントはキャンセル可能なイベントですが、これをあえてキャンセルしないと宣言しておくことで、パフォーマンスの向上を狙うものです。詳しくはこの辺が参考になります。
Passive Event Listeners によるスクロールの改善 | blog.jxck.io
お気に入り一覧の表示を高速化するためのインデックス追加
Add index favourites on account_id and id by akihikodaki · Pull Request #4360 · tootsuite/mastodon
これ自体はそれだけなんですが、Eugen氏からこんなにインデックスいるの?という意見と共に mastodon.social のインデックスサイズがいくつか挙げられていて、ちょっと面白いです。statusesテーブルのサイズと同じくらいstatusesテーブルのインデックスが食ってる。
その他いっぱい
WebPushの通知のグループ化
Sidekiqの管理画面を開いたときにForbiddenが表示されることがある件。
/auth/edit のセッション一覧で「現在のセッション」という表示がされなくなっていた件。一覧に項目自体はあるのですが、古いセッションと同じように表示されてしまっていました。
スワイプでカラムを切り替えたときに、タブの表示が先に切り替わるように。
Sidekiqの処理でPuSH関連のエラーがあった時に、原因のURLやユーザー名を表示するように。
ランディングページに表示されるタイムラインが、Safariでは途中から消えていた件。
federation先でrc1のトゥートに含まれるメンションをクリックしたときに、WebUI内で開かれずに新しいタブが開いていた件。
- Update Japanese translations for landing page (for Mobile). (addition to #4159) by clworld · Pull Request #4362 · tootsuite/mastodon
- Allow longer link text on landing page (reduce padding for Mobile) by clworld · Pull Request #4363 · tootsuite/mastodon
- Fix padding in hero container of landing page by lynlynlynx · Pull Request #4373 · tootsuite/mastodon
- Fix protruded infomation board section in about/more page by lynlynlynx · Pull Request #4415 · tootsuite/mastodon
ランディングページの一番上の3つ並んだリンクがスマホで折り返されていた件とか、インスタンス名の下にやたらでかい空白があった件とか、/about/more に表示されていたデータがスマホでも一行に押し込められていた件とか。
- Fix multiple-gif display in user page by lynlynlynx · Pull Request #4364 · tootsuite/mastodon
- Adjust mobile landing page by lynlynlynx · Pull Request #4366 · tootsuite/mastodon
- Fix multiple-gif display in user page by lynlynlynx · Pull Request #4364 · tootsuite/mastodon
- fix(web_push_notification): Do not hard reload tab by sorin-davidoi · Pull Request #4380 · tootsuite/mastodon
- feat(web_push_notifications): Group notifications by sorin-davidoi · Pull Request #4388 · tootsuite/mastodon