o filtro /posted não inclui tópicos importados?

Quando meus usuários visitam a página “/posted” (ex. https://meta.discourse.org/posted ), ela não inclui tópicos onde as postagens foram importadas de um site anterior. Isso acontece apesar de suas postagens aparecerem na página “/u/xxx/activity/topics”.

Para minha própria conta, no entanto, “/posted” parece funcionar bem com conteúdo importado. No entanto, eu mesclei minha conta importada com a conta principal com a qual a instância do Discourse foi criada, então talvez esse seja o motivo?

Isso é um bug? Se alguém puder me ajudar a entender ou pelo menos me apontar para o código backend no repositório do Discourse para o filtro “/posted”, posso tentar descobrir o problema sozinho. Como alguém relativamente novo em Ruby e Rails, a estrutura de arquivos do GitHub do Discourse ainda está além da minha compreensão total. Agradeço!

Essa é a minha suposição. Se as postagens foram criadas por um usuário diferente do que está logado, esse é o comportamento esperado, certo?

Se as contas importadas não forem as mesmas que as contas que as pessoas estão usando, você precisará corrigir isso.

1 curtida

Talvez eu devesse esclarecer

Na minha conta, eu mesclei minha conta de administrador inicial do discourse com minha conta importada do fórum antigo. Todos os tópicos em que já postei aparecem corretamente em /posted

Para todos os outros, a conta que eles estão usando foi apenas importada do site antigo. Para eles, apenas os tópicos em que postaram depois da importação aparecem em /posted. Confirmei isso usando uma conta alternativa de teste que tenho

Eu presumo que as postagens importadas ainda deveriam importar ao que aparece em /posted, então o comportamento está correto para minha conta, mas não para todos os outros usuários. Estou assumindo que o passo de mesclagem é o que fez isso porque ele atribui todas as minhas postagens antigas a uma nova conta depois que elas foram importadas

O que eu faria a seguir seria confirmar que as postagens que não estão aparecendo em /posted realmente pertencem ao usuário que as procura. Algo como:

u = User.find_by_username('qualquerUsuario')
posts = Post.where(user_id: u.id)

E ver se essas postagens incluem as que você acha que deveriam aparecer ou não.

Inversamente, você poderia:

p = Post.find(idDaPostagemQueVoceQuer)

E ver qual usuário é o dono dessa postagem.

1 curtida

Tópicos importados aparecem na página /my/activity/topics e não na página /posted para usuários que não sejam eu mesmo.

Posts importados também aparecem em /my/activity/replies, mas os tópicos correspondentes não aparecem na página /posted para usuários que não sejam eu mesmo.

Também confirmei através de um tópico de exemplo. O user_id em /t/xxx.json corresponde ao id do usuário em /u/yyy.json, mas o tópico xxx não aparece em /posted para o usuário yyy.

Também posso tentar executar o código que você forneceu, mas não parece haver razão para pensar que este é um problema de propriedade, pelo que posso dizer.

Para que conste, houve um problema semelhante com a alteração da propriedade de posts há algum tempo. Pergunto-me se isso poderia fornecer algumas pistas adicionais para a sua situação?

1 curtida

parece um problema semelhante como você diz (embora não exatamente o mesmo), talvez eu possa investigar o código que foi atualizado nesse commit

1 curtida