Skip to content

Patch / Channel Tagging on Log Entries #121

@ntatschner

Description

@ntatschner

Problem

Parsed log entries today don't record which RSI channel (LIVE / PTU / EPTU / Tech-Preview) or build number they came from. Cross-patch analytics ("my K/D over the last three LIVE patches") and patch-filtered views are impossible.

Approach

Tag every parsed log entry with its SC channel (LIVE / PTU / EPTU / Tech-Preview) and build number at parse time. Web + tray expose a multi-select channel filter; flipping the filter rebuilds the view without a page reload.

Channel is read from the Game.log header / install path at session start (not per-line), so the tag is consistent within a session.

Acceptance criteria

  • Every parsed event row carries sc_channel + sc_build columns
  • Migration is additive only (NULL for existing rows, populated forward)
  • Web + tray Logs view gains a multi-select channel filter
  • Filter UI is keyboard-navigable and remembered per-session
  • Reference catalog queries can join on sc_channel for patch-aware lookups
  • Channel detection works for all four channel install paths

Risks / Open questions

  • Install path detection on non-standard install locations (custom drives, portable installs)
  • User runs multiple channels concurrently from the same StarStats install — channel must be re-read per-session, not cached
  • Per spec, migrations are additive only AND byte-immutable post-deploy — channel-tagging migration must follow the same rule
  • PTU/EPTU naming may change between waves; needs to be a stable enum at the StarStats layer
Original draft notes

Tag every parsed log entry with its SC channel (LIVE / PTU / EPTU / Tech-Preview) and build number. Web + tray expose a multi-select channel filter; flipping the filter rebuilds the view without a page reload. Channel is read from the Game.log header / install path at session start.


Tracking

Metadata

Metadata

Assignees

No one assigned

    Labels

    channel/alphaTargets the alpha release channel (early testing)channel/betaTargets the beta release channel (pre-release, opted-in users)channel/liveTargets the live release channel (stable, end-user-facing)channel/rcTargets the rc (release candidate) channel — final stabilization before livesurface/tray-whats-newsurface/web-roadmap

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions