chore(chat): убрать настройки Jivo — чат теперь свой; экскурсии выключены

Config: jivo_bot -> bot (убраны неиспользуемые webhook_secret/outbound_url/token
- транспорт Jivo уже удалён), jivosite убран целиком (виджет больше не нужен).
Env: JIVO_BOT_* -> BOT_*; JIVO_WIDGET_ID/VITE_JIVO_WIDGET_ID удалены.
tours_enabled выключен по умолчанию (BOT_TOURS_ENABLED=false) — экскурсии
«Показать на портале» уходили не по теме вопроса (живая проверка 13.07.2026),
чинить релевантность отдельно; сторож-тест не даёт включить незаметно.

Заодно убраны обнаруженные хвосты того же виджета, оставшиеся от прежних
задач: JivoLivenessProbe (класс+тест+регистрация в мониторинге внешних
сервисов), плитка «JivoSite» в админ-дашборде, встроенный скрипт виджета
в welcome.blade.php, осиротевший тест resources/js/.../JivoWidget.vue
(компонент уже был удалён ранее), declaration VITE_JIVO_WIDGET_ID.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-07-13 08:32:21 +03:00
parent ac0c8f74fc
commit e969b7700a
23 changed files with 50 additions and 157 deletions
@@ -85,7 +85,7 @@ it('пишет строки живости: balance_amount NULL, цвет из
app()->instance(Yandex360BalanceProvider::class, fakeProvider('email', BalanceReading::ok('email', 777, 'RUB', null)));
RefreshExternalBalancesJob::useLivenessProbes([
fakeProbe('jivosite', LivenessReading::down('jivosite', 'HTTP 500')),
fakeProbe('demo_probe', LivenessReading::down('demo_probe', 'HTTP 500')),
fakeProbe('captcha', LivenessReading::unknown('captcha', 'выключена')),
]);
@@ -95,9 +95,9 @@ it('пишет строки живости: balance_amount NULL, цвет из
expect($rows)->toHaveCount(6); // 4 деньги (вкл. email) + 2 живость
expect((float) $rows['email']->balance_amount)->toBe(777.0);
expect((bool) $rows['email']->ok)->toBeTrue();
expect($rows['jivosite']->light)->toBe('red');
expect((bool) $rows['jivosite']->ok)->toBeTrue(); // ok=true: статус свежий и определённый (упал)
expect($rows['jivosite']->error)->toContain('500');
expect($rows['demo_probe']->light)->toBe('red');
expect((bool) $rows['demo_probe']->ok)->toBeTrue(); // ok=true: статус свежий и определённый (упал)
expect($rows['demo_probe']->error)->toContain('500');
expect($rows['captcha']->light)->toBe('grey');
expect((bool) $rows['captcha']->ok)->toBeFalse(); // grey = не смогли/не применимо
});