Mastodon v1.6.1

v1.6.0のを整理しないままに出てしまった。まあいいか。

リリースノート見ながら思い出話するやつです。

https://github.com/tootsuite/mastodon/releases/tag/v1.6.1

今回はActivityPub周りのバグ修正が多いですねー。

Features

  • Add section for protocol specific information on the admin page (#4910)

ActivityPubに移行したらActivityPubの情報だけ表示するようにしたのも私なんですが、移行時のごたごたで購読状況見たいとか購読解除したいとかあるわな、となったので、全部出すようにしました。

  • Admin UI: Make instance names in into links to user list in the instance (#4924)
  • Admin UI: Add instance search feature (#4925)

管理画面でインスタンスごとのアカウント一覧を表示するのが簡単になりました。

  • Admin UI: Uploads for admin site settings (#4913)
    You can now upload your own OpenGraph thumbnail for your instance

鳥や丼にリンクを貼った時に表示されるサムネ画像が設定できるようになりました。ちなみに自鯖ドメインのURLを貼ってもcard表示されないので、他の鯖で試してみましょう。

  • Redesign video player (#4911)

生コントロールを自前実装して、拡大表示しなくてもそれらが表示されるようになっています。左から再生・一時停止、ミュート、非表示切り替え、間をあけて拡大表示、全画面表示です。

そしてこのプレイヤーはpublicページや埋め込み表示でも使えます。

  • Support OpenGraph video embeds (e.g. Twitch clips) (#4897)

Twitchの他にもSoundcloudとかいけます。

  • Include requested URL into the message on network errors (#4945)

Mastodonはなにかにつけ外部にリクエストを飛ばしますが、単にタイムアウトだの証明書だのと言われても、どこに接続できなかったのかがSidekiqの管理画面でわかりにくいので、エラーメッセージに足しました。PullRequestに貼った画像を見てもらうとわかりやすいです。

  • When web UI URL used while logged out, redirect to corresponding static page (#4954)

WebUIでトゥートの詳細を表示するとアドレスバーには /web/statuses/11126 といったURLが表示されますが、これはログインしていないと見れません。で、ログインしてなかったらWebUIじゃない方に飛ぶようになりました。ちなみにこの数値は status id なので、アカウント名がわからない状態でも簡単に表示できるようになったわけです。/web/statuses/1 とか。

  • When accessing uncached media attachment, redownload it (#4955)

外部のインスタンスから取得した添付画像は無限に保存していると辛いので、古いものは定期的に削除していますが、これをされるとサムネイルが表示されず不便でした。今後は古い投稿でも(多少時間はかかりますが)サムネイルが表示されるようになります。
具体的には、画像キャッシュが削除された投稿を取得した際、画像URLの代わりに、画像を自動的にダウンロードしつつ返すURLを渡すようになりました。

  • Add OpenStack Keystone V3 support (#4889)
  • Add scheduled worker to purge old user IPs (#4951)

Fixes

  • Fix error when following locked accounts (#4896)
  • Fix count numbers from ActivityPub not being saved (#4899)
  • Merge context hash into final JSON hash after key transform (#4898)
  • Fix nil error for old toots that don’t have a conversation (#4900)
  • Add missing suspend checks (#4921)
  • Fix ActivityPub handling of replies with WEB_DOMAIN (#4904)
  • Fix AP serialization error when thread is missing (#4970)
  • Fix an error in ReplyDistributionWorker when replied status was deleted (#4974)
  • Fix an error when actor json couldn’t be fetched in ResolveRemoteAccountService (#4979)

この辺だいたいAP関連のバグですね😇

  • Whenever a remote keypair changes, unfollow them and re-subscribe to them (#4907)

何らかの事情でインスタンスを立てなおした際、これまでのフォロワーはフォローしたつもりでいるのに、立てなおしたインスタンスの方は忘れていて配信されない、ということが起きていました。そこで通常の運用では変化しないアカウントごとの公開鍵を見て、これが変更されたら立てなおしかもしれない、ということで再度フォローを送るようになりました。

  • Enable to recognize most kinds of characters as URL paths (#4941, #4968, #4975)

Wikipediaなど、URLに日本語などの文字が含まれている場合、これまではあらかじめ%xxといった形式で変換していないとURLとして認識されませんでした。まあ大抵のブラウザはアドレスをコピーすると変換した状態になっているんですが、なっていない場合もあるので…。
また、そのように貼り付けられたURLは元の形のまま、日本語の部分は日本語のまま表示されるようになりました。

  • Fix invisible load more button (#4962)

ホームTLなどで最後までスクロールすると、クリックできそうでクリックできない空白が見えていた点などを修正しています。

  • Fix filterable_languages method of SettingsHelper (#4966)

言語フィルタに効果のない選択肢があったので、ちゃんと有効なものだけを表示するようになりました。

  • Randomize sidekiq-scheduler cron schedule (#4980)

OStatusの再購読を24時間ごとにかけているんですが、これまではその時間が固定だったので、特定の時間になると世界中のMastodonインスタンスが再購読を始めてしまい、される側に負荷がかかるという問題がありました。で、他の定時実行タスクとあわせてSidekiqの起動時にランダムに決めるようになりました。

  • Raise an error on getting activity uri for remote status (#4984)
  • Validate uri presence for remote status (#4985)

この辺は謎のバグ報告を受けてチェックを厳しくしたやつですね…。謎。

  • Oauth code in input form and add description message (#4986)

アプリのアクセス許可をしたあとのPINコード画面、コードがはみだしているわ説明はないわだったんですが、きれいになりました。

  • Reset preview image if avatar/header image selection was cancelled (#4893)
  • Clean up and improve generated OpenGraph tags (#4901)
  • Specify libicu explicitly in Aptfile (#4920)
  • Fix height cache (#4909)
  • Limit pinned toots to 5 (#4923)
  • Fix share intent (#4926)
  • Do not keep remote file names, generate random (#4934)
  • Fix race condition when receiving an ActivityPub Create multiple times (#4930)
  • Remove redundant width/height values from SVGs to fix Safari bug (#4956)
  • Fix hasSize condition in secSet and sizes. (#4969)
  • Adjust landing pages 2 (#4967)
  • Fix cancellation of scroll to the right (#4978)