‼️ READ: Please do not create any issues and clear any PRs with me ahead of time (some PRs may be rejected at this stage).
This is still in very heavy development, and we are currently overhauling a lot of the UI on our own private downstream branch, as such we may be limiting PRs to purely functional changes in certain cases (i.e. which don't have to touch UI) so it is best that you liase with someone on the team first to ask about whether a certain part of the project may be worked on.
See code style guidelines here!
# clone the repository
git clone --recursive https://github.com/revoltchat/revoltchat-solid-client-monorepo client
cd client
# update submodules if you pull new changes
# git submodule init && git submodule update
# install all packages
pnpm i
# build deps
pnpm build:deps
# or build a specific dep: (i.e. revolt.js updates)
# pnpm --filter revolt.js run build
# run dev server
pnpm dev
Finally, navigate to http://local.revolt.chat:5173.
# install packages
pnpm i
# build everything
pnpm build:all
If you want to pull in Revolt brand assets after pulling, run the following:
# update the assets
git -c submodule."packages/client/assets".update=checkout submodule update --init packages/client/assets
You can switch back to fallback assets by running deinit and continuing as normal:
# deinit submodule which clears directory
git submodule deinit packages/client/assets
To make it easier to work with revolt.js
, you may want to temporarily make this change:
# packages/revolt.js/package.json
- "module": "lib/esm/index.js",
+ "module": "src/index.ts",
Any edits to the revolt.js codebase will immediately reflect while developing.
Add a new package to a workspace:
pnpm add solid-hcaptcha --filter @revolt/auth
The app currently needs the following routes:
/server
/channel
/friends
/admin
/app
/pwa