Los nombres de las publicaciones en la tarjeta de usuario: userModel.custom_fields no funcionan después de responder/editar

Creo que esto podría ser un error en Discourse, pero no estoy seguro. Quizás estoy haciendo algo mal.

Tengo un plugin que añade información al conector user-card-post-names.

Handlebars:

Javascript:

Eso a su vez llama a este Javascript que hace la mayor parte del trabajo:

Detalles del problema:

Dentro del código JS anterior están estas dos líneas:

var version = userModel.custom_fields && userModel.custom_fields["directoryopus_link_version"];
var edition = userModel.custom_fields && userModel.custom_fields["directoryopus_link_edition"];

Luego hace una prueba if (version || edition) { ... y genera algunas cadenas (opusLinkClass, opusLinkIcon, opusLinkText) dependiendo del resultado, que luego almacena:

component.set("opusLinkClass", opusLinkClass);
component.set("opusLinkIcon", opusLinkIcon);
component.set("opusLinkText", opusLinkText);

Esas cadenas se utilizan luego en el archivo handlebars al principio de esta publicación.

Nunca hay errores ni advertencias en la ventana de registro del navegador, pero a veces esto sale mal.

Estoy probando con una cuenta que tiene ambos custom_fields establecidos, por lo que la prueba if (version || edition) siempre debería ir por la primera rama, no por la else if (!viewingStaff) debajo de ella.

Sin embargo, a veces va por la segunda rama, lo que significa que version y edition no se establecieron.

Esto no suele suceder, por eso creo que podría ser un error en Discourse.

Parece que solo sale mal si creo un nuevo hilo y luego respondo a él, o si edito una respuesta que acabo de hacer. Es como si el objeto userModel no se inicializara correctamente cuando se ejecuta el conector en algunas situaciones, ¿quizás debido a una condición de carrera en algún lugar?

Parece que solo sale mal una vez por hilo. Si actualizo la página con F5, todo vuelve a estar bien y sigue estando bien para ese hilo. (Al menos hasta donde puedo decir. Parece semi-aleatorio, así que es posible que simplemente no lo haya vuelto a ver suceder para el mismo hilo).

Gracias por su tiempo y cualquier sugerencia.