chore: bump signage-kit to 2026.8.11 - #33
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Kit bump only, no code change:
trackPlayerreads the new per-load flag itself.What it fixes
The player profile comes over the network. On a screen that does not answer
/api/playerinside 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:
Not server latency:
/api/playeranswers 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: falseand flags the load aswindow.__playerPageViewDeferred.trackPlayerreads 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