Ich verstehe, das behebt es:
diff --git a/frontend/discourse/app/modifiers/d-autocomplete.js b/frontend/discourse/app/modifiers/d-autocomplete.js
index e49fc0ec53..33fb51a1f4 100644
--- a/frontend/discourse/app/modifiers/d-autocomplete.js
+++ b/frontend/discourse/app/modifiers/d-autocomplete.js
@@ -599,10 +599,19 @@ export default class DAutocompleteModifier extends Modifier {
prev = this.getValue()[caretPos - 1];
const shouldTrigger = await this.shouldTrigger({ backSpace });
- if (
- shouldTrigger &&
- (prev === undefined || this.ALLOWED_LETTERS_REGEXP.test(prev))
- ) {
+ // Für Emoji-Autocomplete (key === ':') verwenden wir eine permissivere Prüfung, die gängige Satzzeichen wie Komma, Punkt usw. einschließt, die vor Emojis stehen können.
+ let isAllowed;
+ if (this.options.key === ":") {
+ // Übereinstimmung mit denselben Zeichen, die im onKeyUp-Regex des Emoji-Autocompletes zulässig sind
+ isAllowed =
+ prev === undefined || /[\\s.?,@/#!%\u0026*;:\\[\\]{}=\\-_()+]/.test(prev);
+ } else {
+ isAllowed =
+ prev === undefined || this.ALLOWED_LETTERS_REGEXP.test(prev);
+ }
+
+ if (shouldTrigger && isAllowed) {
start = caretPos;
term = this.getValue().substring(caretPos + 1, initialCaretPos);
end = caretPos + term.length;
@kelv Ich bin nicht sehr vertraut damit, wie sich dieser Code entwickelt hat, vielleicht kommt Ihnen etwas davon bekannt vor, was Sie kürzlich portiert haben?