Impossibile eliminare il componente tema deprecato dalla CLI - impossibile avviare

So che è dovuto a Alternative Logos:

I, [2021-06-25T11:00:32.360020 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Aggiornamento di Alternative Logos fallito
about.json contiene valori non validi: La versione massima di Discourse non è valida
/var/www/discourse/app/models/remote_theme.rb:169:in `update_from_remote'
/var/www/discourse/lib/tasks/themes.rake:61:in `block (2 levels) in <main>'

Avevo questo componente, ma poiché Discourse è offline non riesco ad accedere al pannello di amministrazione per eliminarlo. Come posso eliminare questo componente del tema da riga di comando?

Non sono sicuro di cosa faccia cleanup sui container fermi, ma potresti semplicemente eseguire ./launcher start app e disabilitare il colpevole (in https://your.domain/admin/customize/themes)?

Ti riferisci ai plugin in app.yml?

Esatto.

So che il problema è causato da Alternative Logos:

I, [2021-06-25T11:00:32.360020 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Aggiornamento di Alternative Logos fallito
about.json contiene valori non validi: La versione massima di Discourse non è valida
/var/www/discourse/app/models/remote_theme.rb:169:in `update_from_remote'
/var/www/discourse/lib/tasks/themes.rake:61:in `block (2 levels) in <main>'

Avevo questo componente, ma poiché Discourse è offline non riesco ad accedere al pannello di amministrazione per eliminarlo. Come posso rimuovere questo componente del tema dalla riga di comando? Non posso ricreare o avviare l’applicazione, quindi è un peccato.

Quindi:

  • Non posso ricompilare perché Alternative Logos ha una versione massima in about.json superiore alla mia
  • Non posso eliminare il componente Alternative Logos senza entrare nell’app
  • Non posso entrare nell’app perché non posso ricompilarla

C’è qualche modo per risolvere la situazione? Voglio eliminare il componente Alternative Logos.

Non puoi semplicemente avviare l’app, senza ricostruirla?

./launcher start app

Impossibile trovare l'immagine 'local_discourse/app:latest' in locale
docker: Errore di risposta dal demone: accesso al pull negato per local_discourse/app, il repository non esiste o potrebbe richiedere 'docker login': negato: accesso alla risorsa richiesto negato.
Vedi 'docker run --help'.

Purtroppo non proprio

Allora forse git pull, ma forse aspetta i rinforzi :sweat_smile: (Vedo che Jay sta rispondendo…)

No, git pull non fa nulla.

Hai provato

  ./launcher start app

Tuttavia, se hai eseguito ./launcher cleanup mentre il vecchio container era spento e non hai più un container da avviare, ti trovi in una situazione piuttosto complicata. È quello che hai fatto? Sembra proprio di sì.

Penso che sia un bug il fatto che un componente del tema difettoso renda impossibile l’aggiornamento, quindi forse verrà presto trovata una soluzione.

Potresti modificare il database per rimuovere il componente del tema, ma se non hai un container in esecuzione che ti permetta di accedere al database, non sono sicuro di come potresti farlo.

L’unica altra soluzione di emergenza immediata sarebbe verificare se è possibile ripristinare il database esistente su un’installazione pulita.

Forse puoi ripristinare il database su un’installazione pulita (magari ignorerà il tema rotto?), poi eliminare il tuo database e ricreare un nuovo database vuoto con Discourse aggiornato, infine ripristinare il database dall’installazione pulita remota.

Un’altra soluzione sarebbe creare un’immagine contenente solo il database e utilizzare SQL per rimuovere il componente del tema difettoso.

2 Mi Piace

Immagino che farò un’installazione pulita, ripristinando dal backup (e in questo file di backup .sql apporterò delle modifiche ai Loghi Alternativi.

È comunque una situazione davvero spiacevole che, se un componente si rompe, l’unica opzione per ripristinare Discourse sia reinstallare da zero.

2 Mi Piace

Ok, quindi la soluzione è stata installare una nuova istanza di Discourse, ripristinare dal backup e poi eliminare il componente che causava il problema.

3 Mi Piace

Ho riscontrato una situazione simile stamattina, ma sono riuscito a riavviare semplicemente l’applicazione.

Il mio sito ha circa 10 temi, tutti dei quali hanno utilizzato il componente Alternative Logos Component da quando ogni tema utilizza loghi di colori diversi per abbinarsi alla propria palette cromatica. Vedo che ora posso inserire i loghi per il tema scuro nelle impostazioni del sito. Tuttavia, se elimino questo componente deprecato, dove posso aggiungere tutti gli altri loghi personalizzati per gli altri temi?

Penso che il problema sia solo nel file about.json e che tu possa eseguire un fork del componente del tema per creare la tua versione. Ma non ho dato un’occhiata approfondita né l’ho provato personalmente.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.