e34d290865
Tests / frontend-test (push) Successful in 1m24s
Логи, ошибки и запись экрана портала заявок в центральный мониторинг (monitoring.tnsu.kz).
**Что поменялось**
- `@tnsu/monitoring-web` 0.3.1 из реестра tansu.
- `RequestPortalWebPart.onInit`: `initMonitoring({ service: 'request-portal', getAccessToken: spfxTokenProvider(this.context.aadTokenProviderFactory) })` — до `installErrorLogging`. Один на страницу (экземпляров веб-части бывает несколько) — это делает сама библиотека.
- `config/package-solution.json`: запрос `Logs.Write` к регистрации мониторинга `9232d9e2-…` (рядом с уже запрошенным `Reports.Read` той же регистрации).
- Хэш коммита сборки (`git.commit` в логах, «Сборка» в плеере): `config/webpack-patch.json` ссылается на патч из пакета (`node_modules/@tnsu/monitoring-web/spfx/webpack-patch.cjs`), он подставляет `__TNSU_GIT_COMMIT__` из `GIT_COMMIT`, `GITHUB_SHA` или `git rev-parse`. Пайплайн менять не нужно.
**Что пишется**
- Необработанные ошибки и отказы промисов, `console.error` (в том числе вывод `installErrorLogging`), `log.*`.
- Запись экрана (rrweb) — **ничего не маскируется**, записывается вся страница SharePoint, не только веб-часть. Неудачные запросы — вкладка «Сеть» в плеере.
- В workbench / при `gulp serve` окружение `development` — в админке мониторинга такие записи по умолчанию скрыты.
- Нет связи с мониторингом час — тост «Ошибка №… Обратитесь к администратору» (не чаще 3 раз в сутки).
**Проверено:** продакшен-сборка (`heft build --production`) проходит, патч применяется, хэш коммита попадает в бандл веб-части.
**После выкатки .sppkg** администратор один раз одобряет запрос: SharePoint admin center → Advanced → API access → `Logs.Write` → Approve. Пока не одобрено, токена нет и данные копятся в браузере (до 50 МБ), портал работает как обычно.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: #29
59 lines
1.7 KiB
JSON
59 lines
1.7 KiB
JSON
{
|
|
"name": "request-portal",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"engines": {
|
|
"node": ">=22.14.0 < 23.0.0"
|
|
},
|
|
"scripts": {
|
|
"build": "heft test --clean --production && heft package-solution --production",
|
|
"start": "heft start --clean",
|
|
"clean": "heft clean",
|
|
"eject-webpack": "heft eject-webpack"
|
|
},
|
|
"dependencies": {
|
|
"@fluentui/react": "^8.106.4",
|
|
"@microsoft/sp-component-base": "1.22.1",
|
|
"@microsoft/sp-core-library": "1.22.1",
|
|
"@microsoft/sp-lodash-subset": "1.22.1",
|
|
"@microsoft/sp-office-ui-fabric-core": "1.22.1",
|
|
"@microsoft/sp-property-pane": "1.22.1",
|
|
"@microsoft/sp-webpart-base": "1.22.1",
|
|
"@pnp/sp": "^4.20.0",
|
|
"@pnp/spfx-controls-react": "^3.25.0",
|
|
"@pnp/telemetry-js": "2.0.0",
|
|
"@tnsu/monitoring-web": "^0.3.4",
|
|
"@tnsu/ui-kit": "^0.15.0",
|
|
"jszip": "~3.8.0",
|
|
"react": "17.0.1",
|
|
"react-dom": "17.0.1",
|
|
"tslib": "2.3.1"
|
|
},
|
|
"devDependencies": {
|
|
"@axe-core/playwright": "^4.13.0",
|
|
"@microsoft/eslint-config-spfx": "1.22.2",
|
|
"@microsoft/eslint-plugin-spfx": "1.22.2",
|
|
"@microsoft/sp-module-interfaces": "1.22.2",
|
|
"@microsoft/spfx-heft-plugins": "1.22.2",
|
|
"@microsoft/spfx-web-build-rig": "1.22.2",
|
|
"@rushstack/eslint-config": "4.5.2",
|
|
"@rushstack/heft": "1.1.2",
|
|
"@types/heft-jest": "1.0.2",
|
|
"@types/react": "17.0.45",
|
|
"@types/react-dom": "17.0.17",
|
|
"@types/webpack-env": "~1.15.2",
|
|
"@typescript-eslint/parser": "8.46.2",
|
|
"css-loader": "~7.1.2",
|
|
"eslint": "8.57.1",
|
|
"eslint-plugin-react-hooks": "4.3.0",
|
|
"playwright": "^1.63.0",
|
|
"typescript": "~5.8.0"
|
|
},
|
|
"overrides": {
|
|
"@rushstack/heft": "1.1.2"
|
|
},
|
|
"resolutions": {
|
|
"@types/react": "17.0.45"
|
|
}
|
|
}
|