2026/06/21(日)Mastodon v4.6.0をv.4.5.4にロールバックしたログ

投稿日:

UIが余りにも好みではなかったので戻した時のログ。

結論から言うと簡単に戻せた。

確認環境

  • バイナリから起動しているMastodon
  • Mastodon本番環境をGitで管理している

手順

  1. DBのロールバックを行う。34世代前に戻すと4.5.4になる
    RAILS_ENV=production bundle exec rails db:rollback STEP=34
    
  2. 4.5.4時点までgit revertする
  3. Mastodonのアップグレードと同じ方法でコマンドを叩いてゆく
    sudo su - mastodon
    # Rubyのアップデート用
    cd ~/.rbenv/plugins/ruby-build
    git pull
    cd ~/live
    RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install
    # install
    bundle install
    yarn install
    # DBがアカンことがあるので叩いておく
    RAILS_ENV=production bundle exec rails db:migrate
    # いつものリビルド
    RAILS_ENV=production bundle exec rails assets:clobber
    RAILS_ENV=production bundle exec rails assets:precompile
    exit
    # 再起動
    sudo systemctl restart mastodon-web mastodon-sidekiq mastodon-streaming
    
  4. 動いてれば終わり

あとがき

切り戻した動機

v4.5.4 v4.6.0

4.5系から4.6系でUIが大幅に変わること自体は知っていたが、UIの変更が余りにも多く、個人で元に戻せるレベルではなかったため切り戻しすることにした。

app/javascriptpackage.json, yarn.lock, config/viteを戻してもバックエンドと結びついてるやつがいるようで上手くいかなかった。

以下、v4.6.0で気に入らなかった部分の一例。端的に言うと目が痛いし、ダサい。

フォロー・フォロワー一覧にある「フォローされています」が余りにもデカく、ダサすぎる。

フォロー・フォロワー一覧から便利メニューが消えた。

日本語翻訳がまた消えた。翻訳が消えるのはMastodonにはよくあることだが毎回翻訳キーを調べて書き換えるのが嫌になった。ここ以外にも未翻訳部分はある。

ユーザーハンドルのポップアップが変わった。前の方が良かった。説明が薄いし、Copy handleのボタンも直感的でないと思う。あと翻訳してほしい。

左に寄りすぎたタブと、直感的でなく操作に手数がかかるフィルタUI。返信を表示は今までタブとしてあったのに、4.6.0では「投稿とブースト」プルダウンをクリックし、トグルボタンを切り替えないといけない。これはとても直感的でないと思うし、そこまでして操作したくない。

自己紹介編集画面が縦長になりすぎた。自己紹介の編集画面が空白まみれになり縦長になりスクロールが必要になったうえ、更に個別の項目に編集ボタンがあり、編集しづらい。なんで初期状態で編集可能にしないのか…。

自己紹介の補足情報が一行に複数入って気持ち悪い。

自己紹介で絵文字が出ない、要素が変に改行されたりトリムされている。

ハッシュタグのコントラスト比が高く目が痛い。

スクロールバーが太くなった。スタイリッシュさが消えた。

テキスト入力欄にフォーカスが入ると枠が出るようになった。光りすぎてて目が痛い。

未読チェックが左側に出るようになった。右側に出てくれた方が押しやすい。スクショ貼るのが面倒なので以降スクショなし。

タイムラインのメニュー展開ボタンが左側に出るようになった、右側にry。

非ログインユーザーの表示が標準ではライトテーマになっており、見た目を調整するには両方のテーマを直すか、ライトテーマを消し去るしかなく、UIの保守コストが増大した。(厳密にはブラウザのテーマによって変わる)

UIが嫌なのにバージョンを上げた理由

実はこうなることは事前にある程度知っていたのだが、Wrapstodonが使いたかったからバージョンを上げたところがある。

しかし全く容認できないUIだったため切り戻すことにした。

どうにかして元に戻そうとした夢の跡

4.5系のUIを部分的に復活させた #4で、vibe codingを利用して直そうとしたものの、破綻が酷く、結局半分くらい自分で書いたが、結局変更箇所が多すぎてどうにもならなかった。

あとがきのあとがき

取り敢えずDBを壊さず、ロールバックもせず綺麗に戻せてよかった。