Skip to content

Define admin-mute vs self-mute state model and unmute semantics #677

Description

@birme

Part of #280 / breakdown of #637. The current remote-mute forces the target client to set MediaStreamTrack.enabled=false via isRemotelyMuted, with no documented 'unmute' payload and no distinction between admin-forced mute and a user's own self-mute.

Decide and specify:

  • A distinct 'admin muted' state layered over (not overwriting) the user's own self-mute, so that admin-unmute does NOT force-unmute a participant who chose to mute themselves (broadcast privacy norm — RTS/Clear-Com behavior).
  • The exact data-channel payload(s) for unmute (mirror of muteParticipant: 'mute').
  • The resulting effective-mute logic on the target client (muted if adminMuted OR selfMuted).

Acceptance:

  • Documented state model + payload contract.
  • Admin-unmute of a self-muted user leaves them muted; admin-unmute of an admin-only-muted user restores their prior self-mute state.

Broken down from #637 by daily-backlog-pr triage (intercom-expert verdict).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    LowPriority: low

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions