GeopJr / Tuba

Browse the Fediverse
https://tuba.geopjr.dev/
GNU General Public License v3.0
552 stars 59 forks source link

[Bug]: Certain 'back' buttons don't retain focus for some ways of scrolling #956

Closed maltelau closed 4 months ago

maltelau commented 4 months ago

Describe the bug

Going 'back' from post to the home feed should maintain focus so the user can keep scrolling. Some specific combinations of going back and scrolling don't work together.

alt+left mouse thumb button click back button in top bar escape
mouse wheel works doesn't work works works
PgUp/PgDn works works works works
up/down doesn't work doesn't work works doesn't work
home/end doesn't work doesn't work works doesn't work

Notes:

Additional case

Similar problems happen when clicking on a post to end up on a 'conversation' screen.

enter conversation
mouse wheel works
PgUp/PgDn works
up/down doesn't work
home/end doesn't work

Expectation

When I enter a new view (or go back to a previous one) I should be able to scroll it using any method.

Steps To Reproduce

  1. View the home feed of a mastodon user
  2. Click any post
  3. Go back (to the home feed) using any of the 4 methods described above
  4. Attempt to scroll using any of the 4 scroll methods described above

Logs and/or Screenshots

debug log for going back (same for all 4 methods):

(tuba:29872): Tuba-DEBUG: 01:56:45.171: Status.vala:211: Destroying Status widget
(tuba:29872): Tuba-DEBUG: 01:56:45.172: Status.vala:211: Destroying Status widget
(tuba:29872): Tuba-DEBUG: 01:56:45.172: Status.vala:211: Destroying Status widget
(tuba:29872): Tuba-DEBUG: 01:56:45.173: Status.vala:211: Destroying Status widget
(tuba:29872): Tuba-DEBUG: 01:56:45.173: Status.vala:211: Destroying Status widget
(tuba:29872): Tuba-DEBUG: 01:56:45.174: Status.vala:211: Destroying Status widget
(tuba:29872): Tuba-DEBUG: 01:56:45.174: Status.vala:211: Destroying Status widget
(tuba:29872): Tuba-DEBUG: 01:56:45.175: Thread.vala:37: Destroying Thread
(tuba:29872): Tuba-DEBUG: 01:56:45.175: ContentBase.vala:45: Destroying ContentBase
(tuba:29872): Tuba-DEBUG: 01:56:45.175: Status.vala:4: [OBJ] Destroyed https://[...]
(tuba:29872): Tuba-DEBUG: 01:56:45.175: Status.vala:4: [OBJ] Destroyed https://[...]
(tuba:29872): Tuba-DEBUG: 01:56:45.175: Status.vala:4: [OBJ] Destroyed https://[...]
(tuba:29872): Tuba-DEBUG: 01:56:45.175: Status.vala:4: [OBJ] Destroyed https://[...]
(tuba:29872): Tuba-DEBUG: 01:56:45.175: Status.vala:4: [OBJ] Destroyed https://[...]
(tuba:29872): Tuba-DEBUG: 01:56:45.175: Status.vala:4: [OBJ] Destroyed https://[...]
(tuba:29872): Tuba-DEBUG: 01:56:45.175: Base.vala:121: Destroying base Conversation

xev button press event from mouse thumb button

ButtonPress event, serial 34, synthetic NO, window 0x1e00001,
    root 0x3a6, subw 0x0, time 20286487, (272,421), root:(3970,424),
    state 0x0, button 8, same_screen YES

ButtonRelease event, serial 34, synthetic NO, window 0x1e00001,
    root 0x3a6, subw 0x0, time 20286586, (272,421), root:(3970,424),
    state 0x0, button 8, same_screen YES

Instance Backend

Mastodon

Operating System

debian sid

Package

OS repositories

Troubleshooting information

wm: i3 version 4.23 os: Debian GNU/Linux (null) prefix: /usr flatpak: false version: 0.6.3 (production) gtk: 4.12.5 (4.12.5) libadwaita: 1.5.0 (1.5.0) libsoup: 3.4.4 (3.4.4) libgtksourceview: 5.12.0 (5.11.1)

Additional Context

My guess is there could be separate things happening, both related to input focus.

GeopJr commented 4 months ago

Thanks for raising this issue!

This was fixed in the 0.7 releases iirc and the next one (0.8) will have some more fixes for some edge cases (like clicking links).

Not sure why trixie doesn't have 0.7 already but I don't maintain that package :shrug:

GeopJr commented 4 months ago

FWIW, on 0.7->main all the options in your table work. When going back it focuses back to the last selected post/item/button...

maltelau commented 4 months ago

Ah, the life of an upstream maintainer getting bug reports for old versions in debian. At least I (mostly) only wasted my own time!

GeopJr commented 4 months ago

Can't blame them to be honest :sweat_smile: 0.7 released the same day as GNOME 46 so they had a lot to update