Skip to content

rusnakdima/UniChat

Repository files navigation

UniChat

UniChat is a desktop chat client built with Tauri and Angular. It aggregates live chat from multiple streaming platforms (Twitch, Kick, YouTube, and more) in mixed or split views, with replies, channel switching, and a workflow tuned for streamers and moderators.

Installation

Check toolchain

node -v
npm -v
rustc --version

Install Node.js and Rust if anything is missing.

Install dependencies

npm install

Usage

Development

npm run tauri:dev

This runs the Angular dev server and opens the Tauri shell.

Production build

npm run tauri:build

Artifacts appear under src-tauri/target/release/bundle/.

Build optimization

Smart scripts skip rebuilding the Angular bundle when src/ has not changed (unless CI=true or FORCE_BUILD=true):

npm run build:smart
npm run build:smart:debug
npm run build:smart:android
npm run build:clean

Traditional shortcuts:

npm run build:prod
npm run tauri:build
npm run tauri:build:fast
npm run tauri:build:android

Formatting

npm run format
npm run format:rust
npm run format:all

Flatpak (Linux)

See flatpak/README.md.

Mobile CI (optional)

GitHub Actions workflows for Android and iOS expect a generated Tauri mobile project:

  • Android: run npx tauri android init and commit src-tauri/gen/android.
  • iOS: run npx tauri ios init and commit src-tauri/gen/apple. Adjust Xcode scheme names in .github/workflows/ios.yml if they differ from unichat_iOS / unichat.xcodeproj.

Authors

License

This project is licensed under the MIT License.

Contact

Questions or feedback: rusnakdima03@gmail.com.

About

UniChat — a unified desktop chat client that brings Twitch, Kick, and YouTube live chat into one app. Built with Angular + Tauri, it supports mixed/split feeds, overlay widgets for streaming, and automatic OAuth token refresh with seamless reconnection.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors