MCPcopy Index your code
hub / github.com/Semro/syncwatch

github.com/Semro/syncwatch @v1.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.0 ↗ · + Follow
79 symbols 177 edges 16 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GitHub release License Telegram Discord SyncWatch logo

SyncWatch

SyncWatch is extension for browsers which lets you watch videos together with friends synchrounosly.

Browsers support

| [Firefox

Firefox](https://addons.mozilla.org/firefox/addon/syncwatch/) | [Chrome

Chrome](https://chrome.google.com/webstore/detail/syncwatch/ggiafipgeeaaahnjamgpjcgkdpanhddg) | [Opera

Opera](https://addons.opera.com/extensions/details/syncwatch/) | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

How to use

  1. Install extension.
  2. Click on plugin icon.
  3. Write your name and room name. (If room is not exist it will be created)
  4. Click 'connect'.
  5. Share name of the room with friends. They must follow this instruction (1-4 steps).
  6. Go to the page where video is located.
  7. Click 'share' to send link in room.
  8. Other in room should open this link.

Run server locally

To get a local copy up and running follow these simple steps.

  1. Clone the repo
git clone https://github.com/Semro/syncwatch.git
  1. Move to the project directory
cd syncwatch/packages/syncwatch-server
  1. Install NPM packages
npm ci
  1. Run the server
npm run start:dev
  • Run the server on other port
  npx cross-env PORT=8080 npm run start:dev

How to add a localization

  1. Determine an ISO language code such as en referring to kLanguageInfoTable.
  2. Go to locales package folder: cd packages/syncwatch-locales
  3. Add a column to locales.csv with language code at the top cell.
  4. Add translated messages in following cells.
  5. Generate localized files with npm run locales (optional step, you can just pull request .csv file).
  6. To localize store description, make a folder in web-store-assets with a corresponding ISO code.

License

MIT

Extension points exported contracts — how you extend this code

ChromeTab (Interface)
(no doc)
packages/syncwatch-extension/entrypoints/background.ts
User (Interface)
(no doc)
packages/syncwatch-types/types.ts
EventHTMLVideoElement (Interface)
(no doc)
packages/syncwatch-extension/entrypoints/content.ts
Share (Interface)
(no doc)
packages/syncwatch-types/types.ts
RoomEvent (Interface)
(no doc)
packages/syncwatch-types/types.ts
ServerToClientsEvents (Interface)
(no doc)
packages/syncwatch-types/types.ts
ClientToServerEvents (Interface)
(no doc)
packages/syncwatch-types/types.ts

Core symbols most depended-on inside this repo

setShare
called by 4
packages/syncwatch-extension/entrypoints/background.ts
createNotification
called by 4
packages/syncwatch-extension/entrypoints/background.ts
getUsersNames
called by 3
packages/syncwatch-server/server.ts
setSyncTab
called by 3
packages/syncwatch-extension/entrypoints/background.ts
broadcast
called by 3
packages/syncwatch-extension/entrypoints/content.ts
addUser
called by 2
packages/syncwatch-server/server.ts
getUser
called by 2
packages/syncwatch-server/server.ts
setAfkTimer
called by 2
packages/syncwatch-server/server.ts

Shape

Function 62
Method 8
Interface 7
Class 2

Languages

TypeScript100%

Modules by API surface

packages/syncwatch-extension/entrypoints/background.ts23 symbols
packages/syncwatch-extension/entrypoints/content.ts14 symbols
packages/syncwatch-server/server.ts13 symbols
packages/syncwatch-extension/tests/test-page/mediaevents/assets/script.js9 symbols
packages/syncwatch-extension/entrypoints/popup/popup.tsx7 symbols
packages/syncwatch-types/types.ts5 symbols
packages/syncwatch-extension/tests/main.spec.ts4 symbols
packages/syncwatch-extension/entrypoints/options/options.tsx2 symbols
packages/syncwatch-extension/wxt.config.ts1 symbols
packages/syncwatch-extension/public/js/players/netflix/netflix.js1 symbols

For agents

$ claude mcp add syncwatch \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page