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
New features:
* implement redesin of the autocomplete popover, fix#146
* divider.rs: Change the margins around the divider
* divider.rs: Add vertical spaces around the divider
Fixs:
* Change the git url of the html2pango crate.
* Switch the html_markup implementation to html2pango crate.
* Execute glib-compile-resources inside the flatpak env.
New features:
* center all dialog title on dialog width and refactor glade file
* reoder options in add room menu, add separator and change some lables
* limit user name suggests to 5 and allow usage of @ for mention
* match also uid for mentions
* use only @ with tab-compleation
* remove " (IRC)" from the end of suggested username for mentions, fix#126
Fixs:
* fix the text of some lables
* fix title of dialog for joining a room by ID
* fix spacing in user menu popover and in room settings popover
* Reorder app menu to follow Gnome rules
* divider: Make the object non-selectable
New features:
* Join room by id or alias dialog
* Start chat dialog
* Image to no room view and add new style
* "New messages" divider
* Spawn popover from room name and remove room-menu-button
Bug fixes:
* Only one line in topic
* Use custom fork of secret-service that removes AVX2 ASM instructions
* Only attach url to msg if there's an url
* Conditional in `mark_as_read`
New features:
* make user menu button avatar 24px
* increase avatar size in the sidebar to 24px
* api: Increase timeout to 80 seconds
* Store token with libsecret to use later
* Fill the login data in login view on init
Bug fixes:
* set focus for each stack view, fix#118
* fix alignment for the text when no room is selected
* Do not send null attrs in json_q
* fix alignment of no room selected message by splitting the text to two label
* Fix initial sync filter
New features:
* New style for emotes
* Spinner to initial sync notification
* A line for the last viewed message
* Split user menu in two menus and remove the title in the left headerbar
* Show user info in popover
* Make room avatar in header 24px if no description
Bug fixes:
* Centered titlebar
* Remove tooltip when there's not topic
New features:
* Style improvements in messages history
* Make the date label more human friendly
* InApp notification for initial sync
Bug fixes:
* fix minor visual issue with notify bubbles
New features:
* Invite dialog redesign
* Feedback for the initial sync
* Autocomplete with popover
Bug fixes:
* Logout cleanups to avoid information leak
* Fix /me message mangling
* Better room name calculation
New features:
* Ctrl-K to toggle room sidebar search
* m.emote support
* OARS in appdata
* shortcuts window
Bug fixes:
* Improve a11y
* Use css class instead of pango for msg colors
New Features:
* Focus message text box when switching room
* Preserve unsent messages for each room
Bug fixes:
* Give access to home filesystem for the flatpak package
* Correct links in the login view