:don: 170715

bug

未知のアカウントに対する返信への返信がHomeに表示される

Fix subsequent replies to unresolved status not being filtered from home by Gargron · Pull Request #4190 · tootsuite/mastodon

A(未知)←B←C みたいに返信していったときに、BとCをフォローしているとB←Cが見えてしまうという話。多分。

Mastodonでは単に@がついているだけ(メンション)ではHomeからフィルタされず、返信の流れを追っています。ただ返信の返信(以降)で毎回 in_reply_to を追っかけるのは手間なので、in_reply_to_account_id として一連の会話の最初の返信先を保持することで、フィルタを行っています。

この id もローカルの id なので、未知のアカウントの場合は nil になるわけですが、この場合をカバーする条件が漏れていた、という話のようです。

master: ブースト・ふぁぼ解除を二回クリックしないといけない件

Fix response of unreblog/unfavourite APIs by unarist · Pull Request #4204 · tootsuite/mastodon

ブースト・ふぁぼは同期的に処理されるのに対し、それぞれの解除はSidekiqを使い非同期に処理されます。つまりレスポンスを返す段階ではふぁぼ数やふぁぼ済みフラグが更新されていません。

で、処理後の状態を推測して上書きしていたんですが、ActiveModelSerializersを導入したときに消えていたために、解除しても解除したように見えないというバグでした。コメントで指摘があるブースト数・ふぁぼ数は気づきはしたんですが、どう実装したものかというのもあり、大きなバグではないということで今回は後回しにしました。はい。

master: モバイルレイアウトでのカラム切り替え

Fix column swiping by unarist · Pull Request #4211 · tootsuite/mastodon

  • アニメーションをオフにしているとイベントの発火順序が異なるために、正しくURL変更が行われなかった。
  • スワイプ移動するときはアニメーションをかけたいはずなのに、URL変更から発生した遷移の直後はアニメーションがかかっていない。スワイプ時の挙動に影響するのは既存の設定なので、アニメーション有効に戻しておかないといけないという。
  • あと個人的な好みで、隣のカラムだからといってスワイプでない遷移でアニメーションしないように。

最後のは私の好みも多分にありますが、同じ「アニメーションする」といってもスワイプ時と見え方が違うんですよね。スワイプの場合 react-swipeable-views 側でスワイプを検知したらアニメーション完了を待ってURL変更=遷移先をマウントしますが、そうでない場合まずURL変更=マウントがあってから react-swipeable-views でアニメーションすることになります。

先にマウントが発生するので、そこに時間がかかればアニメーションに待たされることになります。また、遷移前のカラムが空っぽになり遷移先のカラムが描画された状態でアニメーションが行われます。この二点がスワイプ時と違うのでちょっと違和感が…とりわけ遷移前が先に消えるのが気になるんだろうか。

feature

お気に入り一覧をピン留めできるように

Fix #3773 - Pin favourites column by Gargron · Pull Request #4201 · tootsuite/mastodon

結局今でもリアルタイム更新はされないけどいいんだろうか…。

improvement

一番下までスクロールしたときに、LoadMoreボタンが消えてガクンとなる件

Small style fixes by sorin-davidoi · Pull Request #4206 · tootsuite/mastodon

あれ地味に気になってたんですが、要素を消すのではなく opacity: 0 にすることで高さを維持するようにしたようです。いや…それより読み込み中とわかる表示にすればいいのでは…。