Cheeky fork of Fractal
8d5e98f259
We were using an integer for the message id when we were sending a message. This id was incremented with each message sent. Reading the matrix server documentation I've discovered that this id should be unique: > Clients should generate an ID unique across requests with the same > access token; it will be used by the server to ensure idempotency of > requests. So this was a problem. I think that this is because some messages never got sent to the server and we don't get any error back. To fix that now we generate an unique id for each message using the room id, the message body and the message date, we concatenate that and make an md5 sum, so this should be unique. https://matrix.org/docs/spec/client_server/r0.3.0.html#put-matrix-client-r0-rooms-roomid-send-eventtype-txnid See #201 |
||
---|---|---|
.gitlab/issue_templates | ||
flatpak | ||
fractal-api | ||
fractal-gtk | ||
screenshots | ||
scripts | ||
.editorconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
Cargo.lock | ||
Cargo.toml | ||
fractal.doap | ||
LICENSE.txt | ||
logo.png | ||
meson.build | ||
README.md | ||
TODO |
Fractal
Fractal is a Matrix messaging app for GNOME written in Rust. Its interface is optimized for collaboration in large groups, such as free software projects.
- Come to talk to us on Matrix: https://matrix.to/#/#fractal-gtk:matrix.org
- Main repository: https://gitlab.gnome.org/World/fractal/
Build Instructions
You need Meson and Ninja (as well as Rust and Cargo) to build Fractal.
GNU/Linux
meson . _build --prefix=/usr/local
ninja -C _build
sudo ninja -C _build install
macOS
brew install gtk3+ dbus bash adwaita-icon-theme
# empirically needs 3.22.19 or later of gtk3+
# ...and run configure as:
/usr/local/bin/bash -c "meson . _build --prefix=/usr/local"
make
Supported m.room.message (msgtypes)
msgtypes | Recv | Send |
---|---|---|
m.text | Done | Done |
m.emote | Done | Done |
m.notice | ||
m.image | Done | Done |
m.file | Done | Done |
m.location | ||
m.video | Done | Done |
m.audio | Done | Done |
Full reference in: https://matrix.org/docs/spec/client_server/r0.2.0.html#m-room-message-msgtypes
The origin of Fractal
This project is based on ruma-gtk https://github.com/jplatte/ruma-gtk
Instead of using RUMA Client, Fractal calls directly to the matrix.org REST API.
The first version of this project was called guillotine, based on french revolution, in relation with the Riot client name, but it's a negative name so we decide to change for a math one.
The name Fractal was proposed by Regina Bíró.