nate-xyz / resonance

Intuitive GTK4/LibAdwaita music player
https://beta.flathub.org/apps/io.github.nate_xyz.Resonance
GNU General Public License v3.0
353 stars 21 forks source link

Resonance UI/UX issues #24

Open tfuxu opened 1 year ago

tfuxu commented 1 year ago

Here's the list of most bugs and issues I found after testing the latest release of Resonance:

UI Bugs & Issues:

~Resonance isn't designed for Adwaita light theme (tracked in #16, #14 and #15)~ Fixed in 901e76f
Show image ![Screenshot from 2023-04-01 15-44-00](https://user-images.githubusercontent.com/73042332/230616970-825c253e-88b2-4c81-8a50-ead5009a5114.png)
~Main window doesn't have a title (instead if fallbacks to executable name)~ Fixed in 528bdba
Show image ![Screenshot from 2023-04-01 15-43-34](https://user-images.githubusercontent.com/73042332/230616698-afea681d-ed1c-4d8e-984b-5e0ec00b8371.png)
~Search and Sort buttons don't use the same style as main menu button~ Fixed in b8b46cf
Show image ![Screenshot from 2023-04-01 15-45-02](https://user-images.githubusercontent.com/73042332/230616895-8746b4c1-8dbf-4247-a3d8-a29bf73b2971.png)
There is a one pixel border between queue list and and playback view (sometimes noticeable also with dark theme)
Show image ![Screenshot from 2023-04-01 15-42-39](https://user-images.githubusercontent.com/73042332/230618081-030fbe9a-b6df-4c9f-a2e6-054253c8a432.png)
Queue list gradient sometimes doesn't get updated
Show image ![Screenshot from 2023-04-01 15-53-05](https://user-images.githubusercontent.com/73042332/230618615-1a9e0adb-8323-40eb-8b83-c54ea46ed0cc.png)
~Some animations are too rapid (eg. Go Back from album view)~ Fixed in 5f7fda3f2fc06faf9753c00680bdab74634dc14b

I think that the stack holding AlbumGridPage to AlbumDetailPage pages should use GTK_STACK_TRANSITION_TYPE_CROSSFADE transition instead of slide left transition.

UX Bugs & Issues:

For some reason after a reboot I need to re-add my music folder, as otherwise it will show this error if I try to play any track:
Error from element filesrc7: Error { domain: gst-resource-error-quark, code: 3, message: "Resource not found." }
Clicking too much in Tracks can trigger a main thread panic at:
already borrowed: BorrowMutError' in src/views/pages/tracks/track_page_row.rs:239:26
Only the first track gets enumerated in album view if track numbers aren't explicitly defined in metadata
Show image ![Screenshot from 2023-04-01 16-32-50](https://user-images.githubusercontent.com/73042332/230617636-96903b40-b2cc-4405-92e1-933c1c250b3d.png) This is how it looks in GNOME Music: ![Screenshot from 2023-04-01 16-33-21](https://user-images.githubusercontent.com/73042332/230667791-fa848a9f-bfe3-40c1-98dd-544d113691e4.png)

Other issues:

Resonance doesn't use its symbolic icon in GNOME system settings

I suppose that this isn't a bug, but something that needs to be actually implemented.

Show image ![Screenshot from 2023-04-02 21-29-18](https://user-images.githubusercontent.com/73042332/230668300-151cbb4a-87b9-4c98-826d-02d8845636e7.png)
Sometimes you can encounter a GTK critical error (I'm not sure how to reproduce this):
Gtk-CRITICAL **: 21:18:57.205: gtk_widget_compute_point: assertion 'GTK_IS_WIDGET (widget)' failed
Resonance prints out debug messages in Flatpak release
Show image ![Screenshot from 2023-04-01 15-43-00](https://user-images.githubusercontent.com/73042332/230668648-611081ab-356d-4e26-88d7-d64a961dea07.png)
nate-xyz commented 1 year ago

The Gtk CRITICAL errors typically occur when I'm constructing widgets at runtime, like in the album sidebar, detail page, and in the album card widgets. I think (?) this is error is from improperly freeing memory from the previous construction of the widget as I usually just set the adw bin to the new widget or null IIRC. I'm not really sure how to fix this as I'm not familiar with gtk memory management in rust (or in general)

nate-xyz commented 1 year ago

Can you open an individual issue for the re-adding music folder bug with more info? Is your folder on a different drive maybe?

tfuxu commented 1 year ago

The Gtk CRITICAL errors typically occur when I'm constructing widgets at runtime, like in the album sidebar, detail page, and in the album card widgets. I think (?) this is error is from improperly freeing memory from the previous construction of the widget as I usually just set the adw bin to the new widget or null IIRC. I'm not really sure how to fix this as I'm not familiar with gtk memory management in rust (or in general)

From what I remember you should be able to clear a widget from memory by just using g_object_unref

tfuxu commented 1 year ago

Can you open an individual issue for the re-adding music folder bug with more info? Is your folder on a different drive maybe?

Yes, it is on a separate drive, because my Linux installation is configured to use an NVMe for the system and an HDD drive for the home directory.

13k commented 1 year ago

Another issue would be remembering window position/size between launches.

I'm using the flatpak release and I don't know if it affects only flatpak build or if it's a general issue.

13k commented 1 year ago

Another issue is the auto-scrolling when clicking on an album or song (artist page). If the layout's width is small enough, the UI will keep jumping around and won't register any click events, so it won't play anything that was selected. This also happens on the default layout size, but it's rare.

Video

https://github.com/nate-xyz/resonance/assets/4762/f6337eb1-e4a2-48e0-9b40-1a60fd32b366

You can notice the currently playing song doesn't change.