Cannot get emojis to work
-
@majr it looks like you aren't on the latest version of the plugins. Try this:
npm install nodebb-plugin-emoji@latest nodebb-plugin-emoji-android@latest ./nodebb stop ./nodebb activate emoji ./nodebb activate emoji-android ./nodebb build ./nodebb start
You should not see the
require a peer of nodebb-plugin-emoji@^2.0.0
warning or theambiguous inner begin
warning. Regardless, these are warnings that you can usually ignore. They're meant for plugin devs, not for users. Also in the future, please share the whole error, not one randomly cut off.Then Build Emoji Assets from the plugin page, wait 30sec, and do this:
./nodebb stop ./nodebb build ./nodebb start
-
-
@omega can you share more information? Like a screenshot of your console showing all of the errors?
Or even give me a link to your site so I can investigate.
-
@pitaj Solved!
You think I would have configured this right... the refresh was the clue... I forgot to set the
http
tohttps
in the config.json file... thanks for pointer to look in the browser console! It was easier to observe the flip fromhttp
tohttps
when refreshing. -
Hello, thank you for all your help but it made no difference. I did it exactly as you explained.
I have one error in the console of the browser. Transplated in English
the android plugin says:
"Failed to load resource: The request timed out". That would be a little bit strange.I wonder why. Is my server too slow to show emojis? I am using nginx.
-
@majr please provide the full error. Include what resource it says timed out.
Do you have any errors in the server log?
Is your site public? I'd like to see what's going on.
-
-
@majr please check the url value in your
config.json
. It appears that you left the:4567
port at the end, while your site is not publicly at that port. The url value inconfig.json
should be set to exactly the URL at which you access your site:https://forum.eltern-team-up.de
-
Hello!
Sorry to intrude, but I have an issue with emojis too.
I can't get them to work since I tried adding new ones since my latest nodebb upgrade.I'm on nodebb v1.16.2
node v14.16.0I've had them working in the past without any issue.
Since I've updated to v1.16.2 everything was working fine then I tried adding some new emojis and from there the issue started.Once I added emojis as usual, I had this error
Failed to load emoji metadata
on the frontend and the backend.
I tried the 'Build Emoji Asset' button and a new errorCannot read property forEach of undefined
showed up.I had the latest
nodebb-plugin-emoji
plugin and thenodebb-plugin-emoji-android
activated.I did a
./nodebb build
and everything went fine but the issues were still there.I tried deactivating the plugins, deleting them and installing them again but the issue is still there.
I deleted the
nodebb-plugin-emoji-android
and tried thenodebb-plugin-emoji-apple
since the last one shows to be v1.16.2 compatible but nothing new happened here.When I run a
./nodebb log
I get this:error: [emoji] Failed to retrieve data for parse ENOENT: no such file or directory, open '/var/www/nodebb/node_modules/nodebb-plugin-emoji/build/emoji/table.json' {"errno":-2,"code":"ENOENT","syscall":"open","path":"/var/www/nodebb/node_modules/nodebb-plugin-emoji/build/emoji/table.json","stack":"Error: ENOENT: no such file or directory, open '/var/www/nodebb/node_modules/nodebb-plugin-emoji/build/emoji/table.json'"}
So it seems that I'm missing a
table.json
file but I have no clue where to find it. -
@taloche if Build Emoji Assets isn't working there's something weird going on. Do you have any custom emoji or extensions?
The issues your described are all related.
table.json
is the emoji metadata, it's produced when you build emoji assets. So the failure to build is causing the other issues.What version of those plugins are you on?
-
@pitaj hi! Thanks for the reply on a Saturday.
No custom emoji or plugin installed.
nodebb-plugin-emoji : 3.5.0-0
nodebb-plugin-emoji-apple : 2.0.5
I only had personal emojis added through the
nodebb-plugin-emoji
plugin with the pencil button.Other plugins installed, all up-to-date
nodebb-plugin-browsing-users
nodebb-plugin-custom-pages
nodebb-plugin-dbsearch
nodebb-plugin-composer-default
nodebb-plugin-embed
nodebb-plugin-featured-topics-extended
nodebb-plugin-imgur
nodebb-plugin-markdown
nodebb-plugin-mentions
nodebb-plugin-poll
nodebb-plugin-tenor-gif -
@taloche what database are you on?
-
@taloche alright can you give me the output of the following, executed in the mongo shell:
mongo > use <your nodebb database name> > db.objects.find({ _key:'emoji:customizations:emojis' }) > db.objects.find({ _key:'emoji:customizations:adjuncts' })
-
@pitaj said in Cannot get emojis to work:
db.objects.find({ _key:'emoji:customizations:emojis' })
{ "_id" : ObjectId("603a50a7a1600fa8ea4ebcb9"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"zlatan\",\"image\":\"78682101-8e02-479f-b9aa-254c05ec81b0-zlatan.gif\"}", "score" : 4107924063 } { "_id" : ObjectId("5f6f10a73bac327071ff4b98"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"volet\",\"image\":\"aa0b81cb-93af-4392-9c3a-11089e8773a7-volet.gif\",\"aliases\":[\"volet\"],\"ascii\":[\":volet:\"]}", "score" : 183096193 } { "_id" : ObjectId("603a51c3a1600fa8ea4ebe92"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"volet\",\"image\":\"69eb706a-4bce-4e92-9f59-49187bb3058c-volet.gif\"}", "score" : 4107924065 } { "_id" : ObjectId("5f6f0ed83bac327071ff478d"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"travolta\",\"image\":\"f1f1b840-d747-49ca-9915-6bfee7be9274-ezgif.com-resize(1).gif\",\"aliases\":[\"travolta\"],\"ascii\":[\":travolta:\"]}", "score" : 2013979170 } { "_id" : ObjectId("5ba8b070fba89e16361c51ce"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"tap\",\"image\":\"c7d9ce19-5479-4144-9eb8-c5762cb11d29-taptap.gif\",\"aliases\":[\"tap\"],\"ascii\":[\":tap:\"]}", "score" : 193426144 } { "_id" : ObjectId("5ba82060fba89e16361c50d5"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"sweat\",\"image\":\"89c94d76-333a-4cdd-bb73-71eb42792bcf-sweat.gif\",\"aliases\":[\"sweat\"],\"ascii\":[\":sweat:\"]}", "score" : 182959441 } { "_id" : ObjectId("5ba8b056fba89e16361c51cd"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"shit\",\"image\":\"a0f68a7c-ad32-41fe-b975-2c000f8f1d3d-shit.gif\",\"aliases\":[\"shit\"],\"ascii\":[\":shit:\"]}", "score" : 2087960707 } { "_id" : ObjectId("5ba8b040fba89e16361c51cc"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"score\",\"image\":\"9c4c85c6-835c-4932-aba5-e239ad432af8-score.gif\",\"aliases\":[\"score\"],\"ascii\":[\":score:\"]}", "score" : 165577581 } { "_id" : ObjectId("5ba820a8fba89e16361c50da"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"roll\",\"image\":\"e11c2a80-4b2d-4992-b861-17f9fe31a48b-roll.gif\",\"aliases\":[\"roll\"],\"ascii\":[\":roll:\"]}", "score" : 2087659768 } { "_id" : ObjectId("5ba8ab38fba89e16361c519f"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"rambo\",\"image\":\"569b3ce0-0246-4268-9563-ef8b26569ac5-rambo.gif\",\"aliases\":[\"rambo\"],\"ascii\":[\":rambo:\"]}", "score" : 181302582 } { "_id" : ObjectId("5ba8aff3fba89e16361c51cb"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"ragix\",\"image\":\"a607eb30-7eb4-4735-8cc8-9f685a158a28-ragix.gif\",\"aliases\":[\"ragix\"],\"ascii\":[\":ragix:\"]}", "score" : 196892672 } { "_id" : ObjectId("5ba8afd1fba89e16361c51ca"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"quoi\",\"image\":\"725413ba-e3d8-444b-8ab2-ce8625f77fca-quoi.gif\",\"aliases\":[\"quoi\"],\"ascii\":[\":quoi:\"]}", "score" : 2087834311 } { "_id" : ObjectId("5ba8afb3fba89e16361c51c9"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"prince\",\"image\":\"69ef238a-1c85-4fd8-81d0-eecb4f9f1d4a-prince.gif\",\"aliases\":[\"prince\"],\"ascii\":[\":prince:\"]}", "score" : 1158221606 } { "_id" : ObjectId("5ba8af8dfba89e16361c51c8"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"prefet\",\"image\":\"bb17e2b1-35ee-4453-8db9-9af89a998cae-prefet.gif\",\"aliases\":[\"prefet\"],\"ascii\":[\":prefet:\"]}", "score" : 1747141653 } { "_id" : ObjectId("5bd8d37efba89e16361c8ffa"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"poppop\",\"image\":\"81981a9f-0fc2-4e70-8710-6dc8b6242538-poppop.gif\",\"aliases\":[\"poppop\"],\"ascii\":[\":poppop:\"]}", "score" : 1900822949 } { "_id" : ObjectId("5ba8af70fba89e16361c51c7"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"police\",\"image\":\"f3715bf2-0e15-405e-b926-57512bad6dca-police.gif\",\"aliases\":[\"police\"],\"ascii\":[\":police:\"]}", "score" : 1158055545 } { "_id" : ObjectId("5ba8af56fba89e16361c51c6"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"passe\",\"image\":\"2652e883-9dd5-4d97-aeb6-29b2234f312d-passe.gif\",\"aliases\":[\"passe\"],\"ascii\":[\":passe:\"]}", "score" : 165785681 } { "_id" : ObjectId("5fbcd71e269ac9fb20789ebb"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"paf\",\"image\":\"c9d73d5d-7698-4998-bc97-e73903d5f842-paf.gif\",\"aliases\":[\"paf\"],\"ascii\":[\":paf:\"]}", "score" : 193410802 } { "_id" : ObjectId("5f6f0c3f3bac327071ff417e"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"oo\",\"image\":\"f34d71cc-7f29-45a4-808e-64d33b496616-OO.gif\",\"aliases\":[\"oo\"],\"ascii\":[\":oo:\"]}", "score" : 5861221 } { "_id" : ObjectId("5ba8af35fba89e16361c51c5"), "_key" : "emoji:customizations:emojis", "value" : "{\"name\":\"okay\",\"image\":\"d0771315-c0fa-4849-8620-51977faa691d-okay.gif\",\"aliases\":[\"okay\"],\"ascii\":[\":okay:\"]}", "score" : 2088415001 } Type "it" for more
db.objects.find({ _key:'emoji:customizations:adjuncts' })
Works but doesn't return anything.
-
@taloche running the following mongo command will rename the set
emoji:customizations:emojis
toemoji:customizations:emojis:bkp
, to essentially make it act as if you deleted the prior.db.objects.update({ _key:'emoji:customizations:emojis' }, { $set: { _key: 'emoji:customizations:emojis:bkp' } }, { multi: true })
Try running that then building emoji assets.
-
@pitaj said in Cannot get emojis to work:
db.objects.update({ _key:'emoji:customizations:emojis' }, { $set: { _key: 'emoji:customizations:emojis:bkp' } }, { multi: true })
Thanks a lot @PitaJ.
As promised the "Build Emoji Asset" works again.I tried playing around with it again and managed to get the errors back again.
It seems that if you by accident hit the "check" at the end of the line before putting the "ASCII patterns" it messes up the line and the errors are back.But after a fresh install of everything I can't reproduce these errors.
Thanks again!
EDIT: it seems that if you leave a character in an empty line added by mistake at the end, for example, the errors are back if you save then build.
-
@taloche I'm having trouble understanding what you mean. Could you give an example? I'd like to implement a validation step to prevent that if possible.
-
@pitaj sorry!
For instance, on a first line, you enter a name, then upload an gif, then type the alias, hit the '+' button to validate the alias, then you type the ASCII Pattern but there instead of hitting the '+' button to validate the ASCII Pattern, you hit the Green check button at the end of the line, your ASCII Pattern is moved to a new (empty) line.
So this
Gives you this
And if you save and build this by mistake because, like me, you're not paying too much attention, you get the errors I got.
I hope you appreciate the artistic efforts to illustrate the issue.