Nomes de posts na cartão do usuário: userModel.custom_fields não funcionam após resposta/edição

Acho que isso pode ser um bug no Discourse, mas não tenho certeza. Talvez eu esteja fazendo algo errado.

Tenho um plugin que adiciona informações ao conector user-card-post-names.

Handlebars:

Javascript:

Isso, por sua vez, chama este Javascript que faz a maior parte do trabalho:

Detalhes do problema:

Dentro do código JS anterior estão estas duas linhas:

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

Em seguida, ele faz um teste if (version || edition) { ... e gera algumas strings (opusLinkClass, opusLinkIcon, opusLinkText) dependendo do resultado, que ele então armazena:

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

Essas strings são então usadas no arquivo handlebars no início desta postagem.

Nunca há erros ou avisos na janela de log do navegador, mas às vezes isso dá errado.

Estou testando com uma conta que tem ambos os custom_fields definidos, então o teste if (version || edition) sempre deve seguir o primeiro ramo, não o else if (!viewingStaff) abaixo dele.

No entanto, às vezes ele segue o segundo ramo, o que significa que version e edition não foram definidos.

Isso geralmente não acontece, é por isso que acho que pode ser um bug no Discourse.

Parece que só dá errado se eu criar um novo tópico e depois responder a ele, ou se eu editar uma resposta que acabei de fazer. É como se o objeto userModel não fosse inicializado corretamente quando o conector é executado em algumas situações, talvez devido a uma condição de corrida em algum lugar?

Parece que só dá errado uma vez por tópico. Se eu atualizar a página com F5, tudo fica bem novamente e continua bem para aquele tópico. (Pelo menos, até onde consigo dizer. Parece semi-aleatório, então é possível que eu apenas não o tenha visto acontecer novamente para o mesmo tópico.)

Obrigado pelo seu tempo e por quaisquer sugestões.