Mewstを公開してから一週間が経った。 この間にちょこちょこと改善を続けてきたので記事にまとめておこうと思う。 今後も定期的に記事にまとめていきたい。
これはOAuth認可したときに得たアクセストークンを使い続けた結果有効期限が切れて、TwitterのWeb APIにリクエストできなくなっていただけだった…。
期限が切れたらリフレッシュトークンで新しいアクセストークンを得るようにして、ずっとクロスポイントできるようになった。
すごく細かい変更だけど、これによりどのアカウントと連携してるんだっけ?というのが無くなったので嬉しい。
公開当初から僕のアバター画像をサイト上に表示していたけど、実はあれは固定で表示しているだけで、最近まで画像アップロード機能を使ったものではなかった。 アップロード機能自体はあったんだけど、本番環境の設定が足りておらず画像がアップロードできない状態だった。
設定を追加して、今はアップロードできるようになっている。
投稿を続けていると無限に投稿が表示されてしまうため、ページネーションを設けた。
タイムラインは過去の投稿を振り返ることがあまりなさそうなのと負荷軽減的な目的で一定期間までの投稿しか見れないようにするかもしれないので、カーソル型のページネーション (この投稿以降の投稿を表示するといった方式) を実装した。
カーソル型のページネーション:
プロフィールページには自分の投稿だけが表示され、自分の投稿は過去のもの含めて全て見たいので、全て見やすいようにオフセット型のページネーション (1ページ...nページみたいな方式) を実装した。
オフセット型のページネーション:
ゆくゆくはTwilogやAnnictの記録一覧ページみたいに月別に投稿が表示できるような機能を追加して、過去の自分の投稿が振り返りやすくしたい。
これも非常に細かい話だけど、言語選択のセレクトボックス内の文言を修正した。
修正前は日本語でサイトを表示していたとき「英語」と「日本語」が表示されていたが、これだと日本語がわからない人が日本語でサイトを表示したとき英語に戻すのが難しくなるため、↑のスクショのように英語を併記するようにした。
横幅がページごとにマチマチだったりしたのでそのあたりを調整したり、ナビゲーションバーのロゴの大きさや色を調整するなどした。
Vanilla Rails is plenty (翻訳) などを参考に サービスクラスを使わずに実装するように心がけたりしていたけど、大量のconcernsなモジュールの中にメソッドやコールバックなどを入れていくのも見通しが悪くなりそうだなとも思ったので、モジュールではなくクラスを定義してデリゲートするように修正するなどしていた。 これによりそのモデルでどんなことができるのかがメソッドレベルで把握しやすくなったような気がする。
以上が直近のアップデート内容でした。
コツコツとアップデートを重ねるMewstをよろしくお願いします。