Mewstアップデート (2023-01-25)

2023-01-25

Mewstを公開してから一週間が経ちました。 この間にちょこちょこと改善を続けてきたので記事にまとめておこうと思います。 今後も定期的に記事にまとめていきたいです。

Twitterと連携してから一定時間経つとTwitterにクロスポイントできなくなる問題の修正

これはOAuth認可したときに得たアクセストークンを使い続けた結果有効期限が切れて、TwitterのWeb APIにリクエストできなくなっていただけでした…。

期限が切れたらリフレッシュトークンで新しいアクセストークンを得るようにして、ずっとクロスポイントできるようになりました。

Twitter連携したときにどのアカウントと連携したかを表示するようにした

すごく細かい変更ですが、これによりどのアカウントと連携してるんだっけ?というのが無くなったので嬉しいです。

Mewst 2023-01-25 02-56-02

アバター画像がアップロードできるようになった

公開当初から僕のアバター画像をサイト上に表示していましたが、実はあれは固定で表示しているだけで、最近まで画像アップロード機能を使ったものではありませんでした。 アップロード機能自体はありましたが、本番環境の設定が足りておらず画像がアップロードできない状態でした。

設定を追加して、今はアップロードできるようになっています。

タイムラインとプロフィールページにページネーションを設けた

投稿を続けていると無限に投稿が表示されてしまうため、ページネーションを設けました。

タイムラインは過去の投稿を振り返ることがあまりなさそうなのと負荷軽減的な目的で一定期間までの投稿しか見れないようにするかもしれないので、カーソル型のページネーション (この投稿以降の投稿を表示するといった方式) を実装しました。

カーソル型のページネーション:

image

プロフィールページには自分の投稿だけが表示され、自分の投稿は過去のもの含めて全て見たいので、全て見やすいようにオフセット型のページネーション (1ページ...nページみたいな方式) を実装しました。

オフセット型のページネーション:

image

ゆくゆくはTwilogAnnictの記録一覧ページみたいに月別に投稿が表示できるような機能を追加して、過去の自分の投稿が振り返りやすくしたいです。

言語選択の文言を修正

これも非常に細かい話ですが、言語選択のセレクトボックス内の文言を修正しました。

スクリーンショット 2023-01-25 3 12 09

修正前は日本語でサイトを表示していたとき「英語」と「日本語」が表示されていましたが、これだと日本語がわからない人が日本語でサイトを表示したとき英語に戻すのが難しくなるため、↑のスクショのように英語を併記するようにしました。

細かい見た目の調整

横幅がページごとにマチマチだったりしたのでそのあたりを調整したり、ナビゲーションバーのロゴの大きさや色を調整するなどしました。

その他リファクタリングなど

Vanilla Rails is plenty (翻訳) などを参考に サービスクラスを使わずに実装するように心がけたりしていましたが、大量のconcernsなモジュールの中にメソッドやコールバックなどを入れていくのも見通しが悪くなりそうだなとも思ったので、モジュールではなくクラスを定義してデリゲートするように修正するなどしていました。 これによりそのモデルでどんなことができるのかがメソッドレベルで把握しやすくなったような気がします。


以上が直近のアップデート内容でした。

コツコツとアップデートを重ねるMewstをよろしくお願いします。

https://www.mewst.com