Ho riscontrato lo stesso tipo di problema, ma ho seguito un percorso diverso. Invece di utilizzare direttamente gli endpoint dell’API del calendario, il mio importatore crea BBCode [event] e lo pubblica in Discourse, lasciando che il plugin lo analizzi come se un utente dello staff avesse creato l’evento manualmente. In questo modo evito di dipendere da parametri di query transitori come include_expired e ottengo un contratto più stabile: post semplici e BBCode difficilmente cambieranno senza preavviso.
[event start="2025-09-29 09:00" end="2025-10-29 10:00" location="Office B1"]
Incontro per discutere l'API RESTful di Discourse
[/event]
Il compromesso è più lavoro da parte mia: ho dovuto scrivere un formattatore che converte i dati ICS in tag [event] correttamente escapati, gestisce eventi di un’intera giornata o a orari specifici, e così via. Ma in pratica questo approccio è stato molto più resiliente agli aggiornamenti. Non elimina la necessità di avvisi di deprecazione upstream (vorrei ancora che le API fallissero rapidamente o almeno avvisassero quando le opzioni vengono rimosse), tuttavia ha ridotto il rischio che i miei script si rompessero silenziosamente.