#64184 closed enhancement (fixed)
Update Twemoji to v17.0.x
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Milestone: | 6.9 | Priority: | normal |
| Severity: | normal | Version: | |
| Component: | Emoji | Keywords: | has-patch has-unit-tests commit |
| Focuses: | Cc: |
Description (last modified by )
Twemoji 17.0.0 and 17.0.1 has been released, adding support for Emoji 17.0.
This release introduces 8 new Emoji, and adds skin tone modifiers or gender-neutral variations for 3 pre-existing emoji.
Since Twemoji ensures that emoji characters are visible for everyone (even when their system does not have support for Unicode or Emoji 17.0), I propose including this in 6.9 despite being past the beta 1 deadline. If this is not included, visitors without support will see the invalid character icon instead.
Previously:
Attachments (1)
Change History (28)
This ticket was mentioned in PR #10454 on WordPress/wordpress-develop by @desrosj.
3 months ago
#2
- Keywords has-patch added
Trac ticket: Core-64184.
#3
@
3 months ago
#Meta8122 has been resolved. CDN updated.
#5
@
3 months ago
- Owner set to desrosj
- Resolution set to fixed
- Status changed from new to closed
In 61134:
#6
@
3 months ago
Accidentally left out @peterwilsoncc, who I conversed with about this update in Slack.
#7
@
3 months ago
- Resolution fixed deleted
- Status changed from closed to reopened
The test for the Hairy Creature will need to be swapped out for something else as there is a slight risk it will have an empty center point for the Noto font.
I've put together a bin using the Noto font with the new emoji.
- I've doubled all the numbers to try and make it a little clearer
- there's a green dot covering the center point.
- on the hairy creature, the dot is on a fairly thin line so differences in render may cause a false positive
- on the landslide, the dot is in the middle(ish) of a large blob so is more likely to be correct
See the following resources:
#8
@
3 months ago
It hasn't been tagged on GitHub yet but it looks like the Twemoji team are prepping to release 17.0.2 https://github.com/jdecked/twemoji/commit/388f518b756404152f128a3539f5e7f9a6f1ebd6
The prior commit is to optimise a large number of the SVG files included in the package so I think another update will be required once tagged.
#9
@
3 months ago
- Keywords commit removed
I commented on the commit above to confirm that 17.0.2 was intentionally published and the release/tag on GitHub were just missed.
Looking back at the repository's history, the tagging/creation of a release typically happens within a few hours of the "Publish X.Y.Z" commit. So I think it may have been missed this time.
After looking into the points from @peterwilsoncc above, it's clear that there could be some edge cases where support may note be properly detected with the Noto Emoji font.
Using the naming conventions of the font when retrieving the embed code and downloading the font, some basic searches of the plugin and theme directories shows a very minimal but non-zero amount of usage in the wild. Since the center point seems to be in a spot that potentially could be affected by how the character renders and that this is just a matter of selecting the emoji character from the most newest supported version of Emoji to determine the support status, changing the character seems fine.
But do I still very much prefer the approach of having every WordPress site checking every visitor's browser for the presence of Big Foot. I really thought this was the perfect trap to set in order to finally find them! 👀
#10
@
2 months ago
@dd32 A new version of Twemoji, 17.0.2, has been release since the update of the CDN. Are you able to update the CDN with the images from the release.
The new release contains optimized versions of the SVG images. As it's unlikely they've been primed on the CDN you may be able to update them in place. A few images will have been primed at some end points but I don't think it will be very many.
#11
follow-up:
↓ 26
@
2 months ago
@peterwilsoncc Updated on CDN. Once core is updated I'll likely just remove the 17.0.1 fileset, as they're only on trunk on a few days..
#12
@
2 months ago
It looks like some WP specific code got removed in r61134, which avoids overrides. Not sure if that was intentional, from trunk/src/js/_enqueues/vendor/twemoji.js
This caused an issue on the wp.org footer menu.
#13
@
2 months ago
@desrosj [61134] has removed the WordPress customizations to twemoji.js :(
Specifically, see the two WP Start's in https://core.trac.wordpress.org/changeset/61134#:~:text=309-,//%20WP%20start,-310 which apply our wp-exclude-emoji class.
(Whoops, Paul got to it first)
This ticket was mentioned in PR #10487 on WordPress/wordpress-develop by @desrosj.
2 months ago
#14
Trac ticket: Core-64184
#16
@
2 months ago
Thanks @dd32 and @paulkevan! And apologies for missing that. It should now be fixed in trunk 6.9 beta 4. @paulkevan is going to work on verifying on w.org.
I'm thinking about ways we can avoid this mistake in the future.
In [55186] the library was removed as an npm dependency in favor of maintaining the file manually because of the new WordPress-specific code that was added (and removed in [61134]). On the related ticket (#52219), there is discussion about possibly getting a more generalized version of this code merged into the Twemoji library. But unfortunately this was right around the time of the Twitter -> X transition and the library fell dormant until it was forked by the current maintainers.
Now that we have switched to using that well maintained fork, It may be worth suggesting that again.
In the mean time, we should be able to either add a GitHub Actions check/test assertion to confirm these modifications persist, or a step to the WordPress build script that inserts these modifications into the released version of twemoji.js when npm run build is run.
I'll explore a few ideas and open a ticket for this to follow up. Leaving this open in the mean time until beta 4 is released and it can be confirmed that the issue is fixed on w.org.
@desrosj commented on PR #10487:
2 months ago
#17
Merged in r61180.
#18
@
2 months ago
Looks to be working when I test the change - will wait until later to revert the code on wp.org.
This ticket was mentioned in PR #10492 on WordPress/wordpress-develop by @peterwilsoncc.
2 months ago
#19
- Keywords has-unit-tests added
- Updates the CDN endpoint, props @dd32
- Pulls the file list from the gh-pages branch, see https://github.com/jdecked/twemoji/issues/144
Trac ticket: https://core.trac.wordpress.org/ticket/64184
#20
@
2 months ago
I've created PR#10492 for updating the CDN to the new 17.0.2 endpoints.
This change also includes an change to the build script to pull the file list from Twemoji's gh-pages branch following the discussion in jdecked/twemoji#144.
#21
@
2 months ago
- Keywords commit added
In my testing, the new endpoint is being referenced correctly and is ready for commit.
#22
@
2 months ago
I've created #64222 to explore automating as much of the Twemoji upgrade process as possible in the future.
@peterwilsoncc commented on PR #10492:
2 months ago
#23
One other thought I had that I wanted to document: what if we maintain the tag search, but use the
gh-pagesone as a fallback when the tag is not available?
I don't think this is necessary, especially since the maintainer of the library has said that removing the reliance on the tag/release itself in GitHub is preferred.
I'm inclined not to given we've been told the deploys (which cover both npm and gh-pages) are more reliable that the tags.

Created #Meta8122 for deploying the new assets to the w.org CDN.