Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Erro de formatação no histórico de conversas

Estou fazendo a API adaptando para a biblioteca simple-openai que atualmente é a listada pela OpenAI para Java (além da beta que estão desenvolvendo de forma oficial) porém percebi que ao recarregar a página a formatação do texto volta para markdown e não vai para HTML como é após obter uma resposta.

Ao que parece, é algo do thymeleaf porém é um comportamento que eu gostaria de corrigir na minha versão, mantendo a formatação da resposta porém minhas tentativas não obtiveram resultado (as melhores tentativas foram a formatação correta porém fora do bloco de chat e usar replace para trocar por html porém não ficou parecido). Há alguma forma de contornar este problema ou forçar o thymeleaf a corrigir?

A primeira tentativa que acertei na formatação foi utilizando commonmark e a segunda foi apenas através de replace. Tentei também mudanças no HTML e .js mas sem muito sucesso.

edit: fui atrás do marked e consegui fazer adicionando este trecho no começo do arquivo após as declarações de variável

function parseHistory() {
    const history = Array.from(document.querySelectorAll(".bubble__chat--bot:not(:first-child)"));
    history.forEach((message) => {
        const content = message.textContent;
        message.innerHTML = marked.parse(content);
    });
}

document.addEventListener("DOMContentLoaded", parseHistory);

É importante o uso da propriedade :not(:first-child) para evitar erros na primeira mensagem presente na aplicação

1 resposta
solução!

Olá, Adrian, como vai?

A solução que você encontrou utilizando o marked e a abordagem com :not(:first-child) foi muito bem pensada! Essa atenção aos detalhes, como evitar erros na primeira mensagem, mostra um cuidado importante com a lógica e o comportamento da aplicação.

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)