Il message bus ignora l'impostazione DISCOURSE_LONG_POLLING_BASE_URL e utilizza sempre "/"

Descrizione del problema

Recentemente stavo configurando un nuovo servizio CDN e configurando DISCOURSE_LONG_POLLING_BASE_URL in app.yml, per separare il servizio di long polling dal server originale.

Tuttavia, il message bus continua a effettuare richieste a “/” invece di rispettare l’URL base di long polling configurato.

Passaggi per riprodurre

  1. Configura DISCOURSE_LONG_POLLING_BASE_URL in app.yml con un URL CDN personalizzato
  2. Ricostruisci e avvia Discourse
  3. Verifica che il frontend legga correttamente il valore della variabile d’ambiente
  4. Osserva le richieste di rete del message bus negli strumenti per sviluppatori del browser

Alcuni screenshot

Il frontend legge correttamente l’impostazione:

Comportamento previsto

Il message bus dovrebbe utilizzare l’impostazione long_polling_base_url configurata per le sue richieste quando l’impostazione è fornita.

Comportamento effettivo

Il message bus continua a effettuare richieste a “/” indipendentemente dalla configurazione di DISCOURSE_LONG_POLLING_BASE_URL.

Causa principale

Il problema si trova in app/assets/javascripts/discourse/app/instance-initializers/message-bus.js.

La logica per impostare messageBus.baseUrl non gestiva correttamente l’impostazione del sito long_polling_base_url, facendola tornare a “/” anche quando era configurato un URL personalizzato.

Correzione

Ho identificato e corretto il problema nell’inizializzatore di istanza del message bus. La correzione garantisce che quando siteSettings.long_polling_base_url è impostato e non è uguale a “/”, configuri correttamente l’URL base del message bus.

Pull Request: FIX: Respect long_polling_base_url setting for message bus configuration by chenglu · Pull Request #34477 · discourse/discourse · GitHub

Verifica

  • Confermata la corretta lettura della variabile d’ambiente da parte del frontend
  • Corretta la logica di inizializzazione del message bus per rispettare l’impostazione
  • Tutti i controlli di formattazione sono superati
  • Il message bus ora utilizza correttamente l’URL base di long polling configurato

Questo bug influisce su qualsiasi installazione di Discourse che utilizza una configurazione CDN personalizzata con long polling, impedendo il corretto utilizzo della CDN per le richieste del message bus.


Grazie a @David_Ghost, visita la nostra discussione qui:

1 Mi Piace

Capisco, bella correzione, grazie per averla contribuita!

2 Mi Piace