マストドンのWeb UI、検索ボックスあたりを読んでみたのだけど、相変わらず地獄感がマシマシ
ブロミューを考慮してDBから一発で指定件数を取ってくるのがとてつもなく難しそう、かつ検索APIのページングの仕様がアレなせいで、最悪なコードを書かされるはめになった
「11件を要求されたらDBから22件取得しておいて、ブロックミュート等をフィルタした最終結果の最初11件を取っておけばだいじょうぶやろガッハッハ」という最悪のソリューション
https://github.com/iwatedon/mastodon/commit/85984c74ffaed6ec39a56987a8b05e7cdb566193
BTした件の解決策、ずっと考えていたのだが、面倒になってきたので「11件より多めに取得しておいて、最終結果の最初11件を取ってくる」というヤケッパチなソリューションで手を打ってみた。。。
マストドンの投稿検索ってさ、10件取得するのに実は内部的には11件取得している(11件目が取れた=次の検索結果ページがあるとみなす)ような処理っぽいんだけど、結果件数がなんらかの理由で11件に満たない場合に、次のページが表示できなくなってるぽい
https://github.com/mastodon/mastodon/blob/main/app/javascript/mastodon/actions/search.js#L53