Skip to content

3.0での変更点

Tatsuya Koishi edited this page Aug 5, 2019 · 27 revisions

方向性

  • mulukhiya-toot-proxy の名前が示す通り、当初から、トゥートの前処理を行うことで様々な機能を実現していました。今後は、以下のAPIにも同様の仕組みを適用します。
    • ブースト
    • お気に入り
    • ファイルアップロード
    • 検索
  • 今後、Mastodonの本体改造を少しでも減らすことを明確な目的とします。それにより、以下を実現します。
    • 管理者に対しては、コンフリクトの軽減によって運用性を高める。
    • 開発者に対しては、追加機能の開発が容易な環境を提供。

追加機能

ImageFormatConvertHandler

  • 以下の画像 以外 をJPEGに変換します。
    • JPEG
    • GIF
    • アルファチャンネルを含むPNG
  • MIMEタイプがimageで始まるもの全て、ImageMagick(convertコマンド)に通しています。
  • この為、本来Mastodonで扱えない画像フォーマットも扱えるようになっていると思われます。

AudioFormatConvertHandler

  • MP3以外の音源をMP3に変換します。
  • MIMEタイプがaudioで始まるもの全て、ffmpegに通しています。
  • AAC(*.m4a)が扱えるようになったことを確認しました。

VideoFormatConvertHandler

  • MP4以外の動画をMP4に変換します。
  • MIMEタイプがvideoで始まるもの全て、ffmpegに通しています。
  • FLVやAVIが扱えるようになったことを確認しました。

ImageResizeHandler

  • 長辺がしきい値より長い画像を縮小します。
  • しきい値のデフォルトは1,280px。

FavGrowiClippingHandler

  • GROWIのAPIキー等が既に登録済みなら、トゥートを「お気に入り」にするだけでクリッピングが実行できます。
  • ユーザーは、前もって以下の様なコマンドトゥートを実行。
command: user_config
growi:
  url: https://growi.example.com/
  token: aaaaaaa

BoostNotificationHandler

  • ブーストをSlack互換webhookに通知します。デフォルトオフ。

FavNotificationHandler

  • お気に入りをSlack互換webhookに通知します。デフォルトオフ。

AmazonURLHandler (旧AmazonASINHandler)

  • ユーザー側で、アフィリエイトを一時的にオンオフできます。デフォルトはオン。
  • 以下のコマンドトゥートで、一時的にオフ。
command: user_config
amazon:
  affiliate: false

/mastodon/search/limit (管理者向け)

  • 検索APIの上限件数を、本体改造なしに変更できます。デフォルトは40。

ResultNotificationHandler (管理者・開発者向け)

  • 結果通知の情報量をふやしました。
  • 将来のバージョンで、通知の書式が変わる可能性があります。

廃止機能

Twitterに関係した機能全て

  • gem twitter の更新が途絶えた為ですが、開発者自身もTwitterに興味がありません。ご理解ください。

GrowiClippingHandler

  • トゥート本文に #growi と書かれていたらクリップを行う機能がありましたが、利用しづらい状況がありました。廃止です。

DropboxClippingHandler

  • トゥート本文に #dropbox と書かれていたらクリップを行う機能も廃止です。

レスポンスヘッダ X-Mulukhiya (開発者向け)

  • 各ハンドラがトゥート本文を置き換えた回数を X-Mulukhiya に出力していましたが、用途がなさそうなので廃止しました。
  • ボディのJSON文書に、より詳細な実行結果情報が載りますので、こちらをご利用ください。

AdminNotificationHandler

  • #notify を含んだトゥートを、全ユーザーに「返信」扱いで通知する機能は、一旦廃止します。

仕様変更

  • webhookからのトゥートでは、コマンドトゥートを実行しないように。
  • 通知系のハンドラは全てデフォルトでオフになり、Slack互換webhookを登録するだけでは動作しません。オンにするには、以下のようなコマンドトゥートを行い、明示的にオンに。(管理者同報を有効にする例)
command: user_config
handler:
  admin_notification:
    disable: false
  • local.yamlの設定値の名前が、いくつか変更になっています。
Clone this wiki locally
You can’t perform that action at this time.