Mastodon v1.6.0

https://github.com/tootsuite/mastodon/releases/tag/v1.6.0 を訳したり捕捉を入れたり再編したものです。

ActivityPub 対応

鯖缶はこれをどうぞ https://hackmd.io/s/H1KSg6ttW

ユーザーとして知っておくべきポイントは、これぐらいです:

  • ロックされていないアカウントをリモートフォローする時にも砂時計マークになることがあります。しばらく待てばフォロー済みアイコンになるはずですが、改善されないようなら一旦砂時計をクリックして未フォロー状態に戻してから再度フォローしてみてください。
  • いくつかの機能が追加されました。これらは1.6以上のインスタンス同士でのみ発生します。
    • Aさんのトゥートに対して返信が送られると、その返信をAさんのフォロワーにも転送します。つまり、Aさんだけフォローしているインスタンスでも、BさんからAさんへの返信が会話表示に現れます。
    • これまでトゥートの削除は直接のフォロワーまでしか配信されていませんでしたが、今後はブーストした人やメンション先、またブーストした人のフォロワーなど、可能な限り削除通知を転送するようになりました。(これでも完全ではありません)

ところで、ActivityPubのひとつの目玉は、非公開やダイレクトといった公開範囲の指定がきちんと考慮されていることです。これまで使ってきたOStatusというプロトコルではMastodonの独自実装だったために、GNUSocialなど他の実装では非公開投稿なのにブーストできてしまう、といった問題がありました。

