@pnp/spfx-controls-react через @pnp/telemetry-js шлёт fetch на
pnptelemetryproxy.azurewebsites.net без catch. Где адрес закрыт прокси
или блокировщиком, каждый раз «Failed to fetch» и «Необработанный отказ
промиса» в логах request-portal. Отключаем её в onInit (optOut),
@pnp/telemetry-js — прямой зависимостью той же версии 2.0.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
«Создана заявка: Заявка на прием · TNS-… · Инженер — Проект X», «Заявка отправлена на согласование: …»,
«Заявка согласована: TNS-… · …» — заявку видно прямо в списке логов; те же данные — в полях request.*.
Отправка на согласование пишется при сохранении заявки с отправленным статусом (там известно, что за
заявка), из writeRoute лог убран. Код и название для решения дочитываются, сбой чтения решение не ломает.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
config/webpack-patch.json ссылается на патч из пакета (spfx/webpack-patch.cjs), свой
config/webpack-patch/monitoring.js удалён. Флаг monitoringStarted не нужен: повторный initMonitoring
библиотека игнорирует сама.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
initMonitoring в onInit веб-части (один раз на страницу), service.name = requestPortal, токен — молча
через AAD веб-части (spfxTokenProvider). В package-solution.json запрос Logs.Write к регистрации
мониторинга. Хэш коммита сборки — патч webpack (config/webpack-patch.json): GIT_COMMIT, GITHUB_SHA или git.
Пакет @tnsu/monitoring-web ставится отдельно.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>