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

GTS: following a remote user with follow requests disabled shows "follow requested" until the view is refreshed #4937

Open
tullo-x86 opened this issue Feb 21, 2025 · 2 comments
Labels

Comments

@tullo-x86
Copy link

Detailed description

Example: the account @[email protected] is not locked, but Tusky shows "Follow requested". I'm guessing this is because GTS does some async stuff behind the scenes and immediately returns, but the inconsistent view is kind of weird.

Image

Steps to reproduce the problem

  1. Open the view of an account which does not have follow requests enabled
  2. Tap "Follow"

Expected: The view eventually updates to show that the account is being followed
Actual: The follow button shows "Follow requested" until the view is refreshed

Debug information

Tusky 27.2
Device: asus ASUS_AI2202 (ZenFone 9)
Android version: 14
SDK version: 34

Account: (REDACTED)@goblin.technology
Version: 0.18.0-SNAPSHOT+git-c110f5c

@tullo-x86 tullo-x86 added the bug label Feb 21, 2025
@connyduck
Copy link
Collaborator

Yes, this is because the remote server still needs to acknowledge the follow request even though the account is not locked.
GTS is technically correct by forwarding this to clients, but it makes for weird user experience. My favorite fix for this would be GTS just behaving like Mastodon. Other than that I'm not sure how we could fix this nicely in Tusky. Just show "Following" even though the server told us the state is "Follow requested"? Or make additional requests to the server until the state is "Following" and show a spinner in the meantime?

@charlag
Copy link
Collaborator

charlag commented Feb 22, 2025

we could do additional requests at increasing time intervals. or at least one after a delay

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants