mirror of
https://github.com/screentinker/screentinker.git
synced 2026-08-13 13:53:12 -06:00
Found on alpha after deploying rc4, by comparing what a device advertised against what it actually requested. A real BrightSign XT245 has navigator.serviceWorker, passes an `'serviceWorker' in navigator` check, and then never even fetches sw.js — its widget runtime refuses the registration. It was declaring offline.cache to the fleet while unable to cache a single byte, which is precisely the lie the capability model exists to prevent. The claim is now made on a worker that is actually IN CONTROL, and a refused registration sets a flag so the negative sticks on a runtime where it will never succeed. That failure previously went to console.warn, on a display nobody has a console for, so a panel that could cache nothing looked identical to one that could. It now reports app_error/sw_unavailable — as an allow-listed event type, since an unknown one is dropped by the server and would have been just as invisible. The cost is that the first load under-reports, before the worker claims the page. That is the right direction to be wrong in, and it self-corrects: the next register sends the true set. Also corrects docs/player-parity.md, which claimed BrightSign simply inherits the web player's service worker. The failing unit runs BSN's Supervisor rather than our brightsign/autorun.brs, and Supervisor's widget has no storage_path — the setting our own host script does configure and the precondition for a widget having persistent storage. So this is likely a widget config issue rather than a platform limit, but it is UNVERIFIED on hardware and the doc now says so. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Uaeo9MvzKoyXuN6ZsbhtkL |
||
|---|---|---|
| .. | ||
| 104-draft-preview-build-plan.md | ||
| 109-android-pip-visibility.md | ||
| 134-device-reporting.md | ||
| 146-hardening-fallout.md | ||
| 146-hardening-plan.md | ||
| 148-android-duplicate-socket-fix.md | ||
| 148-connection-lifecycle-analysis.md | ||
| 148-half-open-fix.md | ||
| 148-mass-disconnect-analysis.md | ||
| 148-server-eviction-storm-analysis.md | ||
| android-troubleshooting.md | ||
| billing-authz-plan.md | ||
| billing.md | ||
| device-owner-provisioning.md | ||
| local-ai-setup.md | ||
| maintenance-device-status-log.md | ||
| multi-tenancy-design.md | ||
| openapi.yaml | ||
| player-parity.md | ||
| seo-directory-listings.md | ||