BryanV
(Bryan Van de ven)
2 Dicembre 2021, 7:53pm
1
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
BryanV
(Bryan Van de ven)
2 Dicembre 2021, 8:36pm
3
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. 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?
Steven
2 Dicembre 2021, 9:12pm
5
Hai qualche allarme rosso nella console se digiti F12 nella pagina di aggiornamento?
BryanV
(Bryan Van de ven)
2 Dicembre 2021, 9:16pm
6
@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
BryanV
(Bryan Van de ven)
3 Dicembre 2021, 12:30am
7
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?
Falco
(Falco)
3 Dicembre 2021, 12:44am
8
Se si verifica un errore 500, dovrebbe esserci una voce corrispondente in /logs.
BryanV
(Bryan Van de ven)
3 Dicembre 2021, 1:30am
9
@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
Falco
(Falco)
3 Dicembre 2021, 1:46am
10
Uno dei plugin che hai installato ha un nome nullo in qualche modo
result = {
name: r.name,
path: r.path,
branch: r.branch,
official: Plugin::Metadata::OFFICIAL_PLUGINS.include?(r.name)
}
result[:fork] = true if result[:official] && !r.url.starts_with?("https://github.com/discourse/")
if r.valid?
result[:id] = r.name.downcase.gsub(/[^a-z]/, '_').gsub(/_+/, '_').sub(/_$/, '')
result[:version] = r.latest_local_commit
result[:pretty_version] = r.latest_local_tag_version.presence
result[:url] = r.url
if r.upgrading?
result[:upgrading] = true
result[:version] = r.upgrade_version
end
end
result
end
Puoi eseguire DockerManager::GitRepo.find_all in una console Rails per verificare da dove proviene.
BryanV
(Bryan Van de ven)
3 Dicembre 2021, 1:51am
11
@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
Falco
(Falco)
3 Dicembre 2021, 2:02am
12
Forse segui un esempio come
# frozen_string_literal: true
# name: docker_manager
# about: Docker manager for Discourse image
# version: 0.1
# authors: Robin Ward, Sam Saffron
# url: https://github.com/discourse/docker_manager
if !defined? ::Discourse.redis
# HACK: make Discourse.redis work on old versions of Discourse
module ::Discourse
def self.redis
$redis # rubocop:disable Style/GlobalVars
1 Mi Piace
BryanV
(Bryan Van de ven)
3 Dicembre 2021, 2:26am
13
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
system
(system)
Chiuso
2 Gennaio 2022, 2:27am
14
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.