mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-01 04:09:17 +00:00
The sidebar page could serve a previous card for hours. It imported the card through the stable facade, `./houseplan-card.js` — a relative specifier, and relative resolution does not inherit a query. A dashboard reaches the same file as `houseplan-card.js?v=1.74.0`, so an upgrade changes its URL and the browser must refetch. The panel always asked for the same address, and entries are served with no Cache-Control at all — only ETag and Last-Modified — so the browser applies heuristic freshness and may answer from cache without asking. A stale 1164-byte loader names a stale chunk, chunks are immutable for a year, and the panel then ran a previous card against the current backend without a single error. The version banner was telling the truth; reloading could not help, because the address never changed. Rollup already emits the right edge: the panel's side-effect import points straight at the shared implementation. The rewrite in entryFallbackPlugin replaced it with the facade for a fallback that the hashed name gives anyway — and better: a chunk the manifest no longer serves now raises the panel's own "House Plan was updated" notice instead of silently working on old code. Two #486 assertions change meaning and are rewritten, not adjusted: the panel no longer routes through the facade, and its initial graph no longer contains it. The invariant they defended — the panel reuses the exact card graph, never a second copy — is now stated over the implementation, and a new test pins that no built entry reaches the card by an address without a version. Issue: #535 User-Visible: yes
146 lines
4.6 KiB
JSON
146 lines
4.6 KiB
JSON
{
|
|
"version": 2,
|
|
"fixture": "synthetic-only",
|
|
"chromium": "151.0.7922.34",
|
|
"oxipng": "oxipng 10.2.0",
|
|
"sourceFingerprint": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"captureScriptSha256": "9e4b0ae533407fe003a129078aec020f2c83d67cdb6fc6da696ce3d829beaeb5",
|
|
"command": "npm run build && node demo/docs/capture.mjs",
|
|
"scenarios": {
|
|
"view-desktop": {
|
|
"file": "01-view-desktop.png",
|
|
"viewport": {
|
|
"width": 1180,
|
|
"height": 900
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "76c35a87810e3dc6890bda7b43da133f57d8860031204a62cda7115c15950090"
|
|
},
|
|
"view-touch": {
|
|
"file": "02-view-touch.png",
|
|
"viewport": {
|
|
"width": 390,
|
|
"height": 760
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "795585acb09488236ebb8028a7fcbd918404c5fe01560bb9b4559de13d441625"
|
|
},
|
|
"space-create": {
|
|
"file": "03-space-create.png",
|
|
"viewport": {
|
|
"width": 900,
|
|
"height": 850
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "9f0970de09772674c3156b9fc5b2d49de0ceb22be11ecf8b136047d37d100a84"
|
|
},
|
|
"room-contour-close": {
|
|
"file": "04-room-contour-close.png",
|
|
"viewport": {
|
|
"width": 1180,
|
|
"height": 900
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "0c354a79f9c3660788b6c5e889a27b6bd78b1f209dc0eef6bb43e2c1344028c4"
|
|
},
|
|
"plan-context-tray": {
|
|
"file": "05-plan-context-tray.png",
|
|
"viewport": {
|
|
"width": 1180,
|
|
"height": 900
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "64169c543291bc4df806dcf8ff484b42c8ea55eb343323d945344e0e28f2ce97"
|
|
},
|
|
"device-editor": {
|
|
"file": "06-device-editor.png",
|
|
"viewport": {
|
|
"width": 1180,
|
|
"height": 1100
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "3c8703175605fcf0387d654cd30783ecfd33e21743e70b45190a5ae1a8d355c2"
|
|
},
|
|
"device-display-preview": {
|
|
"file": "06-device-display-preview.png",
|
|
"viewport": {
|
|
"width": 1180,
|
|
"height": 1100
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "5d6193202102f5e6d85567f1111fa105895b933979fbf369c6ba0b1029deb823"
|
|
},
|
|
"background-editor": {
|
|
"file": "07-background-editor.png",
|
|
"viewport": {
|
|
"width": 1180,
|
|
"height": 900
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "375900a29aa62632883ede6727b7dbb8b48cabe9d7d0e16425f9779c837f3dd9"
|
|
},
|
|
"room-card": {
|
|
"file": "08-room-card.png",
|
|
"viewport": {
|
|
"width": 1180,
|
|
"height": 900
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "3d85424676c823ddca3fa7dab3cce089b6030e48c05d16d2d48d922c66c0cbd2"
|
|
},
|
|
"device-info": {
|
|
"file": "09-device-info.png",
|
|
"viewport": {
|
|
"width": 1000,
|
|
"height": 900
|
|
},
|
|
"theme": "dark",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "ac962820f8e1c5cb5b042d39b18dc95905fa840cb2d4749060d991be4f6977c2"
|
|
},
|
|
"pdf-export": {
|
|
"file": "10-pdf-export.png",
|
|
"viewport": {
|
|
"width": 900,
|
|
"height": 760
|
|
},
|
|
"theme": "light",
|
|
"language": "en",
|
|
"sourceSha256": "3eba35b1120643df33c0277dbd20c8cdf7cf2c2168e5a42eff897ee153b90621",
|
|
"imageSha256": "4537692fd57a3ed95528eddd748eee5cb6e456ffab7cc49169853d62459252cd"
|
|
}
|
|
},
|
|
"acceptedOn": "linux",
|
|
"acceptance": {
|
|
"declared": [
|
|
"view-desktop",
|
|
"view-touch",
|
|
"device-info",
|
|
"pdf-export"
|
|
],
|
|
"witnesses": 7,
|
|
"floor": 2,
|
|
"lastWriteWasFingerprintOnly": true,
|
|
"identicalPixels": true
|
|
}
|
|
}
|