Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] I can't unfollow dead accounts #2634

Open
Hund opened this issue Feb 12, 2024 · 5 comments
Open

[bug] I can't unfollow dead accounts #2634

Hund opened this issue Feb 12, 2024 · 5 comments
Labels
bug Something isn't working
Milestone

Comments

@Hund
Copy link

Hund commented Feb 12, 2024

Describe the bug with a clear and concise description of what the bug is.

I'm unable to unfollow dead accounts from a Mastodon instance that has shut down. I assume that the same issue applies for all dead accounts, no matter what instance it used to be.

What's your GoToSocial Version?

0.13.2

GoToSocial Arch

AMD64 Docker

What happened?

Tapping the unfollow button using Pinafore, I'm simply met with the following message:

Unable to unfollow : Request failed: 404

What you expected to happen?

The user would be unfollowed.

How to reproduce it?

Follow a user, wait until their instance shuts down, unfollow user.

@Hund Hund added the bug Something isn't working label Feb 12, 2024
@tsmethurst
Copy link
Contributor

Oh that's annoying indeed. We'll have to investigate what's happening there.

A workaround to this for now would be to suspend the instance from the admin panel if you know it's gone for good. That will tidy up remaining stuff like followers/following, posts, media, etc. If you wanna leave the door open in case the instance comes back, just unsuspend again afterwards. Hope that helps!

@daenney
Copy link
Member

daenney commented Feb 13, 2024

I'm actually not sure how we could solve it, beyond some "expunge domain" feature.

A domain starting to return 4xx/5xx codes to some of our requests doesn't let us distinguish between "oh they're actually gone and shut down" versus "technical difficulties". Even if we fail to resolve DNS or open a TCP socket.

In an ideal world, when an instance is closing down that information would be broadcast and we could respond to it by removing the follows. But that doesn't solve the case of an unexpected shutdown (like a domain seizure) or an instance maintainer disappearing and it eventually bitrotting out of existence.

Someone also pointed out the same happens with boosts and favs. If the instance is dead, you can't unboost or unfav a post any more.

@tsmethurst
Copy link
Contributor

I think the issue is probably that trying to interact with an account/status that hasn't been dereffed in a while causes the instance to attempt refresh from remote. If that fails then the action will fail. We may want to better separate the action on the local instance from interaction with the remote instance, such that you can still do/undo things locally even if the remote can't be reached anymore (but then provide no guarantees that the do/undo will actually reach the remote).

@Hund
Copy link
Author

Hund commented Feb 13, 2024

@tsmethurst I added the domain in Settings / Admin / Domain permissions /Block. Nothing happened though. I'm still following the dead accounts. :(

@tsmethurst
Copy link
Contributor

If they're accounts with separate host and account domain values, you may need to add both the host and the account domain for side effects to be fully processed. If it's a big domain with lots of connections to you, you may just need to wait a while for side effects to process.

@NyaaaWhatsUpDoc NyaaaWhatsUpDoc added this to the v0.16.0 milestone Apr 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants