Eu só queria adicionar um grande agradecimento à equipe do Discourse por incluir o parâmetro bypass_bump! É uma ferramenta pequena, mas poderosa — ela permite que scripts e plugins atualizem o conteúdo em segundo plano sem que tópicos antigos apareçam inadvertidamente na visualização mais recente.
No nosso caso, usamos para scripts de sincronização ICS, e isso garante que apenas alterações significativas realmente impulsionem tópicos. Uma adição atenciosa que mantém os fóruns da comunidade limpos e a experiência do leitor ininterrupta — obrigado novamente!
esta não é uma postagem de elogio enganosa, como a minha última🙈, porque
o Discourse suporta uma flag bypass_bump ao revisar uma postagem; ela impede que a data de “bump” do tópico mude, mesmo que você edite a última (ou a primeira e única) postagem. Isso está explicitamente listado nas opções do PostRevisor (“- bypass_bump: não dê um bump no tópico, mesmo que seja a última postagem”).
este tópico de elogio existe e declara exatamente esse caso de uso.
historicamente, as pessoas usavam a solução alternativa /t/{id}/reset-bump-date porque essa opção não era amplamente conhecida/documentada na documentação da API, mas ainda está disponível, se necessário.
Nota prática: quando você faz PUT /posts/{post_id}.json com o novo raw e inclui bypass_bump=true, a edição não exibirá o tópico em /latest. (A documentação oficial não detalha esse parâmetro, mas ele está conectado no lado do servidor via PostRevisor.)
Ainda não tenho 100% de certeza sobre o status oficial de bypass_bump na documentação da API — ele não aparece em nenhum lugar óbvio.
Mas quando olho os logs do script de sincronização Python do Ethsim12, eles são instrutivos. O script tenta chamar a API com bypass_bump=true. Se esse parâmetro fosse ignorado ou inválido, a única coisa que impediria atualizações desnecessárias seria o fallback que eles adicionaram: uma chamada manual para
/t/{topic_id}/reset-bump-date
Portanto, a própria saída do log se torna uma forte evidência. Se o log mostra tópicos sendo atualizados sem aparecer em /latest (e sem precisar do fallback de reset), isso é uma prova muito boa de que bypass_bump está ativo e funcionando. Se o log sempre recorre a reset-bump-date, então talvez não esteja.
Em outras palavras: os logs deste script ajudam muito a confirmar se bypass_bump existe e é realmente respeitado pelo servidor.
Obrigado por compartilhar este PR, moin — contexto muito útil.
Para o meu projeto paralelo (importador ics_to_discourse.py), na verdade, acabei de confirmar uma alteração para impedir que atualizações baseadas em calendário “barulhentamente” atualizem tópicos:
Esse commit adiciona alguma lógica para decidir se uma edição é “significativa” (mudança de hora/localização, etc.) e usa bypass_bump mais um fallback de reset-bump-date para que sincronizações de ICS de rotina não exibam tópicos desnecessariamente.
Portanto, este PR se alinha perfeitamente com o que eu estava buscando — é bom ver o core se movendo na mesma direção. Assim que o comportamento de “não atualizar na edição” for mesclado, simplificarei e descartarei o fallback extra, mas por enquanto o commit mantém as coisas silenciosas nas instalações atuais do Discourse.