El atajo «c» causa un conflicto de borrador al crear otro tema desde una página de tema

Puedo reproducir un conflicto de borrador en meta.discourse.org al crear dos borradores de temas nuevos usando el atajo de teclado nativo c mientras se visualiza un tema existente.

Pasos para reproducir

  1. Abrir un tema público existente.
  2. Presionar c para crear un nuevo tema.
  3. Ingresar un título y un cuerpo.
  4. Esperar a que el borrador se guarde y luego hacer clic en el botón Guardar y cerrar (X) del compositor.
  5. Mientras se sigue visualizando un tema existente, presionar c nuevamente para crear otro tema nuevo.
  6. Ingresar un título diferente.
  7. Presionar Tab para moverse del campo de título al cuerpo del mensaje y esperar el autoguardado.

Ambos compositores de temas nuevos deben abrirse mientras se visualiza un tema existente para la reproducción que confirmé en Meta.

Resultado actual

Aparece una advertencia que indica que el borrador se está editando en otra ventana y pide recargar la página.

Esto ocurre sin haber editado el borrador en otra ventana.

En mi propio sitio, la solicitud de autoguardado fallida a /drafts.json devuelve HTTP 409.

Resultado esperado

El segundo tema nuevo debería obtener su propio borrador, preservando el primer borrador guardado sin un conflicto.

Dónde lo reproduje

  • En meta.discourse.org, siguiendo los pasos anteriores.
  • En mi propio sitio en Modo Seguro, con temas y todas las personalizaciones de plugins del lado del cliente deshabilitadas.
  • Mi sitio ejecuta Discourse 2026.10.0-latest, commit b28f2a44c.

Posible causa

La inspección del código sugiere que la solución alternativa en KeyboardShortcuts#createTopic aún utiliza la clave fija Composer.NEW_TOPIC_KEY (new_topic) y no proporciona un draftSequence:

https://github.com/discourse/discourse/blob/ec4cea91ea81d926cedab5f0d61c9313f42aba24/frontend/discourse/app/services/keyboard-shortcuts.js#L565-L569

En comparación, composer.openNewTopic() genera una clave de borrador única.

En la reproducción capturada en mi sitio, el primer borrador se guardó bajo new_topic y alcanzó la secuencia 1. El segundo compositor intentó guardar bajo la misma clave sin una secuencia, lo que resultó en HTTP 409 y la advertencia.

¿Podría esta solución alternativa usar composer.openNewTopic() para que cada tema nuevo obtenga un borrador separado?

Saludos cordiales,
Prof. Caju