Мониторинг: @tnsu/monitoring-web 0.3.1 — патч webpack и «один на страницу» из библиотеки
Tests / frontend-test (pull_request) Successful in 4m36s

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>
This commit is contained in:
gorbenko.pavel
2026-10-30 16:34:11 +05:00
parent 4b09833bc4
commit e204eeab72
5 changed files with 33 additions and 54 deletions
@@ -63,9 +63,6 @@ export interface IRequestPortalWebPartProps {
chatSelfNotify?: boolean;
}
// Мониторинг — один на страницу: экземпляров веб-части на странице может быть несколько.
let monitoringStarted = false;
export default class RequestPortalWebPart extends BaseClientSideWebPart<IRequestPortalWebPartProps> {
private _isDarkTheme: boolean = false;
@@ -104,10 +101,8 @@ export default class RequestPortalWebPart extends BaseClientSideWebPart<IRequest
protected onInit(): Promise<void> {
// Логи, ошибки, console.error и запись экрана в мониторинг (monitoring.tnsu.kz). Токен — молча через
// AAD веб-части (разрешение Logs.Write в package-solution.json); при отладке в workbench окружение — development.
if (!monitoringStarted) {
monitoringStarted = true;
initMonitoring({ service: 'requestPortal', getAccessToken: spfxTokenProvider(this.context.aadTokenProviderFactory) });
}
// Один на страницу: повторный вызов (несколько веб-частей) библиотека игнорирует сама.
initMonitoring({ service: 'requestPortal', getAccessToken: spfxTokenProvider(this.context.aadTokenProviderFactory) });
installErrorLogging(); // до всего остального — чтобы поймать и ранние отклонения
initSP(this.context); // единый клиент PnPjs для записи в списки