Only generic avatars shown for rooms and users
All avatars in the UI are "generic" i.e. either an empty colored circle or one with initials. This is true for room avatars in the room list, user avatars in the message list, user avatars in the room details, and my own avatar in the application hamburger menu.
From the application log (excerpted below) I see some "connection reset by peer" errors for some room.avatar
queries but not enough to account for all of the rooms I'm in, nor any similar errors for user avatars.
Also, avatars seem to load fine with the stable flatpak release.
I'm connecting to a self-hosted Synapse instance running on Debian version 1.23.0+buster1.
Steps to reproduce:
- Open Fractal
-
This bug is reproducible from the latest nightly build
Fractal Version: 4.4.0-221f9488
OS Version: Pop! OS (Ubuntu-based) 20.10
Installation Source: gnome-nightly flatpak
Here's a log from application startup:
Application started at 11:33:59 AM
(fractal:4): dbind-WARNING **: 11:40:36.557: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown
(fractal:4): GVFS-DEBUG: 11:40:37.788: org.gtk.vfs.MountTracker.listMountableInfo call failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown (g-dbus-error-quark, 2)
(fractal:4): GLib-GIO-DEBUG: 11:40:37.788: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
Gtk-Message: 11:40:38.251: Failed to load module "canberra-gtk-module"
Gtk-Message: 11:40:38.344: Failed to load module "canberra-gtk-module"
(fractal:4): GLib-DEBUG: 11:40:38.372: unsetenv() is not thread-safe and should not be used after threads are created
(fractal:4): GLib-GIO-DEBUG: 11:40:44.735: _g_io_module_get_default: Found default implementation keyfile (GKeyfileSettingsBackend) for ‘gsettings-backend’
(fractal:4): GLib-GIO-DEBUG: 11:41:01.185: _g_io_module_get_default: Found default implementation portal (GProxyResolverPortal) for ‘gio-proxy-resolver’
fractal_gtk::appop::sync: SYNC
fractal_gtk::backend: Query error: Reqwest(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!EBAexmkitESbvokiqx:ssweeny.net/joined_members?access_token=<redacted>", source: hyper::Error(IncompleteMessage) })
fractal_gtk::backend: Query error: Reqwest(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!cApDlsILLZkmAyVoxe:matrix.org/joined_members?access_token=<redacted>", source: hyper::Error(Connect, Ssl(Error { code: ErrorCode(5), cause: Some(Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" })) }, X509VerifyResult { code: 0, error: "ok" })) })
fractal_gtk::backend: Query error: RoomAvatarError(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!NpMnTvajTMpeTaMDmJ:ssweeny.net/state/m.room.avatar/?access_token=<redacted>", source: hyper::Error(Connect, Ssl(Error { code: ErrorCode(5), cause: Some(Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" })) }, X509VerifyResult { code: 0, error: "ok" })) })
fractal_gtk::backend: Query error: RoomAvatarError(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!zXfJBqSUvXySmsZMtB:jki.re/state/m.room.avatar/?access_token=<redacted>", source: hyper::Error(Connect, Ssl(Error { code: ErrorCode(5), cause: Some(Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" })) }, X509VerifyResult { code: 0, error: "ok" })) })
fractal_gtk::backend: Query error: Reqwest(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!OCJqLlDuUFpLbJscPO:gnome.org/joined_members?access_token=<redacted>", source: hyper::Error(Connect, Ssl(Error { code: ErrorCode(5), cause: Some(Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" })) }, X509VerifyResult { code: 0, error: "ok" })) })
fractal_gtk::backend: Query error: RoomAvatarError(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!hwiGbsdSTZIwSRfybq:matrix.org/state/m.room.avatar/?access_token=<redacted>", source: hyper::Error(Connect, Ssl(Error { code: ErrorCode(5), cause: Some(Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" })) }, X509VerifyResult { code: 0, error: "ok" })) })
fractal_gtk::backend: Query error: RoomAvatarError(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!lHVwJHglOACWFbxDmw:matrix.org/state/m.room.avatar/?access_token=<redacted>", source: hyper::Error(Connect, Ssl(Error { code: ErrorCode(5), cause: Some(Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" })) }, X509VerifyResult { code: 0, error: "ok" })) })
fractal_gtk::backend: Query error: RoomAvatarError(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!mtWFmwMxYEgWOxwoTF:ssweeny.net/state/m.room.avatar/?access_token=<redacted>", source: hyper::Error(IncompleteMessage) })
fractal_gtk::backend: Query error: Reqwest(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!nAzihQZIoxFtjVnaoQ:ssweeny.net/joined_members?access_token=<redacted>", source: hyper::Error(IncompleteMessage) })
fractal_gtk::backend: Query error: Reqwest(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!NrkQorBIyLCRuiynHA:matrix.org/joined_members?access_token=<redacted>", source: hyper::Error(IncompleteMessage) })
fractal_gtk::backend: Query error: ParseUrl(RelativeUrlWithoutBase)
fractal_gtk::appop::sync: SYNC
fractal_gtk::appop::sync: SYNC
fractal_gtk::appop::sync: SYNC
fractal_gtk::backend: Query error: RoomAvatarError(reqwest::Error { kind: Request, url: "https://matrix.ssweeny.net/_matrix/client/r0/rooms/!GnEEPYXUhoaHbkFBNX:matrix.org/state/m.room.avatar/?access_token=<redacted>", source: TimedOut })
fractal_gtk::appop::sync: SYNC