はんドンクラブ 運営ブログ

Mastodonインスタンス「handon.club」の運営ブログです。コラムなど,Mastodonに関する一般的な記事も投稿予定です。

3.3.0にアップデートしました【DM表示方法について】

はんドンクラブは3.3.0にアップデートしました🎉

  • 3.2.1→3.3.0へアップデートしました
  • アップデートに伴うサービス停止時間は,全サービス停止が41分53秒(検索機能は1時間1分4秒)でした
  • 3.3.0がリリースされてから4日かかりました

リリースされてからアップデートまで時間を要してしまい申し訳ありません。

機能追加された点

3.3.0のアップデートに伴い機能追加された点は以下の通りです。

  1. WebUIの画像の拡大表示UIがより操作しやすくなりました #15068
  2. WebUIで動画/音声を再生中に画面外までスクロールすると右下にポップアウト表示されるようになりました #14870
  3. WebUIの通知バーで未読管理できるよう未読の通知の左側にマーカーが表示されるようになりました #14818
    • ちなみに未読管理自体は内部のDBで管理されており,API取得も可能です。クライアントが対応していればWebUIとクライアントの未読管理は同期可能です。
      f:id:highemerly:20201231121823p:plain:w300
      未読の通知には左側に青色のバーがついています。
  4. ブックマークしたトゥートのインポート・エクスポートに対応しました #14956
    • トゥート含め,https://handon.club/settings/export からエクスポートできます。サーバに非常に高い負荷がかかるため,必要な時にのみエクスポートをお願いします。
  5. 特定のユーザがトゥートした際に通知を受け取ることができるようになりました #13546
    f:id:highemerly:20201231122519p:plain:w320
    ベルのマークを押して通知をオンにするとトゥートしたときに通知が届くようになります!
  6. ストリーミングに関わる大きな実装変更がありました #14524
    • ユーザのみなさんはあまり意識する必要はありませんが,今回のバージョンにおける最も大きな変更なので挙げておきました。効率があがったと思っていただければ。
  7. 削除したトゥートは他のサーバ(リモートサーバ)側でも削除されるべきですが,これがより確実に削除できるような実装変更がありました #15200

その他は公式リポジトリを参照してください。

今回併せて実施したメンテナンス

  1. サーバのホストOSをCentOS 7.8.2008 → 7.9.2009にアップデートしました
  2. Elasticsearchを6.8系から7系(7.10.1)にアップデートしました
  3. その他一部ミドルウェアのバージョンアップを行いました

DM表示方法について(はんドン独自機能)

Mastodon公式リポジトリ(tootsuite/mastodon)では,このバージョンから,ダイレクトメッセージ(DM)をホームタイムライン(HTL)上にも表示させるようになりました。しかし,私はこの変更があまりにも嫌すぎるのと,みなさんの意見を聞いていてもやっぱり嫌なようだったので,対処を行うこととしました。

具体的には,DMをHTLに表示させるかさせないかをユーザごとに選択できるようにしました。

f:id:highemerly:20201231123530p:plain

初期設定ではチェックが入っています。つまり,「DMをHTLに表示させない」,すなわち3.2.xまでの動作を引き継ぐようにしました。このままがよい方は変更する必要はありませんが,もし公式リポジトリと全く同じ動作を希望されるかたは,上記画像に従って設定を変更してください。下のようにタイムライン上に表示されます。

f:id:highemerly:20201231123656p:plain:w300

Webにおける細かな仕様は以下のとおりです。

チェックする チェックしない
自分の送ったDMがHTLに 表示されない 表示される
自分の送ったDMが通知欄に 表示されない 表示されない
自分の送ったDMがDM欄に 表示される 表示される
他人から受け取ったDMがHTLに 表示されない 表示される
他人から受け取ったDMが通知欄に 表示される 表示される
他人から受け取ったDMがDM欄に 表示される 表示される

繰り返しですが,

  • 公式準拠の場合・・・ 強制的に「チェックしない」の動作となる
  • はんドンの場合・・・初期設定は「チェックする」の動作となる。ユーザが希望すれば「チェックしない」の動作も選択可能。

です。

なお,クライアントをご利用の方も基本的には同様の表示となることが予想されますが,実際はクライアントの実装に依存します。今回はAPIをいじっている*1ので,Web側もクライアント側もどちらにも設定が反映されてます。

注意点です。この機能は独自で開発した機能です。十分なテストを行っていますが,一部動作不良がある可能性があります。DMを取りこぼさないようにDMはDM欄で見てくださいね。また,設定を変更した際は,基本的に設定が変更された後のDMに新しい設定が適用されますが,一部過去に遡って適用される場合もあります(条件はややこしいので書きません)。要するに頻繁な設定変更は強くおすすめしません。

*1:WebのみCSSで非表示にすることで対応するか,Webでもクライアントでも対応できるようAPIをいじるかは相当悩みました。しかし,クライアントをメインで使っているみなさんにもこの機能を使ってもらいたかったので,APIをいじることにしました。