Early development. Expect incomplete features, rough edges, and breaking changes.
- 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
cargo runThe first build downloads the bundled color emoji font from the u2dm/twemoji release. It is cached at ui/fonts/Twemoji.ttf afterwards.
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.
Both are off by default, so a plain cargo run gives you the compiled UI talking to a real homeserver.
-
interpretedload the.slintfiles 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
-
demorun against fake rooms, spaces and timelines instead of a real account, useful for screenshots and UI work. The data lives inassets/demo/data.jsonand 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.
- Code: AGPL-3.0-or-later.
- Bundled third-party assets (the Twemoji emoji font): see
THIRD-PARTY-LICENSES.md.
