Skip to content

Host controls: optional room permissions (lock playback/queue to host) #1

Description

@7akob

Context

Right now every person in a room has equal control. Anyone can play, pause, seek, change the video, and edit the queue. That is by design: Skood has no accounts, and for a group of friends over Discord, equal control is the feature. It stays the default.

Some situations may still want more control:

  • A public or party room where one stranger keeps skipping everyone's videos
  • Big rooms where an accidental seek (someone's phone scrubbing in a pocket) disrupts the watch
  • A presenter setup where one person drives and everyone else just watches and chats

Minimal v1 sketch (deliberately tiny, still zero accounts)

  • The socket that creates the room is the host
  • The host gets one extra button, "Lock room", backed by a shared locked flag on room state (like loop)
  • While locked, the server ignores play / pause / seek / change_video and queue mutations from non-host sockets. Chat and favorites stay open to everyone
  • If the host disconnects, host passes to the longest-connected socket in the room, announced as a system message
  • No passwords, no user management, no persistence. One flag and one socket id

Open questions

  • Is lock-everything the right granularity, or would people want per-permission grants (queue yes, seek no)?
  • Kick or ban is hard without accounts and probably out of scope
  • Room passwords feel like a separate feature

How you can help

Thumbs-up this issue if you would use it, and comment with your actual scenario. This gets built when real demand shows up, not before. The equal-control default is not going away either way.

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

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions