Skip to content

About

Mudrix: Matrix web client (fork of WizardChat)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1,215 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mudrix Logo

Mudrix - Simple, Secure, Muddy

CI release license

Mudrix is a web-based Matrix client. End-to-end encrypted, open source, and works in your browser, on your desktop and on Android and iOS.

Live: https://kapsikkum.github.io/mudrix-web/ · Desktop downloads: releases · Mobile downloads: releases

Mudrix is a fork of WizardChat (AGPL-3.0).

The same chat in ten of Mudrix's themes

Features

  • E2EE
  • Direct messages and Spaces, with a modern or a Matrix-style space layout, categories and per-space nicknames
  • Voice and video calls (1:1 and group, via MatrixRTC and LiveKit)
  • File, image, and video sharing
  • Pin messages
  • In-room message search (server-side full history in unencrypted rooms; already-loaded messages only in encrypted rooms)
  • Jump to date, edit history viewer, mark room as unread, low-priority rooms
  • Threads
  • Message reactions, edits, and replies
  • Advanced Message formatting
  • Typing indicators
  • Custom Stickers and Emojis
  • GIFs (GIPHY and KLIPY search, favourite GIFs straight from a message, even in encrypted rooms)
  • Sticker packs: click a sticker to see the public pack it came from
  • Rich profiles: verification status, sessions, private notes, a "Mudrix user" badge, avatar decorations and effects, and an activity line (what you are playing or listening to, shared from the desktop app)
  • Notification sound packs
  • 11 languages (English, Deutsch, Español, Français, Italiano, Português, Русский, 日本語, Türkçe, Nederlands, Polski)
  • SSO login
  • Read receipts
  • 24 built-in themes (dark and light) and custom themes

Try out Mudrix

Open the hosted client at https://kapsikkum.github.io/mudrix-web/, install the desktop app or the mobile app, or run it locally (see Local Development below).

The hosted client is built with BASE_PATH=/mudrix-web/, so the app, router, service worker and SSO/OIDC callbacks all work under that subpath, and index.html is copied to 404.html so deep links resolve. To host it under a subpath of your own, build with BASE_PATH=/your/path/ npx vite build.

Desktop and mobile apps

The desktop app (Tauri v2: tray, notifications, unread badge, deep links, themed app icon, activity sharing, and in-app updates) and the mobile app (Android and iOS) live in their own repositories, which include this one as a git submodule. The app-specific code on this side is src/util/desktop.ts (a no-op in a browser), the "Desktop app" section in Settings > Preferences and the Activity tab (both shown only inside the desktop app), and the unread/notification hooks. The Tauri API is imported dynamically, so the web build is unaffected.

Releases and CI

  • .github/workflows/check.yml: typecheck, lint and build on pushes and pull requests.
  • .github/workflows/release.yml: on a v* tag, builds mudrix-web-<version>.zip for the GitHub release and optionally pushes a Docker image to GHCR.
  • .github/workflows/pages.yml: on a v* tag, deploys the hosted client to GitHub Pages.

.gitlab-ci.yml is upstream WizardChat's pipeline and is not used here.

Local Development

Manual Setup

Prerequisites

  1. Clone the repository:

    git clone https://github.com/kapsikkum/mudrix-web.git
    cd mudrix-web
  2. Install dependencies and start development server:

    npm ci
    npm start

    The app will be available at http://localhost:8080

dev/test-server has a throwaway local homeserver with calls and seeded accounts for trying things out; see its README.

Optional: GIF search (GIPHY / KLIPY)

The GIF picker calls GIPHY and KLIPY directly from the client. API keys are supplied at build time via a git-ignored .env.local (see .env.example):

VITE_GIPHY_API_KEY=your_giphy_key
VITE_KLIPY_API_KEY=your_klipy_key

Restart npm start after changing them. A provider without a key has its tab disabled ("No API key configured in this build").

VITE_ values are embedded in the built bundle, so the keys are visible to anyone who can load the app. KLIPY keys are tied to the KLIPY account that created them, and a GIPHY key should be your own (create one at developers.giphy.com).

Using Docker

  • Pull the newest image from the GitHub Container Registry (ghcr.io/kapsikkum/mudrix-web), published on v* tags.

  • GIF keys are build-time values: pass --build-arg VITE_GIPHY_API_KEY=... --build-arg VITE_KLIPY_API_KEY=... to the image build (they end up in the bundle).

About

Mudrix: Matrix web client (fork of WizardChat)

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages