Pagina di aggiornamento vuota

Ho ricevuto una notifica oggi riguardo all’aggiornamento, ma navigando alla pagina di aggiornamento, la trovo vuota:

Vedo che ci sono diverse discussioni a riguardo, e il consenso sembra essere di ricostruire manualmente. Ma il fatto è che ho letteralmente eseguito una ricostruzione manuale due giorni fa, quando ho installato un plugin Onebox personalizzato che ho appena scritto:

https://github.com/bokeh/discourse-bokeh-onebox

Vorrei capire perché questa pagina vuota si sta verificando. C’è qualcosa che non va nel mio banale plugin che ha causato questo, o che devo cambiare? È non correlato al plugin, e se è così, cosa posso fare per evitare questa situazione in futuro?

Succede se disabiliti i plugin in modalità provvisoria? Questo potrebbe aiutarti a restringere il campo.

[IlTuoSito]/safe-mode

Il link /upgrade non è più presente nella pagina /admin in modalità provvisoria e tentare di navigare lì manualmente non funziona

Oops! Quella pagina non esiste o è privata.

Se deselezioni ‘disabilita tutti i plugin’, ma lasci gli altri due, è presente. :+1: Disabilitare i plugin ufficiali disabiliterà docker-manager, ma dovresti comunque essere in grado di controllare temi e plugin non ufficiali, se questo può essere d’aiuto?

Hai qualche allarme rosso nella console se digiti F12 nella pagina di aggiornamento?

@JammyDodger Ah, grazie. No, non aiuta, la pagina di aggiornamento è completamente vuota, anche in modalità provvisoria con temi e plugin non ufficiali disabilitati.

@Steven sì, questo è nel log della console JS

1 Mi Piace

Quindi, riassumendo, sembra che la pagina sia vuota a causa di un errore HTTP 500 da una richiesta AJAX a

https://discourse.bokeh.org/admin/docker/repos

C’è una spiegazione nota per questo? C’è qualche azione correttiva oltre a una ricostruzione manuale?

Se si verifica un errore 500, dovrebbe esserci una voce corrispondente in /logs.

@Falco Grazie, non ero a conoscenza di quel endpoint. L’errore è

NoMethodError (undefined method downcase' for nil:NilClass) lib/middleware/omniauth_bypass_middleware.rb:71:in call’ lib/content_security_policy/middleware.rb:12:in `call’ lib/middleware/anonymous_c

plugins/docker_manager/app/controllers/docker_manager/admin_controller.rb:40:in `block in repos'
plugins/docker_manager/app/controllers/docker_manager/admin_controller.rb:29:in `map!'
plugins/docker_manager/app/controllers/docker_manager/admin_controller.rb:29:in `repos'
actionpack (6.1.4.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.1.4.1) lib/abstract_controller/base.rb:228:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.1.4.1) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:106:in `run_callbacks'
actionpack (6.1.4.1) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
activesupport (6.1.4.1) lib/active_support/notifications.rb:203:in `block in instrument'
activesupport (6.1.4.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.1.4.1) lib/active_support/notifications.rb:203:in `instrument'
actionpack (6.1.4.1) lib/action_controller/metal/instrumentation.rb:33:in `process_action'
actionpack (6.1.4.1) lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
activerecord (6.1.4.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.1.4.1) lib/abstract_controller/base.rb:165:in `process'
actionview (6.1.4.1) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.3.3) lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'
actionpack (6.1.4.1) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.1.4.1) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:19:in `block in <class:Constraints>'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:49:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
railties (6.1.4.1) lib/rails/engine.rb:539:in `call'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `public_send'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `method_missing'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:20:in `block in <class:Constraints>'
actionpack (6.1.4.1) lib/action_dispatch/routing/mapper.rb:49:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.4.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.4.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
actionpack (6.1.4.1) lib/action_dispatch/http/permissions_policy.rb:22:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:356:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/cookies.rb:689:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.1.4.1) lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack (6.1.4.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.9.8) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.1.4.1) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.1.4.1) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.1.4.1) lib/action_dispatch/middleware/host_authorization.rb:92:in `call'
rack-mini-profiler (2.3.3) lib/mini_profiler/profiler.rb:249:in `call'
message_bus (3.3.6) lib/message_bus/rack/middleware.rb:61:in `call'
lib/middleware/request_tracker.rb:198:in `call'
railties (6.1.4.1) lib/rails/engine.rb:539:in `call'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `public_send'
railties (6.1.4.1) lib/rails/railtie.rb:207:in `method_missing'
rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.3) lib/rack/urlmap.rb:58:in `each'
rack (2.2.3) lib/rack/urlmap.rb:58:in `call'
unicorn (6.0.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.0.0) lib/unicorn/http_server.rb:732:in `worker_loop'
unicorn (6.0.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.0.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.0.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/2.7.0/bin/unicorn:25:in `<main>'
1 Mi Piace

Uno dei plugin che hai installato ha un nome nullo in qualche modo

Puoi eseguire DockerManager::GitRepo.find_all in una console Rails per verificare da dove proviene.

@Falco Beh, immagino (suppongo) che sarebbe il mio plugin Onebox, anche se non sono sicuro del perché le cose non abbiano funzionato nemmeno in modalità provvisoria. In ogni caso, ho messo insieme questo file da pezzi, non avendo mai scritto Ruby prima, se per caso sai come/dove dovrei specificare il “nome” te ne sarei grato:

https://github.com/bokeh/discourse-bokeh-onebox/blob/main/plugin.rb

Forse segui un esempio come

1 Mi Piace

:open_mouth: Ho consultato diversi esempi, solo che non avrei mai immaginato che il nome venisse estratto da un commento e non configurato come dati/codice effettivo. Aggiornerò il mio plugin e ricostruirò, grazie.

1 Mi Piace

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