How best to do emoji rendering (regarding frontends like Soapbox and MastoFE)?
One of the interesting things about Pleroma is that it has Glitch-soc's Mastodon frontend (changed to work with the Pleroma backend instead of course) built in. The difference between that frontend and another ordinary frontend like Pleroma's main one or Soapbox is that it's routing is hard-coded to the /web endpoint and that it cannot be made the primary frontend.
From a developer standpoint, it makes sense to have MastoFE in Pleroma because it demonstrates how Pleroma's API is indeed compatible with that of Mastodon's. However, it sometimes seems pointless from the user's perspective. Moreover, there's some users that don't like it. And from the administrator's perspective, MastoFE can affect resource usage.
Currently, there is an MR open regarding frontend bundles that includes making MastoFE optional. However, Soapbox's emoji SVGs come directly from MastoFE. This may cause a problem if and when MastoFE is removed from the backend /priv/static end and made only optional to install.
This is where we may need to think about how we best do emojis regarding frontends like Soapbox and MastoFE. I am open to suggestions. But I have two ideas regarding this:
- Soapbox and MastoFE find some way to bring in emoji SVGs via a Yarn package.
- We let the Pleroma backend handle updating emoji SVGs.