Skip to content

Repository files navigation

HyperChat - Improved YouTube Chat

License: AGPL v3 Contributors Issues Size Commit Activity Discord

Install

HyperChat is available in the Chrome and Firefox stores.

See https://livetl.app/hyperchat/install

Building from Source

Build targets

Everything ships from main. There is one source tree and three build targets:

Use main; do not check out the historical mv2 branch. mv2 below names a build target.

Target Manifest Consumer
chrome MV3 Chrome Web Store
firefox MV3 Firefox Add-ons
mv2 MV2, Firefox-only The LiveTL extension's Manifest V2 Firefox variant

⚠️ The mv2 target is not legacy cruft. Firefox's MV3 support is unreliable for LiveTL's needs, so LiveTL's Firefox variant consumes the MV2 build.

MV2/MV3 differences live in two places only: {{mv2}}. / {{mv3}}. prefixed keys in src/manifest.json (resolved by scripts/resolve-manifest.ts), and __MV__ checks in source, which are build-time constants so each bundle carries only its own target's code.

Development

Note: The repo expects a Linux or Unix-like environment. If you are on Windows, use WSL.

Clone the repository:

git clone https://github.com/LiveTL/HyperChat

Open the repository and npm install:

cd HyperChat
npm install # install dependencies

Serve the extension for local development:

npm run dev:chrome    # devserver for Chrome extension (MV3)
npm run dev:firefox   # devserver for Firefox extension (MV3)
npm run dev:mv2       # devserver for the Firefox MV2 variant

npm run start:chrome  # devserver + open extension in Chrome
npm run start:firefox # devserver + open extension in Firefox

Building for Production

Our build script is an automated GitHub action, where ${{ github.ref }} should evaluate to a tag in the format vX.Y.Z (where X.Y.Z is the version number).

To simulate the build:

VERSION=X.Y.Z npm run build         # all three targets
VERSION=X.Y.Z npm run build:chrome  # just Chrome (MV3)
VERSION=X.Y.Z npm run build:firefox # just Firefox (MV3)
VERSION=X.Y.Z npm run build:mv2     # just Firefox MV2

The built ZIP files can be found in the build directory. Only the two MV3 zips are published as release assets; the MV2 build is verified in CI and consumed by LiveTL through a git submodule.

Release

Release steps are documented in RELEASE_PROCESS.md.

Releases

Sponsor this project

Used by

Contributors

Languages