Page de mise à niveau vide

J’ai reçu une notification aujourd’hui concernant une mise à niveau, mais en naviguant vers la page de mise à niveau, je constate qu’elle est vide :

Je vois qu’il y a plusieurs discussions à ce sujet, et le consensus semble être de reconstruire manuellement. Mais le fait est que j’ai littéralement effectué une reconstruction manuelle il y a deux jours, lorsque j’ai installé un plugin Onebox personnalisé que je viens d’écrire :

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

J’aimerais comprendre pourquoi cette page vide se produit. Y a-t-il quelque chose qui cloche avec mon plugin trivial qui a causé cela, ou que je dois changer ? Est-ce sans rapport avec le plugin, et si oui, que puis-je faire pour éviter cette situation à l’avenir ?

Est-ce que cela se produit si vous désactivez les plugins en mode sans échec ? Cela pourrait vous aider à cerner le problème.

[VotreSite]/safe-mode

Le lien /upgrade n’est plus présent sur la page /admin en mode sans échec et essayer d’y accéder manuellement ne fonctionne pas

Oups ! Cette page n’existe pas ou est privée.

Si vous décochez « désactiver tous les plugins », mais laissez les deux autres, il est là. :+1: La désactivation des plugins officiels désactivera docker-manager, mais vous devriez toujours pouvoir vérifier les thèmes et les plugins non officiels, si cela peut vous aider ?

Avez-vous des alertes rouges dans la console si vous tapez F12 sur la page de mise à niveau ?

@JammyDodger Ah, merci. Non, cela n’aide pas, la page de mise à niveau est complètement vide, même en mode sans échec avec les thèmes et les plugins non officiels désactivés.

@Steven oui, ceci est dans le journal de la console JS

1 « J'aime »

Pour résumer, il semble que la page soit vierge en raison d’une erreur HTTP 500 lors d’une requête AJAX vers

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

Existe-t-il une explication connue à cela ? Existe-t-il une mesure corrective autre qu’une reconstruction manuelle ?

En cas d’erreur 500, une entrée correspondante doit se trouver dans /logs.

@Falco Merci, je n’étais pas au courant de ce point de terminaison. L’erreur est

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 « J'aime »

Un des plugins que vous avez installés a un nom nil pour une raison quelconque

Vous pouvez exécuter DockerManager::GitRepo.find_all dans une console Rails pour vérifier d’où cela provient.

@Falco Eh bien, je suppose que ce serait mon plugin Onebox, bien que je ne sois pas sûr de pourquoi les choses n’ont pas non plus fonctionné en mode sans échec. Quoi qu’il en soit, j’ai assemblé ce fichier à partir de morceaux, n’ayant jamais écrit de Ruby auparavant. Si jamais vous savez comment/où je devrais spécifier le « nom », j’apprécierais :

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

Peut-être suivre un exemple comme

1 « J'aime »

:open_mouth: J’ai consulté plusieurs exemples, je n’aurais jamais imaginé que le nom était extrait d’un commentaire et non configuré comme de véritables données/code. Je vais mettre à jour mon plugin et reconstruire, merci.

1 « J'aime »

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