Nested inline code, emoji and mentions disappear inside bold, italic and strikethrough
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 75/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
- Área
- frontend
Línea de trabajo
Empieza en el paquete markups en BoldSpan.js, ItalicSpan.js y StrikeSpan.js; lee cómo cada uno mapea los tipos de hijos del AST y dónde devuelve null para hijos no manejados. Reproduce con la salida del parser para *run yarn build first*, luego añade los casos faltantes de INLINE_CODE, EMOJI y MENTION, más marcas de tiempo en StrikeSpan.js, con pruebas de regresión. Hecho significa que el contenido anidado se renderiza y que las pruebas de markup existentes pasan; los enlaces dentro de italic/strikethrough y los fallos de emphasis anidado están fuera del alcance.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- JavaScript
- Estrellas
- 170
- Forks
- 397
- Merge medio
- 12 d 14 h
- PR fusionados (30 d)
- 6
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de RocketChat/EmbeddedChat
-
docs: README says Node 22 is required, but .nvmrc pins v24 and preinstall enforces itPosiblemente ocupada @Veerpratapgupta la tomó hace 29 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
RocketChat/EmbeddedChat#1377 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
test: isMessageSequential in layout_editor has no coverageQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
RocketChat/EmbeddedChat#1373 ·
Los mantenedores suelen responder en 1 día
-
Permissions change-detection in useFetchChatData is dead — applyPermissions re-runs on every callPosiblemente ocupada @yash113gadia la tomó hace 166 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
RocketChat/EmbeddedChat#1317 ·
Los mantenedores suelen responder en 1 día
-
Only the last emoji shortname in a message is converted to unicodePosiblemente ocupada @yash113gadia la tomó hace 166 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
RocketChat/EmbeddedChat#1315 ·
Los mantenedores suelen responder en 1 día
-
bug: "Last login" shows ambiguous weekday with no date for logins older than todayPosiblemente ocupada @yash113gadia la tomó hace 167 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
RocketChat/EmbeddedChat#1313 ·
Los mantenedores suelen responder en 1 día
Todos los issues de RocketChat/EmbeddedChat
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Bug: Table layout and date column are cut off on mobile screens on the Tournaments -> History pageAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
hexlet-codebattle/codebattle#2375 ·
-
intake mcp-intake needs-human-review priority:high
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Ikalus1988/MisakaNet#5041 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
nicobailon/pi-web-access#682 ·
Los mantenedores suelen responder en 1 día
-
nip27: long hashtag swallows the rest of the content, lone # gives an empty hashtagPosiblemente ocupada @bardrop la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
nbd-wtf/nostr-tools#578 ·