Host Privileges
Hosts have full control over the watch party experience:Playback Control
Play, pause, and seek the video. All guests automatically sync to your actions.
Video Selection
Change the video URL at any time. Supports YouTube videos only.
Guest Promotion
Promote any guest to host status, granting them full privileges.
Chat Access
Send and receive messages in the real-time chat (same as guests).
Becoming a Host
There are two ways to become a host:Create a Room
When you create a room, you automatically become the host:As the room creator, you have the host token which allows you to rejoin as host if you disconnect. Other promoted hosts won’t have this token.
Get Promoted
Existing hosts can promote you from guest to host:Video Playback Control
As a host, you control video playback for everyone:Play/Pause
Click the play or pause button on the video player:- Your Action: Click play or pause on the YouTube player
- State Detection: The system detects the YouTube player state change
- Timestamp Capture: Your current video timestamp is recorded
- Broadcast: A
play-videoorpause-videoevent is sent to all guests - Guest Sync: All guests’ videos automatically play or pause at your timestamp
Technical: State Change Detection
Technical: State Change Detection
The YouTube player emits
onStateChange events:- PLAYING (1): Triggers
play-videosocket event - PAUSED (2): Triggers
pause-videosocket event - BUFFERING (3): Checks for seek operations during buffering
Seek to Position
Drag the video progress bar or click a timestamp:- Seek Action: You move the playback position
- Time Difference: System calculates the difference (> 1 second = seek)
- Seek Event: Emits
seek-videowith the new timestamp - Guest Jump: All guests’ videos jump to the same position
Changing Videos
To change the video being watched:Validation
The system validates that the URL is a YouTube video:
- Must include
youtube.comoryoutu.be - Must be a valid video URL format
Only YouTube videos are supported. Attempting to use other video platforms (Vimeo, Twitch, etc.) will result in an error.
Promoting Guests
Hosts can promote any guest to host status:Promotion Process
Find Guest
Scroll through the user list to find the guest you want to promote.
The list is sorted with hosts first, then guests alphabetically.
Multi-Host Support
Watch N Chill supports unlimited hosts in a single room:Shared Control
All hosts can control playback simultaneously. Last action takes precedence.
Independent Sync
Each host sends periodic sync checks every 5 seconds to keep guests aligned.
Equal Promotion
Any host can promote any guest, not just the original creator.
No Demotion
Once promoted, hosts cannot be demoted back to guest status.
Who to Promote
Consider promoting guests who:- Are trusted friends
- Need to control playback (e.g., video owner)
- Will stay for the entire session
- Can help manage the room if you disconnect
Room Closure
Hosts play a critical role in room persistence:When All Hosts Leave
If every host leaves or disconnects, the room closes immediately:Room Deletion
The room is immediately deleted from Redis:
- All user data removed
- Chat history deleted
- Video state cleared
- Room ID becomes available
Host Best Practices
Promote Early
Promote trusted participants early in case you disconnect unexpectedly.
Announce Actions
Use chat to warn before seeking or changing videos.
Check Sync
Periodically ask in chat if everyone’s video is in sync.
Be Patient
Wait for guests to load before starting playback.
Guest Perspective
Understanding how guests see your actions helps you host better:What Guests Experience
When you control playback:- Instant Sync: Guests’ videos react within 100-300ms
- Visual Feedback: Their player state changes automatically
- No Control: Guests cannot manually override your actions
- Info Banner: New guests see a banner explaining host controls
When Guests Click Controls
If a guest tries to play/pause:- Nothing Happens: The YouTube player doesn’t respond
- No Feedback: No error message (could be improved)
- Can Request: They can ask for promotion in chat
Guests can click the video info dialog to learn about host controls and promotion.
Host Control Dialog
The host control dialog explains privileges to guests:Content
Explains:
- Guest capabilities (watch & chat)
- Host capabilities (control, change video, promote)
- How to request promotion
Troubleshooting
Controls Not Working
Play/pause buttons don’t work:- Verify Host Status: Check for a crown icon next to your name
- Check Connection: Ensure your WebSocket connection is active
- Reload Page: Refresh to re-establish connection
Verifying Host Status
Verifying Host Status
You’re a host if:
- You see a crown next to your name in the user list
- Your name appears first (hosts are sorted before guests)
- You can see the promote button next to guest names
Lost Host Status
Rejoined as guest instead of host:- Your session storage was cleared
- You’re on a different browser/device
- Your browser restarted between sessions
Cannot Promote Guest
Promote button doesn’t appear:- You’re not a host
- Target user is already a host
- User list hasn’t refreshed (try refreshing page)
Room Closed Unexpectedly
Room closed while you were still there:- All hosts (including you) left or disconnected
- This can happen during network issues
- Create a new room and invite participants again
Security Considerations
Host Token Security
Host Token Security
The host token:
- Is a UUID v4 (highly random)
- Stored in session storage (cleared on tab close)
- Required to rejoin as the original host
- Not transmitted in URLs (safe from sharing)
- Validated server-side on join
Promotion Validation
Promotion Validation
The server validates:
- Requester is actually a host (server-side check)
- Target user exists in the room
- Target user is not already a host
- Room exists and is valid
Action Authorization
Action Authorization