Nested inline code, emoji and mentions disappear inside bold, italic and strikethrough
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 75/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript
- Domínio
- frontend
Direção de pesquisa
Comece no pacote markups em BoldSpan.js, ItalicSpan.js e StrikeSpan.js; leia como cada um mapeia os tipos de filhos da AST e onde retorna null para filhos não tratados. Reproduza com a saída do parser para *run yarn build first*, depois adicione os casos ausentes de INLINE_CODE, EMOJI e MENTION, além de timestamps em StrikeSpan.js, com testes de regressão. Pronto significa que o conteúdo aninhado é renderizado e que os testes de markup existentes passam; links dentro de italic/strikethrough e crashes de nested-emphasis estão fora do escopo.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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?
- Linguagem predominante
- JavaScript
- Estrelas
- 170
- Forks
- 397
- Merge médio
- 12d 14h
- PRs com merge (30d)
- 6
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de RocketChat/EmbeddedChat
-
docs: README says Node 22 is required, but .nvmrc pins v24 and preinstall enforces itTalvez já em andamento @Veerpratapgupta assumiu há 29 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
RocketChat/EmbeddedChat#1377 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
test: isMessageSequential in layout_editor has no coverageTalvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
RocketChat/EmbeddedChat#1373 ·
Mantenedores costumam responder em até 1 dia
-
Permissions change-detection in useFetchChatData is dead — applyPermissions re-runs on every callTalvez já em andamento @yash113gadia assumiu há 166 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
RocketChat/EmbeddedChat#1317 ·
Mantenedores costumam responder em até 1 dia
-
Only the last emoji shortname in a message is converted to unicodeTalvez já em andamento @yash113gadia assumiu há 166 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
RocketChat/EmbeddedChat#1315 ·
Mantenedores costumam responder em até 1 dia
-
bug: "Last login" shows ambiguous weekday with no date for logins older than todayTalvez já em andamento @yash113gadia assumiu há 167 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
RocketChat/EmbeddedChat#1313 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de RocketChat/EmbeddedChat
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Bug: Table layout and date column are cut off on mobile screens on the Tournaments -> History pageAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
hexlet-codebattle/codebattle#2375 ·
-
intake mcp-intake needs-human-review priority:high
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Ikalus1988/MisakaNet#5041 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
nicobailon/pi-web-access#682 ·
Mantenedores costumam responder em até 1 dia
-
nip27: long hashtag swallows the rest of the content, lone # gives an empty hashtagTalvez já em andamento @bardrop assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
nbd-wtf/nostr-tools#578 ·