Skip to content

feat: Watch Party sync script system#10612

Draft
Timeraa wants to merge 6 commits intomainfrom
feature/watch-parties
Draft

feat: Watch Party sync script system#10612
Timeraa wants to merge 6 commits intomainfrom
feature/watch-parties

Conversation

@Timeraa
Copy link
Copy Markdown
Member

@Timeraa Timeraa commented Mar 27, 2026

Summary

Adds the complete sync script infrastructure for Watch Party video synchronization across party members.

  • CLI tooling: sync-new, sync-dev, sync-build commands with hot-reload dev server and compiler
  • Sync script implementations: YouTube and Disney+ sync scripts with auto video attach, ad detection, and mainworld communication
  • Type definitions: Global types for SyncScriptV1, SyncIframeScriptV1, SyncMainworldScriptV1 and all related interfaces
  • Developer documentation: Full guide (getting started, video sync, advanced features, sync behavior), API reference, and working examples
  • Build config: .gitignore rules for syncScripts build artifacts

Test plan

  • pnpm sync-dev YouTube starts dev server with hot reload
  • pnpm sync-build --all compiles all sync scripts to dist/
  • pnpm sync-new "ExampleService" scaffolds a new sync script
  • Documentation renders correctly via cd docs && pnpm dev
  • YouTube sync script synchronizes video playback in a Watch Party
  • Disney+ sync script synchronizes via mainworld player API

Add the sync script infrastructure for Watch Party video synchronization:

- Sync script compiler and CLI commands (sync-new, sync-dev, sync-build)
- YouTube and Disney+ sync script implementations
- Global type definitions for SyncScriptV1, SyncIframeScriptV1, SyncMainworldScriptV1
- Comprehensive developer documentation (guide, API reference, examples)
- .gitignore rules for syncScripts build artifacts
@Timeraa Timeraa requested review from Bas950 and theusaf March 27, 2026 12:47
Copy link
Copy Markdown

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ESLint found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

Timeraa added 5 commits March 27, 2026 13:55
- Fix markdown table alignment in documentation
- Add explicit `import process from 'node:process'` in SyncScriptCompiler
The getChangedActivities walker was treating sync script directories
as activities because they contain metadata.json. Add syncScripts/
to the endAt list so the walker stops before matching them.
The previous fix added syncScripts to endAt, but that only applies
when metadata.json is NOT found. Since sync scripts have their own
metadata.json, the walker finds it immediately. Skip files under
syncScripts/ entirely before the walk loop.
Convert method signatures to function property syntax to satisfy
ts/method-signature-style ESLint rule.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant