From 7fce5a789c746e39f1ded523551eed7659e937fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=93=D0=BE=D1=80=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=D1=86=D0=BA=D0=B8=D0=B9?= Date: Thu, 15 Oct 2026 12:31:59 +0500 Subject: [PATCH] =?UTF-8?q?chore:=20=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B8=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B1=D1=80=D0=B0=D1=83=D0=B7=D0=B5=D1=80=D0=BD=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=20QA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit guard пропускает GetClientSideComponents (без него страница не грузит SPFx), probe с --local-build запускает Chromium без проверок Local Network Access, которые режут загрузку https://localhost:4321 с SharePoint. Co-Authored-By: Claude Opus 5.5 (1M context) --- .claude/skills/spfx-qa/scripts/guard.mjs | 1 + .claude/skills/spfx-qa/scripts/probe.mjs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.claude/skills/spfx-qa/scripts/guard.mjs b/.claude/skills/spfx-qa/scripts/guard.mjs index 1d792fa..5a9c606 100644 --- a/.claude/skills/spfx-qa/scripts/guard.mjs +++ b/.claude/skills/spfx-qa/scripts/guard.mjs @@ -17,6 +17,7 @@ const READ_VIA_POST = [ /\/GetItems\b/i, /\/_api\/search\/postquery/i, /\/GetUpdatedFormDigest/i, + /\/_api\/web\/GetClientSideComponents/i, // манифесты веб-партов, без них страница не грузит SPFx /\/_api\/SP\.Utilities\.Utility\.ResolvePrincipalInCurrentContext/i, /\/_api\/SP\.UI\.ApplicationPages\.ClientPeoplePickerWebServiceInterface\.clientPeoplePickerSearchUser/i, /\/_api\/sp\.userprofiles\.peoplemanager/i, diff --git a/.claude/skills/spfx-qa/scripts/probe.mjs b/.claude/skills/spfx-qa/scripts/probe.mjs index f8fa70d..b3d1851 100644 --- a/.claude/skills/spfx-qa/scripts/probe.mjs +++ b/.claude/skills/spfx-qa/scripts/probe.mjs @@ -46,7 +46,9 @@ let AxeBuilder = null; try { ({ default: AxeBuilder } = await import('@axe-core/playwright')); } catch { /* axe не установлен */ } await fs.mkdir(out, { recursive: true }); -const browser = await chromium.launch(); +// Local Network Access в свежем Chromium режет загрузку https://localhost:4321 с публичного сайта SharePoint +const LOCAL_BUILD_ARGS = ['--disable-features=LocalNetworkAccessChecks,PrivateNetworkAccessSendPreflights,BlockInsecurePrivateNetworkRequests,PrivateNetworkAccessRespectPreflightResults']; +const browser = await chromium.launch(args['local-build'] ? { args: LOCAL_BUILD_ARGS } : {}); const result = { url, surface: tenant ? 'tenant' : 'harness', date: new Date().toISOString(), axe: Boolean(AxeBuilder), runs: [] }; // Признаки непереведённых строк и утёкших значений в тексте