[Bug]: Tuba freezes after opening Bluesky links
Closed this issue · 13 comments
Describe the bug
Clicking on links leading to posts on bsky.app makes Tuba unresponsive.
Steps To Reproduce
- Open a post containing a link to a post on Bluesky e.g. https://pol.social/@kalisz79/113511850833319471
- Click on the link
- Tuba freezes
Logs and/or Screenshots
<paste your logs here>
Instance Backend
Mastodon
Operating System
openSUSE Tumbleweed
Package
Flatpak
Troubleshooting information
os: GNOME 47 (Flatpak runtime)
prefix: /app
flatpak: true
version: main-7b85202 (development)
gtk: 4.16.3 (4.16.3)
libadwaita: 1.6.1 (1.6.1)
libsoup: 3.6.0 (3.6.0)
libgtksourceview: 5.14.1 (5.14.1)
libspelling: true
Clapper: 0.8.0 (0.8.0)
GStreamer: GStreamer 1.24.7 (1.7.24.0)
Additional Context
No response
It opens just fine for me and tuba keeps working, are there any logs?
Does xdg-open "https://bsky.app/profile/davetroy.com/post/3lb2r3szel22v"
work?
It's weird, because now I can open that one Bluesky link in Tuba just fine, but when I search for posts containing bsky.app
and try opening links it freezes again w/o any output in the terminal. Using xdg-open
with the same links works.
hmmm, still can't reproduce :/
Do you maybe have aggressive resolving enabled or similar?
Does the link you click, prior to Tuba freezing, open in the browser?
hmmm, still can't reproduce :/
Could it be something with the instance I'm on?
Do you maybe have aggressive resolving enabled or similar?
"aggressive-resolving" : "FALSE"
Does the link you click, prior to Tuba freezing, open in the browser?
No, nothing happens.
If you can reliably reproduce it, could you try this branch and reply with logs? https://github.com/GeopJr/Tuba/tree/debug/richlabel/logs
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:05:44.434: RichLabel.vala:102: Begin: https://bsky.app/profile/did:plc:npdxsw4zvih4gcyqppoql7qk/post/3lbfazoupmb26
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:05:44.434: RichLabel.vala:103: Grabbing Widget
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:05:44.434: RichLabel.vala:104: widget null: false
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:05:44.437: RichLabel.vala:107: Begin mention checking
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:05:44.437: RichLabel.vala:122: End mention checking
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:05:44.437: RichLabel.vala:124: Begin tag checking
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:05:44.437: RichLabel.vala:150: End tag checking
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:05:44.437: RichLabel.vala:152: Begin resolving
That's all
Thanks, that's useful!
Can you try disabling "Strip Tracking Parameters from Links" and see if it won't freeze?
I pushed a commit to that branch, can you pull and try again (and re-enable strip tracking parameters from links)?
It froze even with stripping disabled.
I'm unable to build tuba with that recent commit:
Tracking.vala:50.31-50.34: error: The name `uri' does not exist in the context of `Tuba.Tracking.strip_utm'
Oops, try now
also if you havent already, try getting logs with G_MESSAGES_DEBUG=Tuba
too for debug logs, might help pointing it down further 🤷 (just the lines from the moment u click the link to tuba freezing)
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.319: RichLabel.vala:102: Begin: https://bsky.app/profile/did:plc:m65ifh7vn5zdgs7izcmht4gy/post/3lbfe65yshs24
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.319: RichLabel.vala:103: Grabbing Widget
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.319: RichLabel.vala:104: widget null: false
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.322: RichLabel.vala:107: Begin mention checking
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.322: RichLabel.vala:122: End mention checking
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.322: RichLabel.vala:124: Begin tag checking
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.322: RichLabel.vala:150: End tag checking
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.322: RichLabel.vala:152: Begin resolving
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.322: RichLabel.vala:170: URI is null: false
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.322: Host.vala:21: Opening URI: https://bsky.app/profile/did:plc:m65ifh7vn5zdgs7izcmht4gy/post/3lbfe65yshs24
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.322: Tracking.vala:65: Begin strip_utm_from_uri: https://bsky.app/profile/did:plc:m65ifh7vn5zdgs7izcmht4gy/post/3lbfe65yshs24
(dev.geopjr.Tuba:2): Tuba-CRITICAL **: 17:37:16.322: string_to_string: assertion 'self != NULL' failed
(dev.geopjr.Tuba:2): Tuba-WARNING **: 17:37:16.322: Tracking.vala:89: Query
(dev.geopjr.Tuba:2): Tuba-DEBUG: 17:37:16.322: Host.vala:36: Opening URI: https://bsky.app/profile/did:plc:m65ifh7vn5zdgs7izcmht4gy/post/3lbfe65yshs24
It's the same for stripping on and off.
Thank you! I narrowed it down:
For opening urls with your browser, Tuba has been using AppInfo.launch_default_for_uri
and Gtk.UriLauncher
as a fallback. It seems that Gtk.UriLauncher
is the recommended one nowadays as it will use the portal while AppInfo.launch_default_for_uri
will use dbus (?) <- which is where the freezing problem happens
I pushed the fix in the same branch if you want to try it, though I'm positive that it will work!
It works! Thank you!