Remote follow doesn't work from a Mastodon instance(?)
Environment
- Installation type (OTP or From Source): OTP
- Pleroma version (could be found in the "Version" tab of settings in Pleroma-FE): 2.2.1
- Elixir version (
elixir -v
for from source installations, N/A for OTP): N/A - Operating system: Ubuntu 20.04.1 LTS
- PostgreSQL version (
psql -V
): psql (PostgreSQL) 12.5 (Ubuntu 12.5-0ubuntu0.20.04.1)
Bug description
This should be reproducible by clicking on the "Remote follow" button of a Pleroma profile (e.g. https://social.primeos.dev/test) and trying to follow from a Mastodon instance (e.g. entering "primeos@mastodon.social"). This should result in the following error message: "Error: Something went wrong.".
This might be related to a problem in my setup but I tried it on one other Pleroma instance and it didn't work there as well (can you reproduce this on your own instance?; maybe it's related to OTP vs. from source or the reverse proxy configuration). What works is if I enter "michael@social.primeos.dev" (i.e. same instance) or a user on a remote Pleroma instance (it works after a short delay while from a Mastodon instance it fails "instantly").
I am not sure for how long this bug(?) exists as I only tried this recently for testing purposes. Unfortunately I couldn't find any additional information in the logs. Is there anything I could try to help?
Update: I just tested this with the Fedilab app and was able to follow my account. This could also explain the two Mastodon followers that I gained since I noticed this bug. Not sure if this is a frontend or backend bug then (I was also concerned that this could be due to my Browser+Plugins but it even failed with Google Chrome on my Android phone so that shouldn't be the problem).
Also: If I try to follow with "void@social.primeos.dev" this results in "Error: Something went wrong." as well. Maybe the error messages could be improved a bit or some debug output added? But if the following is the relevant code this seems difficult (but I'm neither familiar with Pleroma nor Elixir so I have no idea):
lib/pleroma/web/o_status/o_status_controller.ex:
defp errors(conn, _) do
render_error(conn, :internal_server_error, "Something went wrong")
end
Related issues:
- #1964 (closed): But this wasn't reproducible and didn't work from a remote Pleroma instance (while in my case this works).