My mastodon instance where having SSL issues so others instances can't talk with me.
I made a follow request to a protected account.
I repaired the SSL issue.
I can't cancel the follow request.
I think this may be the same if the person doesn't accept or refuse the request ?
I tried using the API (Mastodon.py) but an unfollow respond with:
``In the server logs:
method=POST path=/api/v1/accounts/3/unfollow format=*/* controller=Api::V1::AccountsController action=unfollow status=500 error='NoMethodError: undefined methodaccount' for nil:NilClass' duration=22.79 view=0.00 db=4.39
[xxx] NoMethodError (undefined method account' for nil:NilClass):
[xxx] app/services/unfollow_service.rb:16:inbuild_xml'
[xxx] app/services/unfollow_service.rb:9:in call'
[xxx] app/controllers/api/v1/accounts_controller.rb:89:inu
And a follow:
In [21]: mastodon.account_follow(3)
Out[21]: {'error': 'Validation failed: Account has already been taken'}
The user exists in my instance:
In [22]: mastodon.account(3)
Out[22]:
{'acct': '[email protected]',
'avatar': 'xxx',
'created_at': '2017-04-02T21:28:41.124Z',
'display_name': 'xxx',
'followers_count': 0,
'following_count': 0,
'header': 'xxx',
'id': 3,
'locked': True,
'note': 'xxx',
'statuses_count': 3,
'url': 'https://mastodon.social/@xxx',
'username': 'xxx'}
```
Maybe related, I just clicked "follow" on an foreign account (trying to follow a witches.town account from icosahedron.website) and got a toast that said
"Validation failed: Account has already been taken"
Seems like an odd error message for that action.
Similarily if a user switches from private to public while you have a pending follower request for them, you won't be able to follow or unfollow them even though they aren't private anymore.
Re: the last comment: And if they go back to private, they can't manually confirm your follow request because it doesn't exist anymore
I confirm the issue, this is annoying. Especially since notifications about pending follower requests often don't show up (see #644 ), so follow requests can remain indefinitely in a pending state, without any way to cancel or accept them.
A fix could to add an expiration date to follow requests, so that after some time (a few days?), you can perform a new follow request. If the remote account since switched to public, the follow request would be immediately accepted.
In the meantime, it's possible to just delete the follow request in the local database:
DELETE FROM follow_requests WHERE account_id = <your_id> AND target_account_id = <id_of_remote_user>;
The ID (both your own and the one of the remote user you want to follow) can be found by looking at your profile and the profile of the remote user: the ID is in the URL, like https://yourmastodon/web/accounts/<ID>
Then reloading the web interface will allow you to follow the remote user.
Another workaround is to use the API directly, which seems to let you continue to send follow requests even when a request is allegedly pending (possible candidate for another bug report?)
I had just started to add canceling a follow request into Tusky on the profile pages of locked accounts. I'd assumed issuing an unfollow would cancel the request, but it returns a Relationship where following is false and requested is still true.
I guess I'm dropping the idea until this issue is closed, too bad.
Most helpful comment
I confirm the issue, this is annoying. Especially since notifications about pending follower requests often don't show up (see #644 ), so follow requests can remain indefinitely in a pending state, without any way to cancel or accept them.
A fix could to add an expiration date to follow requests, so that after some time (a few days?), you can perform a new follow request. If the remote account since switched to public, the follow request would be immediately accepted.
In the meantime, it's possible to just delete the follow request in the local database:
The ID (both your own and the one of the remote user you want to follow) can be found by looking at your profile and the profile of the remote user: the ID is in the URL, like
https://yourmastodon/web/accounts/<ID>Then reloading the web interface will allow you to follow the remote user.