ru-all-dialogs

RU All Dialogs сервіс

Проходить загальний список діалогів Chathouse або Prime до визначеної глибини й передає кожну отриману сторінку споживачам. Сам діалоги, фаворитів і таски не тримає.

Chathouse

tab='all' без is_online. Відповідь одразу містить chat і mail limits усіх RU на сторінці.

Prime

criteria=[]. Dialog snapshot містить messagesLeft, але не містить lettersLeft.

Передача даних

  • останній контакт → FavoritesHistoryService;
  • limits зі snapshot → FavoriteService: Chathouse chat/mail, Prime chat;
  • явні blocked/unblocked значення → BlockService;
  • профілі з Chathouse → RUProfileService;
  • snapshots для пошуку тасків і кандидатів сендера → відповідні сервіси після фіксації їхніх алгоритмів.

Алгоритм

  1. Почати з порожнього cursor.
  2. Отримати сторінку й одразу передати її споживачам.
  3. Продовжити до кінця cursor або до визначеної глибини.
  4. Новий цикл не запускати, доки не завершився поточний.

Prime restriction не належить цьому сервісу. Його викликає конкретний споживач тільки після своїх локальних фільтрів; отриманий messagesLeft/lettersLeft також передається у FavoriteService.

Запуск при логіні TU, глибина і періодичне повторення — TODO.

Prime criteria=['active'] попередньо дублює цей прохід. TODO: перевірити, що criteria=[] стабільно повертає потрібні Open Limits-кандидати, і прибрати active-прохід; якщо його залишимо, запускати тільки після завершення повного проходу.

Запити на одну TU

ПроєктОдин прохід
ChathouseP_all
PrimeP_all

P_all — усі сторінки tab='all' або criteria=[] до визначеної глибини.

Chat/mail history для обчислення Prime-фаворитів у цю формулу не входить: ці запити належатимуть окремому favorite-updater, алгоритм якого ще не зафіксований.