Document runtime exclusions and verify offline transfer savings
This commit is contained in:
@@ -335,3 +335,19 @@ No product behavior changes are involved in these measurement corrections.
|
||||
Keep browser/build/test processes idle during full timing measurements. WebKit's
|
||||
zero long-task field means unavailable, not zero work. Autoplay-blocked/media-ready
|
||||
null results do not establish playback performance or iPhone audio continuity.
|
||||
|
||||
## Runtime manifest hygiene
|
||||
|
||||
`server/asset-manifest.js` excludes unit tests (`*.test.js`, `*.test.mjs`),
|
||||
Markdown, text licences/data (`*.txt`), C build sources, `*.entry.js` build
|
||||
entries, `/admin.html`, and files below any `perf/` directory from the runtime
|
||||
manifest and both build-tag modes. They remain directly servable with the usual
|
||||
hash and cache headers. If a matching file is genuinely needed at runtime, add
|
||||
its exact root-relative path to the optional `include` array in
|
||||
`frontend/assets.json`; group declarations referencing excluded files fail at boot
|
||||
unless explicitly included.
|
||||
|
||||
The offline completeness harness compares cache contents with the runtime
|
||||
manifest dynamically; it must not hard-code the old 151-file inventory. See
|
||||
`plans/manifest-hygiene-report.md` and `perf/results/hygiene-*.json` for the
|
||||
before/after measurements and compatibility checks.
|
||||
|
||||
2893
perf/results/hygiene-after.json
Normal file
2893
perf/results/hygiene-after.json
Normal file
File diff suppressed because it is too large
Load Diff
260
perf/results/hygiene-assets.json
Normal file
260
perf/results/hygiene-assets.json
Normal file
@@ -0,0 +1,260 @@
|
||||
{
|
||||
"before": {
|
||||
"count": 151,
|
||||
"rawBytes": 2044337,
|
||||
"manifestBytes": 15601
|
||||
},
|
||||
"after": {
|
||||
"count": 102,
|
||||
"rawBytes": 1807059,
|
||||
"manifestBytes": 12551
|
||||
},
|
||||
"excluded": [
|
||||
{
|
||||
"path": "/admin.html",
|
||||
"rawBytes": 102005,
|
||||
"brBytes": 24050
|
||||
},
|
||||
{
|
||||
"path": "/app-seams.test.js",
|
||||
"rawBytes": 9786,
|
||||
"brBytes": 2457
|
||||
},
|
||||
{
|
||||
"path": "/asset-sync-core.test.js",
|
||||
"rawBytes": 9430,
|
||||
"brBytes": 2525
|
||||
},
|
||||
{
|
||||
"path": "/asset-worker.test.js",
|
||||
"rawBytes": 8219,
|
||||
"brBytes": 1984
|
||||
},
|
||||
{
|
||||
"path": "/async-guard.test.js",
|
||||
"rawBytes": 2543,
|
||||
"brBytes": 765
|
||||
},
|
||||
{
|
||||
"path": "/audio-continuity.test.js",
|
||||
"rawBytes": 2899,
|
||||
"brBytes": 813
|
||||
},
|
||||
{
|
||||
"path": "/bento-hub.test.js",
|
||||
"rawBytes": 868,
|
||||
"brBytes": 283
|
||||
},
|
||||
{
|
||||
"path": "/car-mode.test.js",
|
||||
"rawBytes": 2556,
|
||||
"brBytes": 973
|
||||
},
|
||||
{
|
||||
"path": "/direct-protocol.test.js",
|
||||
"rawBytes": 1279,
|
||||
"brBytes": 521
|
||||
},
|
||||
{
|
||||
"path": "/direct-stream.test.js",
|
||||
"rawBytes": 891,
|
||||
"brBytes": 390
|
||||
},
|
||||
{
|
||||
"path": "/download-errors.test.js",
|
||||
"rawBytes": 1783,
|
||||
"brBytes": 566
|
||||
},
|
||||
{
|
||||
"path": "/downloads-page.test.js",
|
||||
"rawBytes": 2453,
|
||||
"brBytes": 699
|
||||
},
|
||||
{
|
||||
"path": "/downloads.test.js",
|
||||
"rawBytes": 1608,
|
||||
"brBytes": 639
|
||||
},
|
||||
{
|
||||
"path": "/eq-core.test.js",
|
||||
"rawBytes": 1055,
|
||||
"brBytes": 428
|
||||
},
|
||||
{
|
||||
"path": "/export.test.js",
|
||||
"rawBytes": 521,
|
||||
"brBytes": 259
|
||||
},
|
||||
{
|
||||
"path": "/f7-layout.test.js",
|
||||
"rawBytes": 1400,
|
||||
"brBytes": 380
|
||||
},
|
||||
{
|
||||
"path": "/fonts/PlusJakartaSans-OFL.txt",
|
||||
"rawBytes": 4402,
|
||||
"brBytes": 1428
|
||||
},
|
||||
{
|
||||
"path": "/fullscreen-orientation.test.js",
|
||||
"rawBytes": 1278,
|
||||
"brBytes": 404
|
||||
},
|
||||
{
|
||||
"path": "/glass-controls.test.js",
|
||||
"rawBytes": 1177,
|
||||
"brBytes": 412
|
||||
},
|
||||
{
|
||||
"path": "/glass-panel-layout.test.js",
|
||||
"rawBytes": 782,
|
||||
"brBytes": 259
|
||||
},
|
||||
{
|
||||
"path": "/lazy.test.js",
|
||||
"rawBytes": 7117,
|
||||
"brBytes": 2030
|
||||
},
|
||||
{
|
||||
"path": "/loudness.test.js",
|
||||
"rawBytes": 1626,
|
||||
"brBytes": 706
|
||||
},
|
||||
{
|
||||
"path": "/lower-third.test.js",
|
||||
"rawBytes": 845,
|
||||
"brBytes": 338
|
||||
},
|
||||
{
|
||||
"path": "/lyrics-core.test.js",
|
||||
"rawBytes": 4996,
|
||||
"brBytes": 1430
|
||||
},
|
||||
{
|
||||
"path": "/lyrics-display.test.js",
|
||||
"rawBytes": 494,
|
||||
"brBytes": 244
|
||||
},
|
||||
{
|
||||
"path": "/lyrics-window.test.js",
|
||||
"rawBytes": 617,
|
||||
"brBytes": 264
|
||||
},
|
||||
{
|
||||
"path": "/midi.test.js",
|
||||
"rawBytes": 987,
|
||||
"brBytes": 348
|
||||
},
|
||||
{
|
||||
"path": "/p2p-core.test.js",
|
||||
"rawBytes": 2116,
|
||||
"brBytes": 675
|
||||
},
|
||||
{
|
||||
"path": "/party-dj.test.js",
|
||||
"rawBytes": 550,
|
||||
"brBytes": 234
|
||||
},
|
||||
{
|
||||
"path": "/piano-core.test.js",
|
||||
"rawBytes": 2102,
|
||||
"brBytes": 731
|
||||
},
|
||||
{
|
||||
"path": "/prewarm-next.test.js",
|
||||
"rawBytes": 1268,
|
||||
"brBytes": 434
|
||||
},
|
||||
{
|
||||
"path": "/related-videos.test.js",
|
||||
"rawBytes": 1514,
|
||||
"brBytes": 556
|
||||
},
|
||||
{
|
||||
"path": "/resume-core.test.js",
|
||||
"rawBytes": 1531,
|
||||
"brBytes": 484
|
||||
},
|
||||
{
|
||||
"path": "/saved-page.test.js",
|
||||
"rawBytes": 553,
|
||||
"brBytes": 224
|
||||
},
|
||||
{
|
||||
"path": "/server-backfill.test.js",
|
||||
"rawBytes": 2118,
|
||||
"brBytes": 683
|
||||
},
|
||||
{
|
||||
"path": "/setlist-import.test.js",
|
||||
"rawBytes": 1134,
|
||||
"brBytes": 508
|
||||
},
|
||||
{
|
||||
"path": "/settings-sections.test.js",
|
||||
"rawBytes": 1209,
|
||||
"brBytes": 405
|
||||
},
|
||||
{
|
||||
"path": "/sha256.test.js",
|
||||
"rawBytes": 3251,
|
||||
"brBytes": 1153
|
||||
},
|
||||
{
|
||||
"path": "/shell-consistency.test.js",
|
||||
"rawBytes": 5265,
|
||||
"brBytes": 1507
|
||||
},
|
||||
{
|
||||
"path": "/stats-core.test.js",
|
||||
"rawBytes": 3165,
|
||||
"brBytes": 929
|
||||
},
|
||||
{
|
||||
"path": "/sw-update.test.js",
|
||||
"rawBytes": 17825,
|
||||
"brBytes": 4099
|
||||
},
|
||||
{
|
||||
"path": "/sw.test.js",
|
||||
"rawBytes": 6219,
|
||||
"brBytes": 1849
|
||||
},
|
||||
{
|
||||
"path": "/vendor/framework7-swipe.entry.js",
|
||||
"rawBytes": 1040,
|
||||
"brBytes": 290
|
||||
},
|
||||
{
|
||||
"path": "/video-edit.test.js",
|
||||
"rawBytes": 3396,
|
||||
"brBytes": 855
|
||||
},
|
||||
{
|
||||
"path": "/visible-timer.test.js",
|
||||
"rawBytes": 2827,
|
||||
"brBytes": 687
|
||||
},
|
||||
{
|
||||
"path": "/vocal-reducer.test.js",
|
||||
"rawBytes": 648,
|
||||
"brBytes": 235
|
||||
},
|
||||
{
|
||||
"path": "/wasm/loudness.c",
|
||||
"rawBytes": 2132,
|
||||
"brBytes": 861
|
||||
},
|
||||
{
|
||||
"path": "/wasm/sha256.c",
|
||||
"rawBytes": 2428,
|
||||
"brBytes": 1064
|
||||
},
|
||||
{
|
||||
"path": "/worker-imports.test.js",
|
||||
"rawBytes": 1370,
|
||||
"brBytes": 636
|
||||
}
|
||||
],
|
||||
"excludedBrBytes": 64694
|
||||
}
|
||||
5013
perf/results/hygiene-before-rollback-offline.json
Normal file
5013
perf/results/hygiene-before-rollback-offline.json
Normal file
File diff suppressed because it is too large
Load Diff
3383
perf/results/hygiene-before.json
Normal file
3383
perf/results/hygiene-before.json
Normal file
File diff suppressed because it is too large
Load Diff
41
perf/results/hygiene-migration.json
Normal file
41
perf/results/hygiene-migration.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"commit": "b77938a",
|
||||
"results": [
|
||||
{
|
||||
"browser": "chromium",
|
||||
"oldTag": "1175f1a1d2c1",
|
||||
"newTag": "604f8f8d8a68",
|
||||
"banners": 1,
|
||||
"updateReloads": 1,
|
||||
"cachedFiles": 124,
|
||||
"durationMs": 26801,
|
||||
"wireBytes": 638444,
|
||||
"offline": true,
|
||||
"legacyURLs": 21,
|
||||
"profile": "lossy",
|
||||
"userInitiatedOnly": true,
|
||||
"playbackGuard": true,
|
||||
"evictionRepair": true,
|
||||
"incrementalRefresh": true,
|
||||
"offlineTransportErrors": 0
|
||||
},
|
||||
{
|
||||
"browser": "webkit",
|
||||
"oldTag": "1175f1a1d2c1",
|
||||
"newTag": "604f8f8d8a68",
|
||||
"banners": 1,
|
||||
"updateReloads": 1,
|
||||
"cachedFiles": 124,
|
||||
"durationMs": 24322,
|
||||
"wireBytes": 743954,
|
||||
"offline": true,
|
||||
"legacyURLs": 21,
|
||||
"profile": "lossy",
|
||||
"userInitiatedOnly": true,
|
||||
"playbackGuard": true,
|
||||
"evictionRepair": true,
|
||||
"incrementalRefresh": true,
|
||||
"offlineTransportErrors": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
5836
perf/results/hygiene-offline.json
Normal file
5836
perf/results/hygiene-offline.json
Normal file
File diff suppressed because it is too large
Load Diff
4817
perf/results/hygiene-rollback-offline.json
Normal file
4817
perf/results/hygiene-rollback-offline.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user