そこで将来的にはActivityPubでのみ非公開やダイレクトを配信するようになる予定ですが、1.6よりも古いMastodonにもそれらの非公開投稿が配信されなくなってしまうので、1.6の普及を待っている段階です。知り合いにインスタンスを運用している人がいれば、早めにv1.6以上へ更新するよう伝えていただければと思います。

  • Security:
    • Digest header on requests with body (#4565)
    • Add handling of Linked Data Signatures in payloads (#4687, #4752)
    • Support more variations of ActivityPub keyId in signature (#4630)
  • Plumbing:
    • Incoming processing (#4216, #4571, #4595, #4601, #4629, #4639, #4728, #4729, #4763, #4754, #4761)
    • Delivery (#4566, #4703, #4704, #4739)
    • Improvements to representation of entities (#4592, #4737, #4764, #4767, #4779)
  • Protocol upgrade:
    • Migration from OStatus (#4583, #4593, #4623, #4631, #4632, #4617, #4662, #4582, #4702, #4730, #4756, #4766)
    • Alternate links to ActivityPub resources from HTML/HEAD variants (#4586)
    • Hook up URL-based resource look-up to ActivityPub (#4589, #4661, #4599, #4668, #4672)
  • User-facing:
    • Update admin view for ActivityPub users (#4600, #4622)
    • Forward ActivityPub deletes to followers of rebloggers (#4706)
    • Forward ActivityPub replies to local statuses to followers of authors (#4709)
    • Fetch statuses/following/followers numbers from ActivityPub (#4840)

その他機能追加など

  • Include the stats from the /about/more page in API response about instance (#4074)
    /about/moreで得られる情報をよりAPIで取得できるように。
  • Add protocol handler. Mastodon can now respond to URLs that begin with web+mastodon://, e.g. specially crafted “follow me” buttons would automatically open your correct instance from any webpage (#4511)
    あらかじめ登録しておいたインスタンスを呼び出してフォローや投稿できる、web+mastodon:// プロトコルハンドラを追加。
    • web+mastodon://follow?uri=alice@example.com opens follow dialog for alice
    • web+mastodon://share?text=Lorem+ipsum opens new toot dialog with preset text “Lorem ipsum
  • Redesign public profiles. Add no-replies, with-replies, only-media filters (#4608, #4711, #4713)
    プロフィールページのデザイン刷新
  • Developer UI for OAuth applications (#2758, #4664, #4671)
    設定ページからもアプリ登録やトークン発行を行えるように。
  • Add Mastodon::Source.url for forks (#4643)
  • Pinned statuses (#4675, #4690, #4817)
    公開プロフィールページで表示される固定トゥート機能を追加。
  • Update status embeds with better URLs, better design, branded follow button using protocol handler (#4742)
  • “Embed” modal in web UI (#4748, #4759, #4773)
    トゥートのメニューに埋め込みようHTMLを取得できる項目を追加。
  • Add script to make embedded iframes autosize (#4853)
  • OpenStack Swift support as alternative to S3 📎 (#2322, #4816)
  • “Mute conversation” option on all own toots, not just in notifications (#4844)
  • Default follows for new users (#4871)
    新規ユーザーがデフォルトで管理者をフォローするように。設定ページからフォロー対象は変更することができます。 New users automatically follow certain accounts upon e-mail confirmation. Configurable with admin site setting. When nothing else set, defaults to admins.

修正等

  • During Docker build: Use multiple cores in bundler and make (#4544)
    dockerイメージのビルド時に -j xx オプションを付けて高速化
  • Web perf: Cache status height (#4439)
    IntersecionObserverを使って画面外のトゥートの描画を簡易化していますが、このためにはトゥートを表示した時の高さを知る必要があります。これまではカラムを切り替えると高さ情報が失しなわれてしまい、ブラウザバックで戻った時に表示が遅いことがありました。そのような場合でも高さ情報を保持する、という改善です。
  • Fixes to the about page (#4554, #4548, #4682)
  • Add missing content type on throttled responses (#4558)
  • Add coalesce option to avatar and header convert processor (#4552)
    GIFアニメアバターの表示を修正
  • Add missing @ to the onboarding modal (#4560)
  • Add missing scroll to top to some column headers (#4563)
    一部カラムヘッダクリックでスクロールせずにエラーが出ていた
  • Add favourited toot to favourites column (#4562)
  • Remove toot from favorites column when unfavorited (#4597)
    お気に入りカラムを表示している状態でお気に入りの登録・解除を行なっても判定されるように。
  • Fix emoji picker scrollbar style (#4572)
    絵文字ピッカーのスクロールバーの色を修正
  • Extend Devise remember_me longevity to 1 year instead of 2 weeks (#4587) 再ログインを求められるまでの期間を長く
  • Fix search (regression from #4589) (#4594)
  • Fix require_user! behavior when not logged in (#4604)
  • Don’t send Link header when prev and next links are empty (#4633)
  • Re-add missing token authorization for /api/v1/verify_credentials (#4650)
  • Refactored streaming connections (#4645)
  • Do not try to re-subscribe to unsubscribed accounts (#4653)
    購読解除したアカウントも自動的に再購読されていたバグを修正。ところでこれに伴い、一人もフォローしていないアカウントでも再購読が自動的に行われるようになりました。これを整理したい場合は rake mastodon:push:clear を実行することで、誰にもフォローされていないリモートアカウントの購読を解除することができます。
  • Fix visual line-break glitch with .invisible parts of links (#4655)
  • Increase contrast in landing pages (#4567)
  • Periodically remove expired PuSH subscribers (#4654)
  • Disable babel-loader cache when in development environment (#4684)
  • Don’t load Roboto webfont when system font is used in the app (#4591)
  • Automatically authorize pending incoming follow requests after unlocking account (#4658)
    未承認のフォローリクエストがある状態でアカウントのロックを解除してもそれらが承認されていなかったのを修正。
  • Adjust RTL styles (#4712)
  • Do not scroll the columns area due to redirection (#4541)
  • Remove unnecessary indices (#4738)
  • Add close tag of iframe for OEmbed response (#4745)
  • Docker: Update to Alpine 3.6 (#4747)
  • Make first use less overwhelming with browser permissions: Ask for desktop notifications after 1 minute, ask to register protocol handler after 5 minutes (#4760)
    WebPushやプロトコルハンドラの登録リクエストが表示されるまで少しウェイトを設けるように。
  • Use system’s default font (when selected) on non web UI pages too (#4553)
  • Link previews storage and fetching reworked/optimized (#4642)
  • Fix text position of “sensitive content” spoiler in Safari (Mac/iPhone) (#4570)
  • Make “unfollow” remove pending outgoing follow requests too (#4781)
    砂時計マークのクリックでフォローリクエストをキャンセルできるように。
  • Validate presence of data in imports (#4782)
  • Fix short number locales (#4790)
  • Fix a problem that notification column goes to top (#4792)
  • Use correct syntax for content preloading (#4798)
  • Fix streaming url to lowercase (#4804)
    ハッシュタグは内部的には全て小文字で管理されている、というのを踏まえて、大文字を含んだハッシュタグを指定してStreamingAPIに接続できなかったのを修正。
  • Show pinned statuses only in the top of the profile page (#4803)
  • Fix some ActivityPub JSON bugs (#4796)
  • Add new index on notifications to make filtering faster (#4750)
  • Adjust status embeds (#4808)
  • Restore instant follow in API response when account is unlocked (#4799)
    ActivityPubではロックされていないアカウントをフォローする時にもフォローリクエストと自動承認という形を取りますが、自動承認の結果はリアルタイムでWebUIには反映されず、ページを再読み込みするまで砂時計のまま…というのはあれなので、フォローできたような表示にする(APIレスポンスを返す)ように。
  • Fix mentions in direct statuses not being delivered via AP (#4806)
  • Do not execute the job with the same arguments as the retry job (#4814)
  • Enable UniqueRetryJobMiddleware even when called from sidekiq worker (#4836)
  • Fix text position of NSFW for video file (#4819)
  • Fix scroll position (#4821)
  • Add Smartphone screen favourite back button and adjust styles (#4813)
    お気に入りカラムのスマホレイアウトで戻るボタンがなかったのを修正。
  • Make new statuses use the same URI format in both ActivityPub and OStatus (fixes threading issue in OStatus) (#4815)
  • Fix rake task compatibility with Ruby 2.3.x (#4832)
  • Report comment: limit to 1000 characters (#4833)
    通報コメントの上限を1000文字に。
  • Fix counting of local statuses for stats (#4839)
  • Fix language filter codes (#4841) 言語フィルタで意味のない選択肢があったのを修正(それでも全部チェックしてもフィルタできない言語がある)
  • Handle stream_entry URL correctly in ActivityPub (#4854)
  • Refresh timeline after toot while the timeline is disconnected (#4858)
    LTLやFTLを表示していない時にトゥートしてからLTLやFTLを開くと、トゥートするまでの投稿が読み込まれないことがあったのを修正。
  • When visibility missing from API call to toot, fallback to user preference (#4861)
    投稿APIでvisibilityを省略した場合、WebUIのデフォルト設定に合わせるように
  • Check if already follow-requested from FollowService to avoid error (#4855)
    フォローリクエスト済みのアカウントを再フォローしようとしてもエラーにならないように。
  • Scrollable tables in settings pages (#4857)
  • Add missing reject_media check before avatar download via ActivityPub (#4862)
  • Fix errors preventing UnsubscribeService from working (#4866)
    接続エラー等が発生する場合に購読解除ができなかったのを修正。
  • Set fallback address when empty notification address (#4868)
  • Fix dimensions of loading component for compose drawer (#4872)
    投稿カラムに切り替えた時に一瞬普通のカラムっぽいなにかが表示されていたのを修正。
  • Hide modal loading screen for media/video/boost/confirm/actions modals (#4873)
    各種確認モーダルやメディアの拡大表示で、一瞬チュートリアルみたいな枠が表示されていたのを修正。