GeopJr / Tuba

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

[Bug]: Third Accoubt disappeared after closing the app #1095

Closed Beeblebrox21 closed 2 months ago

Beeblebrox21 commented 2 months ago

Describe the bug

I have 4 Mastodon accounts. the first two work fine. The third one works in one session if I take the setup, but dissapears when I close Tuba.

Steps To Reproduce

  1. Setup two Mastodon accounts
  2. Setup the third account
  3. Use this account
  4. Switch back to one of the previous accounts
  5. Close Tuba
  6. Reopen Tube

Logs and/or Screenshots

<paste your logs here>

Instance Backend

Mastodon

Operating System

Ubuntu 22.04.

Package

Flatpak

Troubleshooting information

os: GNOME 46 (Flatpak runtime) prefix: /app flatpak: true version: 0.8.3 (production) gtk: 4.14.4 (4.14.4) libadwaita: 1.5.3 (1.5.3) libsoup: 3.4.4 (3.4.4) libgtksourceview: 5.12.1 (5.12.1)

Additional Context

No response

GeopJr commented 2 months ago

Thanks for raising this issue!

This sounds like a keyring issue. Could you tell me if the third account is in "Passwords and Keys" (seahorse)?

Could you also run Tuba from the terminal:

Beeblebrox21 commented 2 months ago

Done. The third account is not in seahorse, practically i use seahorse just for gpg ... Terminal output during Tuba-session: 8><---- ┌──(frank🐧mother)-[~] └─$ G_MESSAGES_DEBUG=Tuba flatpak run dev.geopjr.Tuba

(dev.geopjr.Tuba:2): Tuba-WARNING **: 14:14:30.583: Image.vala:69: Failed to download image at "https://assets.first.account/cache/accounts/avatars/106/945/356/126/882/629/original/b27b0e5648c2ba5a.jpg": Server returned Not Found

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `GeeMap'

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `GType'

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `gpointer'

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `gpointer'

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `GType'

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `gpointer'

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `gpointer'

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `GeeSet'

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `GeeCollection'

(dev.geopjr.Tuba:2): Json-WARNING **: 14:14:58.795: Unsupported type `GeeSet' (dev.geopjr.Tuba:2):: Befehl nicht gefunden. ----><8

Hope this helps ... I don't see relevant information there at first sight ...

GeopJr commented 2 months ago

Thanks!

Looks like no debug messages were printed... Could you maybe try again with flatpak run --env=G_MESSAGES_DEBUG=Tuba dev.geopjr.Tuba?

here's for example the logs I see on my side:

(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:34.138: NewAccount.vala:132: Checking instance URL
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:34.139: Network.vala:65: GET: https://mastodon.social/api/v1/instance
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:34.159: AccountStore.vala:163: https://mastodon.social is using Mastodon
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:34.159: NewAccount.vala:147: Registering client
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:34.159: Network.vala:65: POST: https://mastodon.social/api/v1/apps
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:34.301: NewAccount.vala:165: OK: Instance registered client
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:34.304: NewAccount.vala:174: Opening permission request page
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:34.304: Host.vala:33: Opening URI: https://mastodon.social/oauth/authorize?scope=read%20write%20follow&response_type=code&redirect_uri=tuba://auth_code&client_id=[redacted]
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:39.344: NewAccount.vala:221: Received uri: tuba://auth_code/?code=[redacted]
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:39.344: NewAccount.vala:187: Requesting access token
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:39.344: Network.vala:65: POST: https://mastodon.social/oauth/token
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:39.485: Network.vala:65: GET: https://mastodon.social/api/v1/accounts/verify_credentials
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:39.652: InstanceAccount.vala:200: @username@mastodon.social: profile updated

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `GeeMap'

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `GType'

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `gpointer'

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `gpointer'

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `GType'

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `gpointer'

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `gpointer'

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `GeeSet'

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `GeeCollection'

(dev.geopjr.Tuba:13137): Json-WARNING **: 12:16:39.653: Unsupported type `GeeSet'
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:39.654: NewAccount.vala:209: Saving account
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:39.654: AccountStore.vala:48: Adding new account: @username@mastodon.social
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:39.662: SecretAccountStore.vala:100: Saved 5 accounts
(dev.geopjr.Tuba:13137): Tuba-DEBUG: 12:16:39.662: AccountStore.vala:85: Activating @username@floss.social…

FWIW, Tuba securely saves accounts in your host's keyring, which can be a bit shakey if the host has outdated/buggy versions installed. Not sure what's up with (dev.geopjr.Tuba:2):: Befehl nicht gefunden. either

The other accounts are listed in seahorse, right?

You can also give this guide a try I guess, but since we don't know what's the actual issue, it might not change anything https://github.com/GeopJr/Tuba/wiki/libsecret-issues

Beeblebrox21 commented 2 months ago

It seems that there ist no saving procedure for the third accout. I get just one warning and just the JSON-warnings as above. 8><---- (dev.geopjr.Tuba:2): libsoup-WARNING **: 11:49:53.734: Cache flush finished despite 19 pending requests (dev.geopjr.Tuba:2):: Befehl nicht gefunden. ----><8

EDIT: today the third account seems to stay persistent. Maybe a temproary issue on the server side, a problem with authentication?

Now I get a server error trying to add a fourth account, but for this I blame the server for now ...

Thank you so far ...

GeopJr commented 2 months ago

You are still missing debug logs, notice how in the logs I sent there are many Tuba-DEBUG lines.

There are many moving parts outside of the sandbox unfortunately when it comes to saving to the keyring. Since the account worked when you added it to Tuba, it's not an authentication or server-side problem, but rather something to do with the secret portal. Might have to do with the outdated packages provided by Ubuntu 22 or something else. Overall, as there's no errors printed on Tuba's side, there's not much we can do here I guess :/

The solution on https://github.com/GeopJr/Tuba/wiki/libsecret-issues fixes similar issues in setups that do not support it fully, like older versions of kwallet

I think I'll go ahead and close this, but feel free to comment here if you encounter it again or get more info on it and I'll re-open it!