Skip to content

A work in progress fast and open-source handcrafted web client for Discord that is made with performance in mind. Uses Tauri and SolidJS.

License

Notifications You must be signed in to change notification settings

Vexcited/SolidCord

Repository files navigation

SolidCord

A work in progress fast and open-source handcrafted web client for Discord that is made with performance in mind. Uses Tauri and SolidJS.

By "handcrafted", I actually mean "without using any package that gives us helpers for Discord's API, even typings".

Features

Simultaneous connections

Whenever you add an account, a connection to the gateway with this account will be kept until the app is exited - or you remove the account from SolidCord.

That allows to have notifications and message caching for multiple accounts.

Of course, this behavior can be toggled in the account selector - TODO.

Native HTTP / WebSockets

Internally uses Tauri's HTTP API and tauri-plugin-websocket#v1

Requests aren't done in the WebView (using the web Fetch API) but within Rust directly !

Concerning WebSockets, I'm trying to see if I can also do zlib-stream compression and etf encoding there.

Development

Environment

# Clone the repository.
git clone https://github.com/Vexcited/SolidCord

# Navigate into the folder, if not done.
cd SolidCord

# Use pnpm to install dependencies.
pnpm install

Please, try to stick with pnpm so we don't conflict with any other Node.js package manager.

If you need to update cargo packages for the src-tauri folder,

cd src-tauri
cargo update

Available Scripts

Command Description
pnpm lint Runs ESLint on the codebase to detect any styling issue.
pnpm dev Runs front-end (Vite) development server, without Tauri.
pnpm build Builds the front-end, without Tauri.
pnpm tauri dev Runs front-end (Vite) development server, with Tauri at the same time.

Recommended IDE Setup / Extensions

Everything mentioned here is optional, but you'll get a better DX by installing them.

About

A work in progress fast and open-source handcrafted web client for Discord that is made with performance in mind. Uses Tauri and SolidJS.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages