Come eseguire un'azione ad ogni caricamento del footer (o caricamento della pagina?)

Ciao @Johani, un’altra versione di questo problema su “come attivare o essere attivati” è che sto utilizzando una versione di Custom Header Links all’interno di un plugin. Questo collega alcuni elementi (“server”) creati in un modello separato che il mio plugin aggiunge. Quando viene creato un server, voglio ricostruire i link dell’intestazione per puntare ai due server più recenti. Attualmente lo sto facendo in un inizializzatore e funziona bene, tranne che per aggiornarlo dopo l’aggiunta di un server è necessario ricaricare la pagina.

Mi hai spiegato come aggiungere e monitorare i trigger, quindi pensavo di poter risolvere il problema, ma la pagina che esegue il lavoro si trova in discourse-subscriptions. Forse quello che voglio fare è inviare una PR a discourse-subscriptions che aggiunga

 this.appEvents.trigger("purchase-complete")

dopo il completamento dell’acquisto (e l’acquisto attiva l’aggiunta a un gruppo, che a sua volta attiva la creazione di un server e la rimozione dell’utente dal gruppo). Oppure, se potessi semplicemente attivare un ricaricamento dopo il completamento dell’acquisto o quando si clicca su “OK” nella finestra modale “acquisto completato”, sarebbe comunque accettabile, ma non so come farlo (quello che ho provato ha ricaricato la pagina all’infinito…)

Quindi forse qui:

https://github.com/discourse/discourse-subscriptions/blob/main/assets/javascripts/discourse/controllers/s-show.js.es6#L71-L81

Vorrei aggiungere

 this.appEvents.trigger("successful-transaction")

dopo aver impostato loading su false, e poi potrei far sì che il mio inizializzatore aggiunga

 this.appEvents.on("successful-transaction")

per eseguire la manipolazione dell’intestazione?

Penso che, una volta fatto questo, dovrò fare qualcosa di diverso perché temo che

      api.decorateWidget("header-buttons:before", (helper) => {
        return helper.h("ul.pfaffmanager-header-links", headerLinks);
      });

aggiunga a header-buttons:before invece di sostituirli, così otterrò più link ogni volta che viene attivato?