How best to do emoji rendering?
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 for Soapbox. I am open to suggestions. But I have two ideas regarding this:
- We find some way to bring in emoji SVGs via a Yarn package (in other words, make Soapbox FE's emoji stuff independent from MastoFE's).
- We let the Pleroma backend handle updating emoji SVGs.