This is pure grunt work to eliminate future technical debt, except for adding content types when fetching ejabberd avatars, so they could be imported to our storage later (relevant for ejabberd-only to akkounts+ejabberd migrations, or if we want to import the rest of the avatars from XMPP users who aren't Mastodon users).
It makes everything consistent with the other REST API integrations, inherits from the same REST service, and decouples the XMPP jobs from the specific ejabberd implementation. So if one adds e.g. Prosody support, it's easy to just call a different integration service.
This is pure grunt work to eliminate future technical debt, except for adding content types when fetching ejabberd avatars, so they could be imported to our storage later (relevant for ejabberd-only to akkounts+ejabberd migrations, or if we want to import the rest of the avatars from XMPP users who aren't Mastodon users).
It makes everything consistent with the other REST API integrations, inherits from the same REST service, and decouples the XMPP jobs from the specific ejabberd implementation. So if one adds e.g. Prosody support, it's easy to just call a different integration service.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This is pure grunt work to eliminate future technical debt, except for adding content types when fetching ejabberd avatars, so they could be imported to our storage later (relevant for ejabberd-only to akkounts+ejabberd migrations, or if we want to import the rest of the avatars from XMPP users who aren't Mastodon users).
It makes everything consistent with the other REST API integrations, inherits from the same REST service, and decouples the XMPP jobs from the specific ejabberd implementation. So if one adds e.g. Prosody support, it's easy to just call a different integration service.
Looking good 👍