[bug] Custom emoji IDs are on the wrong origin #694
Labels
No labels
approved, awaiting change
bug
configuration
documentation
duplicate
enhancement
extremely low priority
feature request
Fix it yourself
help wanted
invalid
mastodon_api
needs docs
needs tests
not a bug
planned
pleroma_api
privacy
question
static_fe
triage
wontfix
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: AkkomaGang/akkoma#694
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Your setup
OTP
Extra details
No response
Version
(this is an issue at least on the last commit)
PostgreSQL version
No response
What were you trying to do?
Render a custom emoji received from an Akkoma instance
What did you expect to happen?
It renders.
What actually happened?
It doesn't render, because the ID of the
Emoji
tag is equivalent to theurl
, which may not be on the same origin as the object.For security reasons, Kroeg, a piece of ActivityPub software, rejects any object that has an ID from a different origin, instead opting to fetch it afresh from that instance. Custom Emoji that are hotlinked from another origin, thus, fall under this category, and are discarded.
See
transmogrifier.ex
'sbuild_emoji_tag
.Logs
No response
Have you searched for this issue?
this behaviour is correct and not a bug
the only concievable way to react with remote emoji, as we allow, is to rely on the ID of the emoji object
to "correct" that would be to remove the functionality, or would amount to proxying images through the instance
additionally please ensure you set the correct severity when you raise an issue - it helps us prioritise
this is not a cannot-use-the-software level issue
oh, i did not actually enter anything into that field (i overlooked it), it might not be the best to default that to the highest priority?
The issue is that the ID used is that of the image of the emoji, even if it were on a remote server, rather than the ID of the Emoji JSON-LD object.
As an example. Mastodon renders the
id
of the emoji to be"https://<domain>/emojis/<emoji id>"
, rather thanhttps://<cdn path>/custom_emojis/images/<numbers>.png
; I'd be okay if you used the remote server'sEmoji
object ID, rather than its image URL, as the ID for the Emoji object, as that can (in many cases) be resolved.Does anything actually depend upon the id for federation?
Could we just send it anonymously?