Capture v17.7.1 browser module diagnostics

This commit is contained in:
github-actions[bot] 2026-09-08 23:47:10 +00:00
parent 9839f764f3
commit 69d483519e
4 changed files with 38 additions and 132 deletions

View File

@ -1,33 +0,0 @@
name: Caterium v17.7.1 browser diagnostic
on:
push:
branches:
- main
paths:
- '.github/workflows/browser-diag-v1771.yml'
permissions:
contents: write
jobs:
diagnose:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: npm install
- run: npx playwright install --with-deps chromium
- name: Diagnose browser module loading
run: |
npx http-server public -p 4173 -c-1 > /tmp/caterium-http.log 2>&1 &
sleep 2
node ops/browser_diag_v1771.mjs > ops/browser-diag-v1771.txt
- name: Commit diagnostic result
run: |
rm -f .github/workflows/browser-diag-v1771.yml ops/browser_diag_v1771.mjs ops/e2e-v1771.txt
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -A
git add -f ops/browser-diag-v1771.txt
git commit -m "Capture v17.7.1 browser module diagnostics"
git push

View File

@ -0,0 +1,38 @@
{
"state": {
"readyState": "complete",
"performanceLoaded": true,
"data1771": true,
"data1770": true,
"dataCurrent": true,
"perfScript": "http://127.0.0.1:4173/core/performance.js?v=20260909-v17-7-1-data-layer-adoption",
"dataScript": "http://127.0.0.1:4173/core/data-layer-v1771.js?v=20260909-v17-7-1-data-layer-adoption",
"dataFetch": {
"status": 200,
"ok": true,
"head": "(()=>{\n 'use strict';\n if(window.CateriumDataV1771)return;\n\n const VERSION='1"
}
},
"events": [
{
"type": "response",
"url": "http://127.0.0.1:4173/core/performance.js?v=20260909-v17-7-1-data-layer-adoption",
"status": 200
},
{
"type": "response",
"url": "http://127.0.0.1:4173/core/data-layer-v1771.js?v=20260909-v17-7-1-data-layer-adoption",
"status": 200
},
{
"type": "response",
"url": "http://127.0.0.1:4173/core/server-automation-v1770.js?v=20260909-v17-7-1-data-layer-adoption",
"status": 200
},
{
"type": "response",
"url": "http://127.0.0.1:4173/core/data-layer-v1771.js",
"status": 200
}
]
}

View File

@ -1,22 +0,0 @@
import { chromium } from 'playwright';
const browser=await chromium.launch({headless:true});
const page=await browser.newPage();
const events=[];
page.on('console',m=>events.push({type:'console',level:m.type(),text:m.text()}));
page.on('pageerror',e=>events.push({type:'pageerror',text:String(e)}));
page.on('requestfailed',r=>events.push({type:'requestfailed',url:r.url(),failure:r.failure()}));
page.on('response',r=>{if(/performance|data-layer-v1771|server-automation/.test(r.url()))events.push({type:'response',url:r.url(),status:r.status()})});
await page.goto('http://127.0.0.1:4173/index.html',{waitUntil:'domcontentloaded'});
await page.waitForTimeout(1500);
const state=await page.evaluate(async()=>({
readyState:document.readyState,
performanceLoaded:Boolean(window.SunPerformance),
data1771:Boolean(window.CateriumDataV1771),
data1770:Boolean(window.CateriumDataV1770),
dataCurrent:Boolean(window.CateriumData),
perfScript:document.querySelector('script[src*="core/performance.js"]')?.src||null,
dataScript:document.getElementById('cateriumDataV1771Script')?.src||null,
dataFetch:await fetch('core/data-layer-v1771.js').then(async r=>({status:r.status,ok:r.ok,head:(await r.text()).slice(0,80)})).catch(e=>({error:String(e)}))
}));
console.log(JSON.stringify({state,events},null,2));
await browser.close();

View File

