BryanV
(Bryan Van de ven)
2 Diciembre, 2021 19:53
1
Hoy recibí una notificación sobre la actualización, pero al navegar a la página de actualización, la encuentro en blanco:
Veo que hay varios hilos sobre esto, y el consenso parece ser reconstruir manualmente. Pero la cuestión es que realicé una reconstrucción manual hace dos días, cuando instalé un plugin personalizado de Onebox que acabo de escribir:
https://github.com/bokeh/discourse-bokeh-onebox
Me gustaría entender por qué está sucediendo esta página en blanco. ¿Hay algo malo con mi trivial plugin que causó esto, o que necesito cambiar? ¿No está relacionado con el plugin y, si es así, qué puedo hacer para evitar esta situación en el futuro?
¿Ocurre si deshabilitas los complementos en modo seguro? Eso podría ayudarte a acotar el problema.
[TuSitio]/safe-mode
BryanV
(Bryan Van de ven)
2 Diciembre, 2021 20:36
3
El enlace /upgrade ya no está presente en la página /admin en modo seguro y navegar hasta allí manualmente no funciona
Oops! Esa página no existe o es privada.
Si desactiva ‘deshabilitar todos los complementos’, pero deja los otros dos, ahí está. Deshabilitar los complementos oficiales deshabilitará docker-manager, pero aún debería poder verificar temas y complementos no oficiales, ¿si eso ayuda?
Steven
2 Diciembre, 2021 21:12
5
¿Tienes alguna alerta roja en la consola si escribes F12 en la página de actualización?
BryanV
(Bryan Van de ven)
2 Diciembre, 2021 21:16
6
@JammyDodger Ah, gracias. No, eso no ayuda, la página de actualización está completamente en blanco, incluso en modo seguro con temas y complementos no oficiales deshabilitados.
@Steven sí, esto está en el registro de la consola de JS
1 me gusta
BryanV
(Bryan Van de ven)
3 Diciembre, 2021 00:30
7
Entonces, para resumir, parece que la página está en blanco debido a un error HTTP 500 de una solicitud AJAX a
https://discourse.bokeh.org/admin/docker/repos
¿Hay alguna explicación conocida para esto? ¿Hay alguna acción correctiva además de una reconstrucción manual?
Falco
(Falco)
3 Diciembre, 2021 00:44
8
Si hay un error 500, debería haber una entrada correspondiente en /logs.
BryanV
(Bryan Van de ven)
3 Diciembre, 2021 01:30
9
@Falco Gracias, no estaba al tanto de ese endpoint. El error es
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 me gusta
Falco
(Falco)
3 Diciembre, 2021 01:46
10
Uno de los plugins que has instalado tiene un nombre nulo de alguna manera
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
Puedes ejecutar DockerManager::GitRepo.find_all en una consola de Rails para comprobar de dónde proviene esto.
BryanV
(Bryan Van de ven)
3 Diciembre, 2021 01:51
11
@Falco Supongo que ese sería mi plugin Onebox, aunque no estoy seguro de por qué las cosas tampoco funcionaron en modo seguro. En cualquier caso, junté este archivo a partir de piezas, sin haber escrito nunca Ruby, si por casualidad sabes cómo/dónde debería especificar el “nombre”, te lo agradecería:
https://github.com/bokeh/discourse-bokeh-onebox/blob/main/plugin.rb
Falco
(Falco)
3 Diciembre, 2021 02:02
12
Quizás seguir un ejemplo como
# 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 me gusta
BryanV
(Bryan Van de ven)
3 Diciembre, 2021 02:26
13
Me basé en varios ejemplos, solo que nunca hubiera imaginado que el nombre se extrajera de un comentario y no se configurara como datos/código real. Actualizaré mi plugin y lo reconstruiré, gracias.
1 me gusta
system
(system)
Cerrado
2 Enero, 2022 02:27
14
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.