Lightning TV Live
Changelog
A plain-English history of improvements to the viewing and match-night experience.
Current version
v1.5.0-beta.9
-
- The graphics event sandbox now has a focused event-type workflow, complete editable capture attributes for every supported event, fixture-wide player selectors, and a separate full player-and-roster creator with headshots and GameStats metadata.
- A single vMix GT field can now receive several ordered updates, so operators can send its text first and then apply text colour or other formatting without a duplicate-field error.
- Automatically shown vMix graphics can now have a per-source on-screen timer; the graphics worker removes the overlay with its configured transition without blocking other updates and retries temporary removal failures.
- Graphics operators can now create private, fully detailed goal, penalty, faceoff, shot, stoppage and note events in a streaming-off fixture, test live-only automatic triggers without starting a stream, and clear the isolated sandbox history afterward.
- Each graphics data source can now choose its preferred scoring-team logo variant once and map the stable selected-logo value, making logo changes independent of the vMix field configuration.
- Graphics field mappings can now combine several live website values with fixed text in one safe composition, with placeholder validation and the finished vMix text shown in the live preview.
- Graphics staff can now import and maintain reusable league team names, colours and local vMix logo paths from CSV, add or remove custom team fields, and map each value for home, away, scoring or triggered teams.
- The commerce dashboard and every pass, order, refund, discount, import, reliability and settings workspace now share a calmer operations layout with compact summaries, consistent navigation, clearer tables and forms, and safer placement for high-impact refund actions across desktop and mobile.
- Superusers can now create reusable staff roles, edit every built-in role and choose its complete permission baseline from People and Access; role changes apply immediately to assigned accounts and remain available in access impersonation.
- Staff access managers can assign any configured role to an account while retaining additive per-user permission exceptions, and the default Viewer role carries a clear warning before permissions are granted across normal accounts.
- The draft Privacy notice now explains that personal-data access is controlled through named roles and account-specific exceptions, with role definitions restricted to superusers; it remains subject to legal and organisational approval.
-
- Superusers can now impersonate any staff role and additive permission configuration in their current browser session, with a persistent warning and one-click restore while every real action remains attributed to their superuser account.
- Pass prices entered by staff are now the final VAT-inclusive prices: Stripe calculates any VAT contained in the price instead of adding it at checkout, while confirmations and commerce operations show the resulting VAT breakdown.
- The draft Terms of Sale now explain VAT-inclusive catalogue pricing and remain subject to legal and organisational approval.
- Match-night staff now have a live Graphics Command Centre where reusable vMix titles can map website data to exact GT text, image and colour fields, be tested before activation and show every queued, sent, retrying or failed update as it happens.
- Graphics administrators can now manage the module's vMix API address, shared image folders, timeouts and retry behaviour from a dedicated settings page instead of relying only on deployment configuration.
- Automatic graphics can now react to specific approved game-sheet events—including penalties, faceoffs, shots, clock stoppages and notes—with event-specific website fields plus fixture, live-only and home/away conditions available for each vMix mapping.
- Graphics setup is now split into a calmer command overview, a data-source preview and focused field pages, so staff can see current website values and the exact output prepared for vMix before sending a test.
- Graphics workers in the production, Alpha and Beta deployment stacks now receive the protected IVS playback-signing key file required by the shared application configuration.
- Every configured graphic now has its own stable JSON data endpoint showing the latest mapped values and complete vMix command plan, with the configured graphic/input ID applied consistently to every command.
- Goal graphics can now update automatically from either confirmed site events or new GameStats goals, sending a consistent scorer, assists, shirt number, period, clock, score, team branding, logo and headshot snapshot through a retrying vMix worker without slowing match controls.
- The site now keeps stable league player records and fixture rosters linked to GameStats identities, preserves historical goal text, reliably connects scorer and assist records, and lets authorised staff maintain player headshots that GameStats refreshes do not overwrite.
- The draft Privacy notice now explains the player, roster and headshot information used for match statistics and broadcast graphics, how it reaches vMix and viewers, and how long it is kept; it remains subject to legal and organisational approval.
-
- People and Access now switches between focused staff and viewer directories, with a dedicated account-management page for identity, status, access summaries, staff roles and permission exceptions without mixing in support diagnostics.
- Staff can now manage the viewer service notice in its own Settings section, choose its message and accent colour, keep it visible across viewer pages until disabled, and send a 10-second countdown alert over full-screen and cast video feeds.
- Long viewer and staff record lists now have clear item counts, numbered pages and mobile-friendly previous and next controls, while active filters remain in place as staff move between pages.
- The Account page now presents the optional marketing-email preference as a clear choice card, with an at-a-glance status, simpler save action and a separate explanation of essential service emails.
- Fixture, pass-purchase and match-centre pages now use each configured opponent's colours for subtle edge accents and background gradients, while Lightning gold and live-status red remain the primary interface colours.
- Multi-game passes now have a clear 1080 × 1080 artwork upload in pass administration, with the image displayed in compact pass cards on the home page, pass store and purchase details.
- When only one upcoming game is listed, the home-page schedule now keeps its card and artwork compact on larger screens while retaining a clear full-width layout on mobile.
- When a game finishes, every single-game pass linked to it is now taken off sale automatically and shown as finished and off sale in pass administration; multi-game passes remain available, and the draft Terms clarify the effect on existing orders.
- Staff Tools now links directly to discount-code CSV upload; the importer asks for a fixture first, defaults to the next scheduled game and limits the selector to future fixtures.
- Pass setup now shows only the scope needed for the selected pass type: season passes no longer ask for individual games, opponent bundles use one opposing-team choice, and individual games have a clearer checkbox-card picker.
- Opponent bundles now automatically include every existing and later production game involving the selected team; the draft Terms describe this additional access and remain subject to approval.
-
- The Beta stack now exposes the application directly to the separately managed ingress instead of bundling an additional Nginx proxy and duplicate web container.
- Container health checks now supply the configured public hostname and recognise their trusted internal HTTPS proxy, preventing healthy web services from being rejected by host validation or an internal HTTPS redirect.
- The Beta Test-stream input now uses rink-LAN port 1936, avoiding the Alpha input already listening on port 1935 when both stacks share a host.
- Beta startup and migrations now receive the protected IVS playback-signing file, while the web and fixture-lifecycle services can use the existing certificate-based AWS identity for dynamic channel operations.
- Beta branch builds now publish the dedicated stream-beta container tag, and the Beta deployment example uses that image instead of an Alpha build.
- Beta deployment setup now has a censored checklist for legal approvals, public support details, retention decisions and alerting, while Amazon IVS channels continue to be created dynamically for each fixture.
- Registration is now open to everyone without an invitation; viewers still verify their email before buying a pass, and paid video still requires a valid order, discount redemption or staff-granted entitlement.
- Legacy invitation memberships and stream codes have been retired, while accounts, purchases and any independently valid viewing access are preserved.
- Staff access now combines clear match-night roles with granular permissions, so each person can receive only the fixture, broadcast, review, commerce, support or administration tools they need.
- Staff with an existing two-step verification credential must now complete that second-factor check before opening setup, and confirmed authenticator secrets or recovery codes are never displayed again.
- Staff setting up two-step verification can now scan a QR code with their authenticator app or use the manual setup key.
- Older staff-only viewing grants are now revoked reliably on PostgreSQL when roles or permissions change, without blocking account creation or staff-access updates.
- The staff tools home now prioritises the live game, then the next fixture, so match-night controls do not point staff at a newer finished game.
- Account, game and pass pages now use shorter guidance, clearer actions, calmer layouts and simpler navigation on desktop and mobile.
- Live playback-session and telemetry requests now use the configured shared-cache limits and fail closed when that protection is unavailable in paid environments.
- Season passes now track a named season and automatically include every production game assigned to it, granting audited access to existing purchasers when later fixtures are added; manual fixtures store an entered season while GameStats imports use their configured season.
- The draft Terms, Refund and Support notices now explain that tracked season passes include production games added to the season after purchase at no extra charge.
- The draft Terms, Privacy, Refund, Support and Accessibility notices now explain multi-game code eligibility, per-fixture redemption records, allocated prices and the pass-access checkout wording before the feature is approved for release.
-
- Season and Game Review Panel codes can now discount a multi-game season pass, while visiting-team codes can cover an opponent bundle; one checkout grants every matching included game and records usage separately for each fixture, matching games added later are granted and audited, and mixed passes or fixture-only codes remain safely restricted.
- Discount-code administration and checkout review now use calmer layouts with grouped navigation, compact summaries and optional editors, filters, histories and actions that open only when needed; tables and controls also fit narrow screens without crowding the whole page.
- Viewers can apply a season, visiting-team or fixture discount code before payment, see the exact original price, discount and final price, and obtain account-linked complimentary access without entering card details when the result is free.
- Stream and commerce administrators can issue, revoke, replace, import and audit full discount-code values, keep a persistent Game Review Panel list, track reusable visiting-team codes separately for each fixture and export account-linked usage reports.
- Discount-code CSV uploads now provide a row-by-row preview and idempotent import, while configured HTTPS CSV and authenticated API sources can use the same validation from the dashboard or a scheduled management command without invalidating earlier codes when a fetch fails.
- Discount-code checkout and pass expansion now keep their database locks compatible with PostgreSQL, so optional code details cannot interrupt a free pass or a later fixture addition.
- The draft Terms, Privacy, Cookies, Refund, Support and Accessibility notices now explain discount-code eligibility, account-linked access, audit data, refunds, browser-session use and accessible price feedback before the feature is approved for release.
-
- Completed match centres now keep the final score and every enabled match-statistics section available to entitled viewers after full time.
- Viewer match pages now focus on what is available and when, while administrators get grouped match-coverage controls and a clearer card-based games page.
- Lightning TV now treats protected streaming, verified-account viewing passes and commerce as the base platform; legacy stream codes can no longer be redeemed or grant access.
- Deployments can run the streaming platform without match statistics, while GameStats fixture and team importing remains available for scheduling.
- Each fixture now has an audited stream-experience profile with Off, Automatic-only, Full and Custom options plus individual controls for statistics, reviews, replay tools and fan messages.
- Automatic-only coverage provides the score, clock, shots on goal, penalties and enabled API panels without faceoffs, stoppages, manual entry or new review work; goal-judge taps become immediate basic timeline shots with audited undo.
- Open viewer and staff pages now receive the configuration revision live and reload into the current fixture settings; disabled stats routes return not found and hidden records are preserved for later re-enabling.
- Polls, predictions and trivia have been retired from live viewer and staff controls, while their historical database records remain preserved; moderated fan messages remain independently available per fixture.