Currently the cache's directory is only initialized at first access. If
the cache gets destroyed the directory won't be created again, so future
cache data in the process cannot be saved. This can be reproduced by
logging in immediately after logout.
change get_image_media_info to include thumbnail
propagate need for backend
try to debug the code
remove a println I forgot
Progress on using channel for thumb uploads
move thumbnail code to the backend
fix mimetype on json and only call ge_image_media_info on image files
remove random 'e' from util.rs
move get_image_media_info back to the frontend
create Info struct
hehe
lol
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
Right click is not possible on touchscreens, so our right click menu would be inaccessible.
Here we use GtkGestureLongPress to create our right click menu, but only on touch devices.
The width-request of the HeaderBar dictates what size the room HeaderBar needs to be to fold at and the minimum width of the HdyLeaflets total in this case.
Prevents the room content from becoming too narrow.
The room_info labels could cause the leaflet to fold before
they could ellipsize, causing Fractal to fold at the wrong width. By wrapping in ScrolledWindow we work around that issue.
Fractal's main view could only shrink so far, barring usage at smaller sizes such as a phone's screen. HdyLeaflet enables
Fractal to adapt.
Related to https://gitlab.gnome.org/GNOME/fractal/issues/377
We used to request the complete room state to get only the memebers list
if there was no avatar, which was expensive and we actually have already
the members list.
This reduces memory use.
`markdown_popover` used the deprecated start and end properties and abused margins to space elements out.
Now it uses the `margin` property to create margins around widgets on all sides, as well as the properties of GtkGrid and GtkBox.
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
This replaces some boolean properties of the Room Model with a single
property called membership. This makes the room membership (joined, left,
invited) and tag (favourties, low priority, etc) mutch more
understandable and gives the Model a better structure.
We previously included `self` of different crates so we could get things from the crates' roots with crate_name::ObjectName; This can be done in Rust 2018 without
the explicit self.
"Save as" should probably be "Save as…"
"You’ve been invited to join to "… → "to join", not "to join to".
Time formats should use a ratio symbol ∶ as suggested by the HIG
"Favorites" → "Favourites" (multiple occurrences)
https://gitlab.gnome.org/GNOME/fractal/issues/417
- Fix the search results not expanding
- Fix the spacing around the searchbar
The two UI files are identical except for some labels and IDs and should
be merged
We were storing the signal_id, but we never disconnect that handler so
it worked the first time and then we were getting all key events and
future widgets creation doesn't work.
This patch disconnect the signal just when the widget gets unmapped, as
we create a new widget when we open the media-viewer again.
Fix#402
Code inside debug_assert! is not called in release mode. In release mode
all the debug_assert! is omitted so the code inside never runs.
https://doc.rust-lang.org/std/macro.debug_assert.html
I've moved all the code inside the debug_assert! call to outside and
assign to a variable so the assert is done in development version but
doesn't affects to the release version at all.
The room order wasn't updated and the room name wasn't bold when you
receive a message without a room selected because if active_room is
None, the `?` operator will return the function and the moveup and
set_bold functions never get called.
Fix#394
This connects the image row directly to the action to open the media
viewer, this way the action doesn't need to be passed to message.rs.
FIX: button press on images don't close the left click menu
This adds a new module actions, which contains submodules containing
actions a widget can preform. This is the first step of removing the
AppOp Loop. Also this allows us to define actions in a more general way
without passing all data to each widget.
the room history is scrolled to the new message divider so that the user
doesn't need to search for the last read message.
This works for now only if the last seen message is in the first 40
messages fractal downloads.
This improves the performence of old message loading. This passes all
messages from a batch directly to the room history. Also this way the
Internal AppOp loop isn't used and it makes sure that the lazy loading
queue runs only once.