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.5 KiB
JSON
59 lines
1.5 KiB
JSON
{
|
|
"$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json",
|
|
"solution": {
|
|
"name": "request-portal-client-side-solution",
|
|
"id": "8c31266a-712c-4c72-ae04-bca5a6a071c3",
|
|
"version": "1.0.0.0",
|
|
"includeClientSideAssets": true,
|
|
"skipFeatureDeployment": true,
|
|
"isDomainIsolated": false,
|
|
"developer": {
|
|
"name": "",
|
|
"websiteUrl": "",
|
|
"privacyUrl": "",
|
|
"termsOfUseUrl": "",
|
|
"mpnId": "Undefined-1.22.2"
|
|
},
|
|
"metadata": {
|
|
"shortDescription": {
|
|
"default": "request-portal description"
|
|
},
|
|
"longDescription": {
|
|
"default": "request-portal description"
|
|
},
|
|
"screenshotPaths": [],
|
|
"videoUrl": "",
|
|
"categories": []
|
|
},
|
|
"webApiPermissionRequests": [
|
|
{
|
|
"resource": "9232d9e2-9807-4753-808f-07250e5474b0",
|
|
"scope": "Reports.Read"
|
|
},
|
|
{
|
|
"resource": "9232d9e2-9807-4753-808f-07250e5474b0",
|
|
"scope": "Logs.Write"
|
|
},
|
|
{
|
|
"resource": "Microsoft Flow Service",
|
|
"scope": "Flows.Read.All"
|
|
},
|
|
{
|
|
"resource": "https://org95ca17d6.crm4.dynamics.com",
|
|
"scope": "user_impersonation"
|
|
}
|
|
],
|
|
"features": [
|
|
{
|
|
"title": "request-portal Feature",
|
|
"description": "The feature that activates elements of the request-portal solution.",
|
|
"id": "62ca9536-2532-4e3a-8bbb-9f83ae032708",
|
|
"version": "1.0.0.0"
|
|
}
|
|
]
|
|
},
|
|
"paths": {
|
|
"zippedPackage": "solution/request-portal.sppkg"
|
|
}
|
|
}
|