Nested inline code, emoji and mentions disappear inside bold, italic and strikethrough
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 75/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- javascript
- Domaine
- frontend
Piste de recherche
Commence dans le paquet markups à BoldSpan.js, ItalicSpan.js et StrikeSpan.js ; lis comment chacun mappe les types d’enfants AST et où il renvoie null pour les enfants non gérés. Reproduis avec la sortie du parser pour *run yarn build first*, puis ajoute les cas manquants INLINE_CODE, EMOJI et MENTION, ainsi que les horodatages dans StrikeSpan.js, avec des tests de régression. Terminé signifie que le contenu imbriqué est rendu et que les tests de markup existants passent ; les liens à l’intérieur de italic/strikethrough et les crashes de nested-emphasis sont hors périmètre.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description
Nested inline code, emoji and mentions are silently dropped by the markup renderer inside bold, italic and strikethrough.
For example, this message:
*run `yarn build` first*
renders as "run first", with the inline code missing.
Steps to reproduce
- Use EmbeddedChat develop at commit 1cb7bb38.
- Parse the example above using @rocket.chat/message-parser 0.31.29.
- Render the resulting AST through the markups package.
- Observe that the parser includes an INLINE_CODE child inside BOLD, but the rendered output drops it.
I also reproduced missing inline code, emoji and mentions inside italic and strikethrough using a local rendering harness.
Expected behaviour
Supported nested inline content should remain visible inside the formatting wrapper.
Environment
- EmbeddedChat: develop at 1cb7bb38
- Node.js: 24.0.0
- Yarn: 3.6.4
- @rocket.chat/message-parser: 0.31.29
Additional context
BoldSpan.js, ItalicSpan.js and StrikeSpan.js return null for child types they do not explicitly handle.
I have a local fix with regression tests for inline code, emoji and mentions inside these wrappers, plus timestamps inside strikethrough. Links inside italic/strikethrough and the pre-existing CommonJS nested-emphasis crashes remain outside this fix.
Related PRs #1044 and #1139 overlap with some files but address different behaviour.
Verification so far uses local package rendering, not a live Rocket.Chat server or the real chat UI.
Is this a fix you'd welcome a PR for?
- Langage dominant
- JavaScript
- Étoiles
- 170
- Forks
- 397
- Merge moyen
- 12 j 14 h
- PR mergées (30 j)
- 6
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de RocketChat/EmbeddedChat
-
docs: README says Node 22 is required, but .nvmrc pins v24 and preinstall enforces itPeut-être pris @Veerpratapgupta l’a pris il y a 29 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
RocketChat/EmbeddedChat#1377 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
test: isMessageSequential in layout_editor has no coveragePeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
RocketChat/EmbeddedChat#1373 ·
Les mainteneurs répondent en général sous 1 jour
-
Permissions change-detection in useFetchChatData is dead — applyPermissions re-runs on every callPeut-être pris @yash113gadia l’a pris il y a 166 jours. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
RocketChat/EmbeddedChat#1317 ·
Les mainteneurs répondent en général sous 1 jour
-
Only the last emoji shortname in a message is converted to unicodePeut-être pris @yash113gadia l’a pris il y a 166 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
RocketChat/EmbeddedChat#1315 ·
Les mainteneurs répondent en général sous 1 jour
-
bug: "Last login" shows ambiguous weekday with no date for logins older than todayPeut-être pris @yash113gadia l’a pris il y a 167 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
RocketChat/EmbeddedChat#1313 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de RocketChat/EmbeddedChat
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Bug: Table layout and date column are cut off on mobile screens on the Tournaments -> History pageOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
hexlet-codebattle/codebattle#2375 ·
-
intake mcp-intake needs-human-review priority:high
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Ikalus1988/MisakaNet#5041 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
nicobailon/pi-web-access#682 ·
Les mainteneurs répondent en général sous 1 jour
-
nip27: long hashtag swallows the rest of the content, lone # gives an empty hashtagPeut-être pris @bardrop l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
nbd-wtf/nostr-tools#578 ·