The latest version of the libhandy bindings requires an
update to the latest version of the gtk-rs bindings. This
update comes with a few changes, including the removal of the
`Into<Option<T>` pattern in favor of explicitly using `Some(T)` for options.
Allows us to get rid of build.rs, which was only used to
compile resources. static_resource.rs is now created by
meson, and the meson path is used for include_bytes!.
By default, a release build of Fractal will only log errors.
A debug build will use the max level for development
purposes.
Running `fractal -v` will get users the same verbosity as
the debug build. Subsequent `-v`s will use increased
verbosity that will include extra info from our dependencies.
Previously we moved from println! to the `log` crate, but `log` requires you to set a logger in order to output anything. `loggerv` is one such logger, with detailed output that tells you exactly where a log comes from.
Closes https://gitlab.gnome.org/GNOME/fractal/issues/430
add duration to
remove unwraps and put early return in place
change branch in flatpak file to master for our master branch
add gstreamer-editing-services dependency
trade match statements for the ? operator
start video upload support
match mime types from the matrix-sdk library
delete meee
HdyDialog is an adaptive version of GtkDialog that's always modal and adapts to fit the size of the screen if folded with HdyLeaflet. In the process of changing to use HdyDialog the width_request of the dialogs was moved from the window to their HeaderBars.
Related to https://gitlab.gnome.org/GNOME/fractal/issues/377
Fractal crashes when switching to rooms with images due
to an issue with tree_magic. We used tree_magic to sniff out
the mime type, but we can use gio::FileInfo instead.
Related to https://gitlab.gnome.org/GNOME/fractal/issues/37
tree_magic did not previously return an Option from `from_filepath`, and used `unwrap()` internally, occasionally causing a crash when we used `is_gif()`.
On git master they have fixed this, so that's what we need to use until they put out a new release.
Related to https://gitlab.gnome.org/GNOME/fractal/issues/37
Gspell hasn't been used since we switched to a source view for the
message entry. We should not keep it in the tree if its not used
and nobody is currenty working on wiring it up again.
Close#333
New features:
* Use markup for room details
* Direct chat and invite to user id
* Redesign file messages
* Improve notification title format
* Room Topic: Remove the button, use only labels
* MessageMenu: Copy selected text action to menu
* Native file chooser for attachments
Fixes:
* Don't override m.direct on direct room creation
New and improved translations and a lot of code fixes
Changelog:
* Add German translation
* Message right click menu with: view source, reply, copy text and
delete
* Styles for quotes in messages
* Initial sync speed up
I've tried to simplify the code that group lines by quote/no-quote, it's
a lot simpler using the itertools crate.
This patch also adds a new enum for the message part, instead of use a
simple bool, so we can manage other kind of rendering in a message. I
was thinking about the Markdown code block for example.
New features:
* New audio player widget for audio files
* MediaViewer now loads more images from the server
* MediaViewer with headerbar in full screen
* New avatar async loading and defaults
* New room settings view
* Multiline entry with markdown syntax highlighting
This modifies `msg_entry` to be a GtkSourceView in order to support
multiline message input. Messages are still sent by simply pressing the
enter key but there is also the possibility to insert line returns
within the message with Shift-Enter.
See https://gitlab.gnome.org/World/fractal/issues/154
The avatar was not redrawing after image download, I've moved the avatar
loading retry from the drawing method to a separated one to call just
after the backend respond so we don't retry if it's not needed and we
can redraw when the image is ready.
I've also changed the letter-avatar git dependency to use the crates.io
one.
We should improve this async user data loading, this will change in the
near future when we change to the new data model and we can have a good
cache system. Meantime this solution works.
* use the same method everywhere to display an avatar
* move code to generate letter avatars to a separate crate
* use the generated avatar as a fallback till the real avatar is
avaibile
* remove gtk dependecies from fractal-matrix-api
Note: The avatar in room details dialog is borken but the dialog will be
replaced soon. Also updating the username in the room history doesn't
work, the room history needs a refactor to resolve some issues.
We can't use format with dynamic strings so we can't use gettext
response with format. To format translatable strings easily I've created
a new module so we can use like this:
```
let literal = i18n("TESTINGx gettext");
let nonamed_params = i18n_f("TESTING! gettext {} and {}", &["one", "two"]);
let named_params =i18n_k("TESTING2 gettext {one} and {two}",
&[("one", "1"),
("two", "two")]);
```