В Твиттере тонна багов, которые ждут пользователя стоит отойти от протоптанной тропы обычного использования.

Например, блоклист сортируется по числовому айди, а не по дате блокировки, как в Фейсбуке. Не ради оптимизации, просто поленились. Успехов найти того, кого забанил последним.

А на скрине моё любимое. Реплаи и результаты поиска сначала получаются из базы данных, а потом к ним применяется чёрный список текущего пользователя. Так как все данные загружаются пакетами по 15 постов, если активно банить может оказаться, что выдача пустая.

Можно было бы применить это условие заранее, на стадии выборки, но это сильно бы ударило по всей производительности.

Можно было бы добавить костыль, чтобы если выборка пустая, но ещё не конец списка, то мы делаем повторные запросы пока не получим хотя бы одну непустую выборку или конец списка. Но тогда можно было бы задудосить свой же сервер если активно банить людей (как я).

Ну это то, что сразу в голову приходит, я же не программист миллиардного стартапчика по подписке. Уверен, они могут придумать что-то эффективное.

Но разрабы пошли самым простым путём: если после очистки от забаненых в выборке осталось 0 пользователей, то сервис вернёт ошибку, а она будет экстраполирована в 503 Service Unavailable.

Ничего личного, просто бизнес. Посмотри мемчики с рекламой и вали.

Тут нужен какой-то вывод, но хз, может я просто завидую.