Бобер Боб
Платформа складского учёта
Платформа складского учёта · Release notes · v0.24.6

История версий — v0.24.6

Раздел «Телеграм боты» (/admin/telegram-bots) теперь обновляет переписку автоматически: каждые 15 секунд выполняется тихий poll с refresh=1, открытый диалог при обновлении не сворачивается, а новые ходы появляются сами с уведомлением «Появились новые сообщения». Добавлен переключатель «Автообновление: вкл/выкл» и живой индикатор «Обновлено: N сек назад». Исправлен корневой баг обновления: Cache::remember с TTL=0 возвращал устаревшие данные из кеша, из-за чего кнопка «Обновить» фактически не подтягивала свежие ходы — теперь refresh=1 полностью обходит кеш (getConversations/getConversationsWithMeta при cacheSeconds<=0 читают источник напрямую). Добавлен сворачиваемый блок «Как настроить бота»: подсказки про bot_id и target_bot_id, отправку ходов из n8n в api/log_turn.php, настройки N8N_TELEGRAM_BASE_URL/N8N_TELEGRAM_API_SECRET в .env, автообновление, тест соединения и получение прямой ссылки на сессию. Версия обновлена до v0.24.6.

patch Выпущена 01.08.2026
v0.24.6 patch от 01.08.2026

Автообновление переписки и подсказки по настройке ботов

Автообновление

  • Тихий poll каждые 15 секунд — loadConversations(refresh, silent) с refresh=1; открытый диалог не сворачивается, меню и модалы не перекрываются
  • Уведомление о новых сообщениях — при росте числа ходов показывается toast «Появились новые сообщения»
  • Переключатель — «Автообновление: вкл/выкл» в шапке страницы; пауза при открытых модалах и скрытой вкладке (document.hidden)
  • Индикатор свежести — «Обновлено: только что / N сек назад / N мин назад» в карточке бота

Исправление refresh (корень жалобы)

  • Баг — Cache::remember(key, 0, …) сначала читал живой ключ и возвращал устаревшие данные; refresh=1 не сбрасывал кеш
  • Фикс — N8nTelegramService: при cacheSeconds<=0 getConversations/getConversationsWithMeta идут напрямую в fetchRaw, минуя Cache::remember
  • Проверка — тест: новый ход на n8n-telegram появляется в ответе при refresh=1 сразу, без ожидания 60 сек

Подсказки по настройке

  • Блок «Как настроить бота» — сворачиваемая карточка: bot_id = target_bot_id, отправка ходов в api/log_turn.php, N8N_TELEGRAM_BASE_URL/N8N_TELEGRAM_API_SECRET в .env
  • Практика — автообновление каждые 15 сек, тест соединения, получение прямой ссылки на сессию через «⋯»

Технически

  • config/app.php — версия 0.24.5 → 0.24.6
  • routes/web.php — /about: блок 0.24.6
  • N8nTelegramService — приватный fetchWithMeta, ранний выход из кеша при cacheSeconds<=0
  • Тесты — TelegramBotsTask76Test: автообновление на странице, подсказки, refresh обходит кеш, новые ходы подтягиваются сразу, отсутствие утечки секрета (9 тестов, 34 ассерта)
  • Проверка — полный php artisan test зелёный (кроме предсуществующего ExampleTest 302); E2E в headless Chrome
← Ко всем версиям