@ -1,77 +0,0 @@
> caterium-app@17.7.1 test:e2e
> playwright test --config=tests/playwright.config.mjs
Running 42 tests using 1 worker
[WebServer] (node:2722) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
[WebServer] (Use `node --trace-deprecation ...` to show where the warning was created)
·········°········F·F··········°·······F·F
1) [desktop] tests/app.spec.mjs:262:1 v17.7.1 data layer can update orders without direct UI globals
TimeoutError: page.waitForFunction: Timeout 5000ms exceeded.
262 | test('v17.7.1 data layer can update orders without direct UI globals', async ({ page }) => {
263 | await page.goto('/index.html',{waitUntil:'domcontentloaded'});
> 264 | await page.waitForFunction(()=>Boolean(window.CateriumDataV1771),null,{timeout:5000});
| ^
265 | const result=await page.evaluate(()=>{const d=window.CateriumDataV1771;d.orders.replace([{id:77,status:'Новый',total:1000}],{persistLocal:false,reason:'e2e-seed'});const before=d.orders.get(77);d.orders.update(77,o=>({...o,status:'Тест'}),{persistLocal:false});return {before:before.status,after:d.orders.get(77).status,version:d.VERSION,alias:window.CateriumDataV1770===d}});
266 | expect(result).toEqual({before:'Новый',after:'Тест',version:'17.7.1',alias:true});
267 | });
at /home/runner/work/caterium-app/caterium-app/tests/app.spec.mjs:264:14
Error Context: test-results/app-v17-7-1-data-layer-can-f5318-s-without-direct-UI-globals-desktop/error-context.md
2) [desktop] tests/app.spec.mjs:278:1 v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias
TimeoutError: page.waitForFunction: Timeout 5000ms exceeded.
278 | test('v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias', async ({ page }) => {
279 | await page.goto('/index.html',{waitUntil:'domcontentloaded'});
> 280 | await page.waitForFunction(()=>Boolean(window.CateriumDataV1771),null,{timeout:5000});
| ^
281 | const result=await page.evaluate(()=>{
282 | const d=window.CateriumDataV1771,beforeOrders=d.orders.list(),beforeCatalog=d.catalog.list();
283 | d.orders.replace([...beforeOrders,{id:'qa-v1771',event:'QA',lines:[]}],{persistLocal:false,reason:'qa-order'});
at /home/runner/work/caterium-app/caterium-app/tests/app.spec.mjs:280:14
Error Context: test-results/app-v17-7-1-data-layer-ser-350cb-v17-7-0-compatibility-alias-desktop/error-context.md
3) [mobile-390] tests/app.spec.mjs:262:1 v17.7.1 data layer can update orders without direct UI globals
TimeoutError: page.waitForFunction: Timeout 5000ms exceeded.
262 | test('v17.7.1 data layer can update orders without direct UI globals', async ({ page }) => {
263 | await page.goto('/index.html',{waitUntil:'domcontentloaded'});
> 264 | await page.waitForFunction(()=>Boolean(window.CateriumDataV1771),null,{timeout:5000});
| ^
265 | const result=await page.evaluate(()=>{const d=window.CateriumDataV1771;d.orders.replace([{id:77,status:'Новый',total:1000}],{persistLocal:false,reason:'e2e-seed'});const before=d.orders.get(77);d.orders.update(77,o=>({...o,status:'Тест'}),{persistLocal:false});return {before:before.status,after:d.orders.get(77).status,version:d.VERSION,alias:window.CateriumDataV1770===d}});
266 | expect(result).toEqual({before:'Новый',after:'Тест',version:'17.7.1',alias:true});
267 | });
at /home/runner/work/caterium-app/caterium-app/tests/app.spec.mjs:264:14
Error Context: test-results/app-v17-7-1-data-layer-can-f5318-s-without-direct-UI-globals-mobile-390/error-context.md
4) [mobile-390] tests/app.spec.mjs:278:1 v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias
TimeoutError: page.waitForFunction: Timeout 5000ms exceeded.
278 | test('v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias', async ({ page }) => {
279 | await page.goto('/index.html',{waitUntil:'domcontentloaded'});
> 280 | await page.waitForFunction(()=>Boolean(window.CateriumDataV1771),null,{timeout:5000});
| ^
281 | const result=await page.evaluate(()=>{
282 | const d=window.CateriumDataV1771,beforeOrders=d.orders.list(),beforeCatalog=d.catalog.list();
283 | d.orders.replace([...beforeOrders,{id:'qa-v1771',event:'QA',lines:[]}],{persistLocal:false,reason:'qa-order'});
at /home/runner/work/caterium-app/caterium-app/tests/app.spec.mjs:280:14
Error Context: test-results/app-v17-7-1-data-layer-ser-350cb-v17-7-0-compatibility-alias-mobile-390/error-context.md
4 failed
[desktop] tests/app.spec.mjs:262:1 v17.7.1 data layer can update orders without direct UI globals
[desktop] tests/app.spec.mjs:278:1 v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias
[mobile-390] tests/app.spec.mjs:262:1 v17.7.1 data layer can update orders without direct UI globals
[mobile-390] tests/app.spec.mjs:278:1 v17.7.1 data layer serves orders and catalog with v17.7.0 compatibility alias
2 skipped
36 passed (43.7s)