Tenho executado alguns sites do Discourse há algum tempo e tenho vários scripts que interagem diretamente com algumas das APIs do Discourse e percebo que, periodicamente, as coisas simplesmente param de funcionar após uma atualização. Geralmente, isso é aceitável se as coisas forem detectáveis imediatamente, mas quando não aparecem por um tempo, torna-se difícil de resolver e muitas vezes resulta em problemas de produção em vez de instâncias de desenvolvimento.
Por exemplo: Recurring events in Upcoming Events calendar fail to handle daylight saving change
Recentemente, removeu a opção include_expired. Infelizmente, o comportamento de retornar apenas eventos do calendário que não estão expirados era algo em que eu confiava e causou a falha de vários processos em uma data posterior à atualização. Para este exemplo específico, falhar se um chamador especificasse o parâmetro agora removido teria, pelo menos, interrompido o problema em meu script específico ![]()
Então, o que estou imaginando é, como um usuário downstream do Discourse, qual é a melhor maneira de identificar mudanças na API como essa antes que elas afetem minha instância? Anteriormente, eu espelhava o repositório discourse-calendar e o atualizava com menos frequência no meu tempo para evitar esses problemas. Agora que está integrado, decidi abandonar essa abordagem e estou sendo afetado novamente.
Agradeço todo o trabalho e melhorias que o Discourse constantemente passa e estou bem se a resposta for “inscreva-se para o plano empresarial e essas coisas acontecerão com menos frequência” ou “adicione mais testes do seu lado”, mas queria ver se talvez existam outras opções ou abordagens que eu desconheça.
Obrigado.