HyperChat is available in the Chrome and Firefox stores.
See https://livetl.app/hyperchat/install
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 |
⚠️ Themv2target 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.
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/HyperChatOpen the repository and npm install:
cd HyperChat
npm install # install dependenciesServe 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 FirefoxOur 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 MV2The 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 steps are documented in RELEASE_PROCESS.md.