No estoy seguro de si esto es un error o una característica, pero si el enlace new-topic incluye un parámetro category o category_id, al hacer clic en el enlace se te lleva a esa categoría antes de abrir el compositor. Por ejemplo, al hacer clic en este enlace se te lleva a la categoría Soporte antes de abrir el compositor:
Este cambio cancela la navegación si el usuario ya estaba en Discourse:
El código ha cambiado desde entonces y ahora se ve así:
El bloque if (category) { se ejecuta antes que el bloque que verifica si el usuario ya estaba en Discourse, por lo que la navegación continúa. A mí me parece que este orden es incorrecto.