Files
portal/app/tests/Feature/Advertising
Дмитрий 07a17b2767 fix: пополнил кошелёк — реклама оживает; охрана очередей больше не слепнет от одной строки
Т-Б3 приёмки телеграма и падающая задача incidents:watch-failures.

1. Реклама, вставшая из-за нехватки денег, была в тупике: ручка
   возобновления принимала только `paused`, ручка запуска — только
   `draft`, а на экране у такой кампании не было ни одной кнопки.
   Клиент пополнял кошелёк и не мог вернуть рекламу ничем.
   Найдено чтением кода, БЕЗ траты живых денег и без остановки
   рекламы Яндекса — ровно то, ради чего карточка откладывалась.

2. incidents:watch-failures падал на бою каждые 10 минут с 05.08
   09:30. Причина: не отправилось письмо тревоги, упавшее письмо
   легло в failed_jobs, а в его слепке — нулевой байт от закрытых
   полей объекта PHP. Postgres такую строку хранит, но текст из неё
   не достаёт и роняет весь запрос. Одна строка глушила всю охрану
   очередей и вебхуков поставщика, а в журнале был только «код 1».

Сторожа обеих починок видены красными до правки.

NB: настоящий нулевой байт из своих же комментариев убран — с ним
git считал оба файла двоичными и переставал показывать различия.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-06 20:26:46 +03:00
..