Consigo reproduzir um conflito de rascunho no meta.discourse.org ao criar dois rascunhos de novos tópicos usando o atalho de teclado nativo c enquanto visualizo um tópico existente.
Passos para reproduzir
- Abra um tópico público existente.
- Pressione
cpara criar um novo tópico. - Insira um título e um corpo de mensagem.
- Aguarde o rascunho ser salvo e, em seguida, clique no botão Salvar e fechar (X) do compositor.
- Ainda visualizando um tópico existente, pressione
cnovamente para criar outro novo tópico. - Insira um título diferente.
- Pressione Tab para mover do campo de título para o corpo da mensagem e aguarde o salvamento automático.
Ambos os compositores de novos tópicos devem ser abertos enquanto se visualiza um tópico existente para a reprodução que confirmei no Meta.
Resultado atual
Aparece um aviso dizendo que o rascunho está sendo editado em outra janela e pedindo para recarregar a página.
Isso acontece sem editar o rascunho em outra janela.
No meu próprio site, a solicitação de salvamento automático falha para /drafts.json e retorna HTTP 409.
Resultado esperado
O segundo novo tópico deve receber seu próprio rascunho, preservando o primeiro rascunho salvo sem conflito.
Onde reproduzi
- No meta.discourse.org, seguindo os passos acima.
- No meu próprio site em Modo Seguro, com temas e todas as personalizações de plugins do lado do cliente desativadas.
- Meu site executa o Discourse
2026.10.0-latest, commitb28f2a44c.
Possível causa
A inspeção do código sugere que o fallback em KeyboardShortcuts#createTopic ainda usa a chave fixa Composer.NEW_TOPIC_KEY (new_topic) e não fornece um draftSequence:
Por comparação, composer.openNewTopic() gera uma chave de rascunho única.
Na reprodução capturada no meu site, o primeiro rascunho foi salvo sob new_topic e atingiu a sequência 1. O segundo compositor tentou salvar sob a mesma chave sem uma sequência, resultando em HTTP 409 e no aviso.
Este fallback poderia usar composer.openNewTopic() para que cada novo tópico receba um rascunho separado?
Atenciosamente,
Prof. Caju