Skip to content

Repository files navigation

U2DM logo

u2dm

Unable to Decrypt Message: a Matrix chat client built with Slint UI.

u2dm chat window showing

Status

Early development. Expect incomplete features, rough edges, and breaking changes.

Features

  • Password and OAuth login
  • Room list with message previews and unread and mention badges
  • Spaces shown as a reorderable rail that filters the room list
  • Message timeline
  • Pronoun badges next to sender names (MSC4247 profile field)
  • Emoji picker
  • Media showing and download
  • SAS device verification for encrypted rooms
  • Encrypted session storage using SQLite and the OS keyring

Building

cargo run

The first build downloads the bundled color emoji font from the u2dm/twemoji release. It is cached at ui/fonts/Twemoji.ttf afterwards.

Optional: just

The justfile wraps the common commands and routes each feature combination to its own directory under target/modes/, keeping them out of the default target/debug so they can be wiped wholesale (just clean-modes) without disturbing the cargo run loop. Needs just.

Plain cargo works the same as always.

Feature flags

Both are off by default, so a plain cargo run gives you the compiled UI talking to a real homeserver.

  • interpreted load the .slint files at runtime instead of compiling them into the binary. Edit the UI and relaunch without a rebuild, at the cost of a slower start.

    cargo run --features interpreted
  • demo run against fake rooms, spaces and timelines instead of a real account, useful for screenshots and UI work. The data lives in assets/demo/data.json and is read at runtime. Avatars and thumbnails are fetched on first build and fall back to initials if unavailable.

    cargo run --features demo

just run-interpreted and just demo run these with isolated build directories.

Licenses

About

Unable to Decrypt Message: Yet another Matrix chat client, but built with Slint

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages