-
Notifications
You must be signed in to change notification settings - Fork 10.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[IMPROVE] Upgrade EmojiOne to JoyPixels 4.5.0 #13807
Conversation
This is a work in progress commit to update Rocket.Chat to use the latest release of EmojiOne (4.5.0). Current Issues: Need to generate percent sprites instead of using zoom and transforms Need to check and fix various things like emoji reactions, avatars, etc.
Added attribution text in 4aa6564 |
@wreiske this is awesome! @sampaiodiego do you think we can use the assets directly from the npm module or do we have to copy them to @rodrigok what do you think? |
@engelgabriel AFAIK there is no way to provide assets from npm packages, we always need to copy them to the public folder. |
I fixed reactions in a local copy, but I'm not going to push it because it is counterproductive. Once we generate the percentages for the sprites, it will fix itself. As for the assets, we could write a hook that copies the assets from the node modules to the public folder, or I could make an update_emojione.js that goes and pulls the latest sprites from their github. 🤔 Also: I'm noticing aliasing with the current sprite sheet since it's so big (64x) and being zoomed smaller. Are you against having different sized sprite sheets? This would resolve the need for percentage sprites, too. If we added all of their available sprite sheet sizes (24, 32, 40, 64) it would add (57.3 MB) to the release size. These emojis also include sprite@2x.png sizes for retina screens (looks really good on my mbp!) |
I guess we can use the SVG version? |
I agree, but maybe it is worth double checking? 😬 |
I'll send an email to Lisa and ask. |
Currently, we use a single sprite, right? I think that the two versions you have added could be enough, can you push your latest version so I can see on my mbp too? |
Pushed. This only has the 64 sprites in it. If you'd like, let me know the two sizes you would like and I'll get them committed. Once I push the other sprites, you'll have to make some code changes for them to display the different sizes. Change these in /app/emoji-emojione/lib/rocketchat.js
I reached out to Lisa about potentially using the SVG assets, it can't hurt! I'll let you know. |
Some things to consider about the SVG sprites...
|
@ggazzo I think we can merge this and get to OPEN so people can test this. |
… into wreiske-emoji-upgrades
…nto emoji-upgrades
alright.. this is now ready for merge!! please @ggazzo and/or @tassoevan (or any other @RocketChat/core ) help reviewing. thx a ton @wreiske |
Of course! Thank you for such an AWESOME open source project! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sampaiodiego, please apply some kind of image compression ;)
🎉 🚀 |
Reposting my comment from #13686 here in case somebody in this thread can answer:
If I host a Rocket.Chat instance, or create a package for it, under what conditions am I permitted to use the JoyPixels emoji? Presumably I can't redistribute them freely or modify them, but without any sort of license I can't know whether I'm allowed to use them at all! |
I have reached out to my contact on the Joypixels team for comment. I'll let you know her response. |
@alyssais |
@alyssais Just an update: I have connected Lisa from JoyPixels with
Gabriel. They are still working on drafting the agreement for
Rocket.Chat's use of JoyPixels. Their licensing department is a bit
backed-up, but they should have an amended user agreement to look at
next week sometime.
Guessing you never heard anything?
|
Actually, they responded to @engelgabriel I believe. Maybe we need to include the license here @engelgabriel ? |
This is READY TO MERGE!
For latest, see #13807 (comment)
Closes #13686
Still TODO
Notes
I modified the generateEmojiIndex script to automatically generate the emojiPicker.js file based off the emoji.json from emojione's github tagged 4.5.0.
Need to figure out how @sampaiodiego did the percentage mustache to allow resizing of the emojis without whitespace. zoom and transform: scale(x) do not work on all browsers (transform leaves whitespace)
Firefox:
Webkit:
I'm thinking about including the 64x sprites and the 32x or 24x... The inline message emojis would use the 24x sprites, while the emoji replies (no other text) would use the 64x sprites (or maybe a size smaller.)