Skip to content

Screen-Share Detection → Auto-Pause Live Sharing #118

@ntatschner

Description

@ntatschner

Problem

Users who livestream or screen-share Star Citizen sessions risk leaking their StarStats live-sharing surfaces — open transactions, current location, fleet inventory — to the stream audience without realizing the tray window is visible. Manual mute-before-stream is fragile.

Approach

Detect active screen capture / screen share via known capture-process presence: OBS / Discord / Zoom / Teams / Google Meet / Xbox Game Bar / NVIDIA ShadowPlay etc. On detection, surface a non-blocking pause prompt with duration options:

  • this session
  • 1 hour
  • 24 hours
  • until I unpause

Live sharing resumes automatically when the capture stops and the prompt is dismissed.

Acceptance criteria

  • Detection signals fire from process presence only — no screen-content inspection
  • Pause prompt is non-blocking (doesn't steal focus from the user's stream)
  • Pause durations work as described (this session / 1h / 24h / indefinite)
  • Auto-resume when capture process exits AND user dismisses the prompt
  • Pause state visible in tray with a chip explaining why ("paused while screen-shared")
  • Audit-log entry on each pause/resume transition

Risks / Open questions

  • False positives: Discord runs constantly — needs to distinguish "screen-sharing in Discord" from "Discord is open"
  • False negatives: capture tools we don't enumerate (game-launcher overlays, niche software) won't trigger
  • Platform parity: Windows vs macOS vs Linux detection mechanisms differ substantially
  • User confusion if pause happens silently — the chip must explain which capture process triggered it
Original draft notes

Detect active screen capture / screen share by OBS / Discord / Zoom / Teams / Google Meet / Xbox Game Bar / NVIDIA ShadowPlay etc. On detection, surface a non-blocking pause prompt with duration options (this session / 1h / 24h / until I unpause). Live sharing resumes automatically when the capture stops and the prompt is dismissed.


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