О платформе Войти
← К списку версий
v0.94.0 06.10.2026 MINOR
Буфер писем: что уйдёт сегодня, завтра и на неделе
ТЗ 278 «Буфер писем». Ссылка «Буфер писем» в меню вела в общий список всех писем, где нужное письмо найти невозможно, а плитка «Сегодня/завтра» считала ближайшие 24 часа от текущей минуты и показывала 0, хотя письма на сегодня были. По умолчанию теперь открывается буфер: просроченные письма отдельным блоком, дальше сегодня, завтра и каждый следующий день до конца недели. Периоды считаются по календарным дням. Версия v0.94.0.
Что сделано
  • Буфер открывается по умолчанию - `/admin/emails` без параметров открывает новый вид «Буфер» — только письма в статусе «в очереди», разложенные по дням отправки. Вкладки «Список», «Календарь» и «Корзина» остались на месте и открываются явно.
  • Почему старая плитка показывала 0 - Граница «Сегодня/завтра» считалась как «сейчас + 24 часа». В 21:30 это окно заканчивается завтра в 21:30, и письма, запланированные на сегодня в 08:30, в него не попадали — ни в плитку, ни в фильтр. Теперь «сегодня» значит до 23:59 сегодняшних суток, «завтра» — целые следующие сутки. Проверено на живых данных: при 21:30 в плитке было 0 при 184 письмах на сегодня.
  • Просроченные видно сразу - Письма, у которых время отправки уже прошло, а статус всё ещё «в очереди», вынесены в отдельный блок «Просрочено». На тесте таких оказалось 184 — они молчали в общем списке. Блок обычный, внимание привлекает формулировкой, а не красным цветом. Отдельный блок «Дальше» честно показывает число писем за пределами недели, а не прячет их.
  • Горизонты 3 дня и неделя - Добавлены плитки «На 3 дня» и «На неделю» с календарными границами. Плитки просроченного и ближайших дней показывают число нейтральным цветом.
  • В списке не больше 50 строк на блок - В каждом блоке показываются первые 50 писем, дальше честная строка «Ещё N — открыть все в списке». Ничего не обрезается молча.
  • Убрана вводящая в заблуждение подпись - Плитка плана по расписанию была подписана «завтра (пт)» — день недели был зашит в текст. Сегодня понедельник, и подпись врала. Теперь дата и день недели считаются, а в подсказке разделено: план по расписанию — это не фактический буфер.
Проверено
  • Тесты - Новый tests/Feature/AdminPreparedEmailBufferViewTest.php: 11 тестов, 47 проверок — границы по календарным дням, просроченное письмо попадает в свой блок, горизонт 3 дня обрезается по 00:00 четвёртого дня, письма за пределами недели не вываливаются в страницу, одно письмо не дублируется между блоками, черновики/отправленные/ошибки в буфер не попадают, виды list/calendar/trash не сломаны. Полный прогон платформы: 434 теста, 433 пройдено, 1 условно пропущенный.
  • Ширины экрана - /admin/emails проверен в браузере на ширинах от 1920 до 360: горизонтальной прокрутки нет ни на одной, ни один заголовок блока и ни одна тема письма не обрезаются. Плитки: 13 в ряду при 1920, 7 при 1024, 2 при 360, ни одна без числа.
  • Шрифт и вкладки - Все новые размеры шрифта — 14px и выше, правило «не меньше 14px» не смягчалось. Вкладка «Буфер» сделала перенос строки вкладок обязательным: на 360px четыре вкладки в одну строку не помещались.
Результат
  • По ссылке «Буфер писем» открывается реальное содержимое очереди по дням: сначала то, что зависло, потом сегодня, завтра и неделя. Плитки считают календарные дни и больше не показывают 0 при непустом буфере.