[nodebb-plugin-emoji-extended] Emoji Extended
-
This could be solved also by enabling/disabling the mapping and taking the higher (less than skypes) priority that's possible, will take a look at
-
@julian said:
Are you using textcomplete? Please be advised that you should use the new functionality exposed here: https://github.com/yuku-t/jquery-textcomplete/issues/43
As far as I can see either he didn't fix the bug yet or the old verion of the mentions-plugin blocks the fix...
But it doesn't matter if there are mutiple wrappers as long as you don't append the same strategy multiple times.I solved this now as following:
$('body').on 'focus', '.composer .title, .composer .write', -> composer = $('.composer .write') return if composer.data 'emoji-extended-added' composer.data 'emoji-extended-added', 'true' [...]
So it's guaranteed that
[...]
gets called only once per composer. I need to decrease thefilter:scripts.get
-priority below mentions as long as the problem doesn't get fixed there -
Mentions should get the fix. I might take a look at it myself tomorrow.
The main thing I don't like is that both mentions and emoji-extended will be loaded an identical textcomplete library, but there's not much you can do about that, I think...
-
@frissdiegurke said:
As far as I can see either he didn't fix the bug yet or the old verion of the mentions-plugin blocks the fix...
Damn, my fault... wrong path => 404 ^^
Ok, new version is online. According to the spelling-mistake within my previous posts it's time to sleep zzz
A short question you may answer in the meantime: How can I set admin-configuration defaults? I'd like to have the 'Enable Mapping' config to be '1' by default and the appropriate checkbox should be checked.
Maybe a second question: How can I persist config-changes without restart the server? (If nobody answers this I neeed to lookup the markdown-plugin tomorrow...)
-
- You can use
Meta.configs.setOnEmpty
to set config values. Run that method for each value you'd like to set in a method that listens for theaction:plugin.activate
hook. That hook sends the plugin id. - If you're using
Settings.prepare
to save changes in the ACP, they automatically persist, no server restart required (though you'll have to ensure that your code is not caching the value inMeta.config
- You can use
-
@julian Thanks, implemented. works great :I_dont_know_the_text_for_thumbs_up_smiley_please_install_the_new_version_of_my_plugin:
-
@julian said:
LOL! Can you do it for regular emoji too? Much obliged
(p.s. Mentions plugins has been updated to use the new textcomplete version too)
Works great!
didn't test it with
:+1:
^^seems like encoded ULIs get filtered to 404 o_O I guess this needs to be fixed within core...
and one other issue with
:+1:
I'll need to fix is that the regex doesn't match any more after typing:+
With "regular emoji" you mean the plugin right? Not
:)
, etc. In the first case I'd say the plugin may be taken down and I could remove the 'extended', because the reason for two different plugins has been the mapping of common smileys that now can be removed via settings. In the second case I think it's a bit overheaded because the dropdown would to often. -
seems like encoded ULIs get filtered to 404 o_O I guess this needs to be fixed within core...
-
@frissdiegurke Take a look at this
autofill.js
:nodebb-plugin-mentions/static/autofill.js at df358c2924f7dc1417c29acc4c1df5dfe8749b3d · julianlam/nodebb-plugin-mentions
NodeBB Plugin that allows users to mention other users by prepending an '@' sign to their username - nodebb-plugin-mentions/static/autofill.js at df358c2924f7dc1417c29acc4c1df5dfe8749b3d · julianlam/nodebb-plugin-mentions
GitHub (github.com)
I'm listening for the client-side event
action:composer.loaded
, which is better than adding a new textcompleteonfocus
-
I'm thinking of bundling emoji-extended with all new NodeBB installs... :shipit:
Two issues however:
- Emoji autocomplete does not seem to work when editing a post (my post before this one might help with that)
- Typing
:
triggers autocomplete even at the end of words (perhaps it should check for a word boundary)- It also means autocomplete triggers when I am typing the end of another emoji:
:shipit: <-- autocomplete triggers
- It also means autocomplete triggers when I am typing the end of another emoji:
-
@julian First issue should be fixed already since I've used your solution like 10min after your post .
Second issue already noticed, will be fixed soon...(if there would be no 404 Error on this) to bundling
New issue figured out writing this post: some mappings (just some because of other reasons) need
\s|$
after key, so I can't write sth. like:P.
^^ -
Hey guys,
I'm testing this plugin. Sounds great but I can't make the suggestion scroll list appears like on this forum.
I'm having the default options: Max text-completion : 8 . Min text-completion : 0. Not overriding emoji-skype.
Any advice on this?
-
@tedr56
Any errors within js-console?
Does the textarea get wrapped by a div of classtextcomplete-wrapper
?
If so is it still there if no other plugin that create suggestions likenodebb-plugin-mentions
is enabled? -
@julian Yes, cleared, as aslways
@frissdiegurke nodebb-plugin-mentions disabled doesn't change anything.
textcomplete-wrapper
seems to be there : PasteBinFor Js errors, I couldn't tell. There is :
Connextion with ws://kos.ddns.info/socket.io/1/websocket/J4B98mfcQ2sf70yhY-OF has been interupted during page loading
from socket.io.js:2Using « Mutation Events » is obsolete. Use « MutationObserver » instead.
from nodebb.min.js(2)Using « getPreventDefault() » is obsolete. Use « defaultPrevented » instead.
from nodebb.min.js(2)When accessing composer :
An empty string has been transmited to « getElementById() »
coming from nodebb.min.js(1)Errors are translated. Appearing in french in my Firefox
-
I must say the emojis are parsed and decoded well.
Just the suggestions are not working.
-
Hahah @tedr56 That file is a "minified" version of all of the javascript files. We load perhaps 15-20 separate files (more if there are plugins, and emoji uses 1) normally, and we squish 'em all down into one tiny file in production mode.
Sometimes things go awry and the file doesn't get compiled properly, as seems to be the case here.