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")]);
```
New features:
* Translations support
* Number of members in the room in the members button
* File storage configuration support
* Gold and Silver tags for admins and moderatos
New features:
* Make "Start chat" buttons insensitive
* Notify for direct messages
Fixes:
* Update initial_sync notification message
* Use Pango for room with no avatars
* Revert "Don't send markdown in the body when parsed"
* api: Use md5 as unique message id instead of i32
* markdown: Remove P tag that wraps the html
New features:
* show mxid in member tooltip
* Focus on message entry after clicking on a username
* Basic markdown sending
* Change Load more GtkButton to GtkSpinner
* mention: blue highlight for messages with mentions and cleanup css file
* Redesigned new room creation (fixes#98)
Fixes:
* Unlock collections and items in secret storage before use.
* fix: add joining members to the there own room instate to the active room
* Fix autocomplete crash with unicode usernames
* Fix url parsing
If we parse the markdown syntax and sent that as formatted_body we
shouldn't sent the markdown text in the body, the correct way is to send
a simple text message in the body as a fallback.
I've removed all unwraps that can be removed, managing the result of all
of that with the ? operator and using the std::option::Option type.
This way we'll avoid crashes, because an unmanaged unwrap can cause a
crash so we need to check this always.
I've also removed the unicode-segmentation depencency. We can use the
.chars iterators and it seems to work correctly.
New features:
* Add new description to README, and some other small README improvements
* new autoscroll with animation
* Ability to launch multiple Fractal instances using FRACTAL_ID env
Fixes:
* Escape text in body using the last html2pango
* center inapp notification
* Fix request with no timeout
* Show user id when the displayname isn't present
* Fix macos compilation problem with notify_rust
* autocomplete: fix change usernames font color to white when selection ends at the same position as the username
* Avoid destroy dialog on Esc