Federate emoji as anonymous objects #815

Open
Oneric wants to merge 1 commit from Oneric/akkoma:emoji-id into develop
Member

Similarly small change as those in #814, but may warrant some more attention wrt possibly federation effects.

Federation with other *omas and with *keys (+IceShrimp) should work; not sure how Mastodon and its forks handle null ids. (e.g. fedibird and chuckya support emoji reactions)


Usually an id should point to another AP object
and the image file isn’t an AP object. We currently
do not provide standalone AP objects for emoji and
don't keep track of remote emoji at all.
Thus just federate them as anonymous objects,
i.e. objects only existing within a parent context
and using an explicit null id.

IceShrimp.NET previously adopted anonymous objects
for remote emoji without any apparent issues. See:
333611f65e

Fixes: #694

Similarly small change as those in #814, but may warrant some more attention wrt possibly federation effects. Federation with other \*omas and with \*keys (+IceShrimp) should work; not sure how Mastodon and its forks handle null ids. (e.g. fedibird and chuckya support emoji reactions) --- Usually an id should point to another AP object and the image file isn’t an AP object. We currently do not provide standalone AP objects for emoji and don't keep track of remote emoji at all. Thus just federate them as anonymous objects, i.e. objects only existing within a parent context and using an explicit null id. IceShrimp.NET previously adopted anonymous objects for remote emoji without any apparent issues. See: https://iceshrimp.dev/iceshrimp/Iceshrimp.NET/commit/333611f65eb2a65b2779ece0435b5ba84bf60e99 Fixes: https://akkoma.dev/AkkomaGang/akkoma/issues/694
Oneric added 1 commit 2024-06-23 18:49:00 +00:00
Federate emoji as anonymous objects
Some checks are pending
ci/woodpecker/pr/build-amd64 Pipeline is pending
ci/woodpecker/pr/build-arm64 Pipeline is pending
ci/woodpecker/pr/docs Pipeline is pending
ci/woodpecker/pr/lint Pipeline is pending
ci/woodpecker/pr/test Pipeline is pending
4ff5293093
Usually an id should point to another AP object
and the image file isn’t an AP object. We currently
do not provide standalone AP objects for emoji and
don't keep track of remote emoji at all.
Thus just federate them as anonymous objects,
i.e. objects only existing within a parent context
and using an explicit null id.

IceShrimp.NET previously adopted anonymous objects
for remote emoji without any apparent issues. See:
333611f65e

Fixes: #694
Author
Member

I was now able to confirm this works fine in practice with:

  • current Akkoma (no surprise)
  • Mastodon 4.2.10
  • Sharkey 2024.5.1 (federation code is supposed to almost match upstream Misskey sans their extensions and as mentioned before i’ve seen explicit null-id emoj handling in upstream Misskey code, so this likely holds for all *keys)

However issues arose with GtS 0.16.0; emoji got stripped with only the shortcode text remaining. I brought it up with GtS upstream

I was now able to confirm this works fine in practice with: - current Akkoma *(no surprise)* - Mastodon 4.2.10 - Sharkey 2024.5.1 *(federation code is supposed to almost match upstream Misskey sans their extensions and as mentioned before i’ve seen explicit null-id emoj handling in upstream Misskey code, so this likely holds for all \*keys)* However issues arose with GtS 0.16.0; emoji got stripped with only the shortcode text remaining. I brought it up with GtS upstream
Some checks are pending
ci/woodpecker/pr/build-amd64 Pipeline is pending
ci/woodpecker/pr/build-arm64 Pipeline is pending
ci/woodpecker/pr/docs Pipeline is pending
ci/woodpecker/pr/lint Pipeline is pending
ci/woodpecker/pr/test Pipeline is pending
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u emoji-id:Oneric-emoji-id
git checkout Oneric-emoji-id
Sign in to join this conversation.
No description provided.