Skip to content

chore: bump signage-kit to 2026.8.11 - #33

Merged
vpetersson-bot merged 1 commit into
masterfrom
fix/defer-on-timeout
Aug 16, 2026
Merged

chore: bump signage-kit to 2026.8.11#33
vpetersson-bot merged 1 commit into
masterfrom
fix/defer-on-timeout

Conversation

@vpetersson-bot

Copy link
Copy Markdown
Contributor

Kit bump only, no code change: trackPlayer reads the new per-load flag itself.

What it fixes

The player profile comes over the network. On a screen that does not answer /api/player inside the timeout, the bootstrap configured knowing nothing about the player, so GA4's automatic page view went out unattributed.

First settled day, 2026-08-15 hours 7-23, share of page views carrying player fields:

app rate lost/day
Moon 81.0% 559
Air Quality 89.4% 199
RSS 97.5% 96
Weather 99.4% 675
Clock 99.7% 158
every static app 100.0% 0

Not server latency: /api/player answers in 45-110ms on all five hosts, and the unattributed loads spread across the same countries as the attributed ones. Moon has 14 screens, so a couple of slow ones move the whole percentage.

How

On the loads where no profile arrives, and only those, the bootstrap sets send_page_view: false and flags the load as window.__playerPageViewDeferred. trackPlayer reads the flag and sends the page view itself, using the user-agent profile it can always build.

Per-load rather than app-wide on purpose: the normal path keeps GA4's automatic page view, which is already attributed and cannot be lost if the bundle never runs.

Kit side: Screenly-Labs/signage-kit#34

🤖 Generated with Claude Code

Attributes the page view on loads where no player profile arrives.

The profile comes over the network, and on a screen that does not answer /api/player
inside the timeout the bootstrap configured knowing nothing about the player, so GA4's
automatic page view went out unattributed. Measured 2026-08-15, that left Moon at 81.0%
of page views carrying player fields and Air Quality at 89.4%, against exactly 100% on
every static app.

On those loads, and only those, the bootstrap now suppresses the automatic page view and
flags the load; trackPlayer sends the page view itself once the user properties are set.
The normal path is untouched, where the automatic page view is already attributed and
cannot be lost if the bundle never runs.

No code change here: the kit reads the flag itself.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vpetersson-bot
vpetersson-bot merged commit 96fcef5 into master Aug 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant