element-meta
element-meta copied to clipboard
Possibility to define our own emoji
I would like to have the possibility to add my own emojis.
Could you please add this feature?
Kind regards
this is also related to being able to send custom stickers
see also vector-im/element-web#1692
I could work on this, store stickers only locally for now?
That would be great! Could send stickers as data URLs, or upload them to your homeserver and refer to them via mxc:// URLs.
Since there is no method of listing uploaded media (and thereby retrieving stickers on the server), I'd just go with data URLs for now, as it's simpler.
For those interested: I've started a proposal on this area (including stickers). Feel free to leave comments and suggest alternative ways to do this. The MSC (matrix spec change) can be found here: https://github.com/matrix-org/matrix-doc/issues/1256
One of the challenges I see with custom emoji is that not all phones/mobile devices/etc will necessarily be able to display them inherently, as that would go outside of unicode. So, this would be uniquely tied to Riot.
Mind you, I don't want to shoot this idea down, I just want to point out that emoji are primarily made possible due to unicode standardisation of them.
2 years have gone...
Work is being done per MSC1951 -- I'm not involved, just passing along the info.
This doesn't need an old-composer label
Nothing to add other than this is the main feature my users are requesting. I think stickers are not so valuable, but custom emojis dominate discord. They are used for polls, calendars, sign ups, and more. A very important feature.
There are many custom emotes that have become part of my daily vernacular on Discord, and it's often jarring when I can't use them in Matrix. For instance, there are often moments in conversation where it is appropriate to dab. On Discord, I select one out of a dozen or so custom dab emotes and react to a message with it. In Matrix, all I can do is send a message with the text dab
. This works, but it has a very different feel and effect on the flow of conversation.
In my circles, at least, custom emotes have become an integral part of the way online communication happens. Language is constantly evolving, and I think it's important for any chat app to stay on top of that evolution; to enable, not hinder, the way its users communicate.
fwiw I kind of circumvented this limitation by posting a tiny PNG (~100x100) on a test room, get the JSON source of that message, grab the media URL and script a bot with a "bang shortcut" (example !hey
) to post that media item again. Invite the bot and tell it to post that PNG for you.
pros: done in 2 hours. fine for a very limited set of custom emoji. cons: ugly. a lot of messages from a bot. separate messages to express the emoji, renders bad on mobile element.io android client
This is the number 1 thing keeping Element feeling like a second-class chat client for me. Custom emoji are a big part of community culture on places like Discord, Slack, and Mastodon, and missing them makes it feel less like a place where friends hang out and more like a last-ditch communication channel.
It's especially disheartening to not see this anywhere on the roadmap considering how long it's been open. I realize FTUE is a huge deal, and stuff like that and the community redesign are probably taking priority, but it would be nice to see this somewhere on the roadmap. Attracting users and communities will only go so far if you can't retain them, and I feel like this would go a long way towards improving the element community experience that will keep people using the platform.
I don't want to sound whiny but honestly I am pretty disappointed the dev team have dragged their feet on this request. It is something that is a staple in online communication platforms right now that are widely used. Discord, Mastodon, Slack, Telegrams much better sticker implementation.
I am unable to run Riot and Matrix as a protocol as a daily driver because actually being able to express myself on other platforms to my friends is much more free-ing. Of course I hate using non-FOSS applications for this (excl Masto). I would be able to convince so many friends to use Riot with this simple feature added. If you want to actually gain users from places like Discord you have to offer feature parity as well, not just better security.
I've seen chatter about other clients but if someone is running a more IRC like client for Matrix, this feature is not for them. Same with the stickers inclusion though, it is a mostly graphical implementation that has to load a remote-ish image. This could also be circumvented by the emojis themselves being hosted on HS's. If stickers are included in the default experience, I see no reason not to add this feature. They are almost one in the same in terms of backend and how they are presented to the user.
@Roxxers, one does not simply implement custom emoji. It has to be defined in the spec and then implemented. The spec is still being discussed in MSC 1951.
@Roxxers, one does not simply implement custom emoji. It has to be defined in the spec and then implemented. The spec is still being discussed in MSC 1951.
I was going to add this to my comment, since I know it does need to be in the spec. But most of my comment still applies to that. It's not been discussed in many months, its been open for 1 and a half years. Its still dragging its feet. It has issues both for the spec and the web client implementation, yet is not on any roadmaps? No one seems to want to comment on these issues in months? Everyone I've talked to in my communities wants this feature yet no work seems to actually be going into including it into the spec. Yes its anecdotal but it's not like people are doing empirical polls on how much people want this feature for me to cite.
@Roxxers, one does not simply implement custom emoji. It has to be defined in the spec and then implemented. The spec is still being discussed in MSC 1951.
I was going to add this to my comment, since I know it does need to be in the spec. But most of my comment still applies to that. It's not been discussed in many months, its been open for 1 and a half years. Its still dragging its feet. It has issues both for the spec and the web client implementation, yet is not on any roadmaps? No one seems to want to comment on these issues in months? Everyone I've talked to in my communities wants this feature yet no work seems to actually be going into including it into the spec. Yes its anecdotal but it's not like people are doing empirical polls on how much people want this feature for me to cite.
if you're impatient, fluffychat and perhaps other clients already support this, you can just direct those people who don't want to wait to use them.
Any further updates on this? Would love to be able to make private rooms and communities feel more like personalised spaces.
bump
This is blocked on https://github.com/matrix-org/matrix-doc/pull/1951 or similar MSC coming out given you wouldn't want such emoji only to work on Element Web
There was recent official confirmation of this feature, with the funding round news :D
From the Matrix blog:
[...] lots of little long-overdue fun bits and pieces (yes, custom emoji, we're looking at you).
From the Element blog
[...] adding the remaining core missing features: spaces, threading, pinned messages, starred messages, custom emoji and more.
Seems like we're finally getting them!
It's also on the public roadmap: https://github.com/vector-im/roadmap/projects/1#column-11563336
It's in Later (rn), which means it's quite a bit off.
I'm excited to see this is on the public roadmap. I'm sure developers have bigger fish to fry in terms of the roadmap, but this thread was created over 5 years ago. Hoping to hear updates soon!
As a workaround until this gets implemented, I have developed a browser extension for me and my friends. It replaces the original emoji suggestions while typing with custom emote suggestions.
From a technical point of view, it behaves similar to Twitch emote extensions like BetterTTV or FrankerFaceZ, inserting emotes by replacing message text with images and requiring an additional application to serve the emotes.
Previously, we had patched in custom emote support directly in matrix-react-sdk (which worked similarly, albeit using React's APIs, and also used the same emote server), but keeping it up to date with upstream proved to be too time-intensive (and we often ran into build issues), so we were looking for a simpler solution that would require little maintenance and this one seems to work just fine for our needs.
It was mentioned that this goal is on the public roadmap, but I'm not clear on where that is or what status it's in... I see a project associated with this repo that seems to indicate product feature status etc but no mention of this issue. Am I looking in the wrong place? EDIT: nevermind, i see it linked in a previous comment.
This continues to be the top request/complaint from my userbase after using Element/Matrix for going on two years now. I'm particularly interested in whether the planned implementation will include the ability to use the custom emoji as reactions and room topics, as most implementations in other clients do not and only support the custom emoji in message body text. I assume that it's just a matter of making these fields intelligent enough to render <data-mx-emote>
objects as properly sized images, but I notice that the topic is absent in most of these conversations and issues, and even some github issues that have been opened specifically for this purpose have been closed as duplicates of this one without acknowledging that it isn't included in this description at all.
My users go so far as to complain that other features and announcements which do not interest them and they do not use (like element-call, widgets, etc) seem to get higher development priority and this long-requested feature languishes. I recognize this is likely due to the demands of top-paying customers that Element likely has contracts with, but the general sentiment is that custom emojis are a major usability feature that every other "chat" platform has had for several years now, and Element seems uninterested in those kinds of usability enhancements for regular users.
Even GitHub has custom emojis! It's time for Element to get 'em too! :godmode:
Feature
Added basic custom emote functionality including gif emote support to rooms. Currently, custom emotes can only be added by typing the shortcode surrounded by colons in the message composer. All changes are to the matrix-react-sdk in my fork below. https://github.com/nmscode/matrix-react-sdk
Release: https://github.com/nmscode/matrix-react-sdk/releases/tag/v1.0.0 also hosted on https://emotes.operation.chat
TODOs:
- [x] Autocomplete custom emote shortcodes
- [x] Emojipicker
- [ ] Support for custom emotes in message reactions
- [x] The emotes are stored in the room settings unencrypted, but encryption could be added.
Screenshots
Quick update: I added very basic custom emote rendering on the android element client. It could use a lot of work but will show the custom emotes that are uploaded using the web client. https://github.com/nmscode/element-android
Release/APK: https://github.com/nmscode/element-android/releases