Error 500 using page publication

Hey there,

I wanted to try the new page publication feature on my instance and got an error 500 when opening the link in a tab. Tried with both public & private topics.

I just tried to rebuild to the latest available commit 629ee5494d but the issue persists.

Logs:


ActionView::Template::Error (undefined method `url' for nil:NilClass) app/views/published_pages/show.html.erb:6 app/controllers/published_pages_controller.rb:49:in `show' app/controllers/application_c 


app/views/published_pages/show.html.erb:6
actionview (6.0.3.2) lib/action_view/base.rb:274:in `_run'
actionview (6.0.3.2) lib/action_view/template.rb:185:in `block in render'
activesupport (6.0.3.2) lib/active_support/notifications.rb:182:in `instrument'
actionview (6.0.3.2) lib/action_view/template.rb:385:in `instrument_render_template'
actionview (6.0.3.2) lib/action_view/template.rb:183:in `render'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'


actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:58:in `block (2 levels) in render_template'
actionview (6.0.3.2) lib/action_view/renderer/abstract_renderer.rb:88:in `block in instrument'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `block in instrument'
activesupport (6.0.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `instrument'
actionview (6.0.3.2) lib/action_view/renderer/abstract_renderer.rb:87:in `instrument'
actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:57:in `block in render_template'
actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:65:in `render_with_layout'
actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:56:in `render_template'
actionview (6.0.3.2) lib/action_view/renderer/template_renderer.rb:13:in `render'
actionview (6.0.3.2) lib/action_view/renderer/renderer.rb:61:in `render_template_to_object'
actionview (6.0.3.2) lib/action_view/renderer/renderer.rb:29:in `render_to_object'
actionview (6.0.3.2) lib/action_view/rendering.rb:117:in `block in _render_template'
actionview (6.0.3.2) lib/action_view/base.rb:304:in `in_rendering_context'
actionview (6.0.3.2) lib/action_view/rendering.rb:116:in `_render_template'
actionpack (6.0.3.2) lib/action_controller/metal/streaming.rb:218:in `_render_template'
actionview (6.0.3.2) lib/action_view/rendering.rb:103:in `render_to_body'
actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:52:in `render_to_body'
actionpack (6.0.3.2) lib/action_controller/metal/renderers.rb:142:in `render_to_body'
actionpack (6.0.3.2) lib/abstract_controller/rendering.rb:25:in `render'
actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:36:in `render'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'
activesupport (6.0.3.2) lib/active_support/core_ext/benchmark.rb:14:in `block in ms'
/usr/local/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
activesupport (6.0.3.2) lib/active_support/core_ext/benchmark.rb:14:in `ms'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:44:in `block in render'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'
activerecord (6.0.3.2) lib/active_record/railties/controller_runtime.rb:34:in `cleanup_view_runtime'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:43:in `render'
app/controllers/published_pages_controller.rb:49:in `show'
actionpack (6.0.3.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:195:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:112:in `block in run_callbacks'
app/controllers/application_controller.rb:340:in `block in with_resolved_locale'
i18n (1.8.5) lib/i18n.rb:313:in `with_locale'
app/controllers/application_controller.rb:340:in `with_resolved_locale'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:139:in `run_callbacks'
actionpack (6.0.3.2) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:33:in `block in process_action'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `block in instrument'
activesupport (6.0.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.0.3.2) lib/active_support/notifications.rb:180:in `instrument'
actionpack (6.0.3.2) lib/action_controller/metal/instrumentation.rb:32:in `process_action'
actionpack (6.0.3.2) lib/action_controller/metal/params_wrapper.rb:245:in `process_action'
activerecord (6.0.3.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.0.3.2) lib/abstract_controller/base.rb:136:in `process'
actionview (6.0.3.2) lib/action_view/rendering.rb:39:in `process'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'


actionpack (6.0.3.2) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.0.3.2) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:49:in `block in serve'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.0.3.2) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.0.3.2) lib/action_dispatch/routing/route_set.rb:834:in `call'
lib/middleware/omniauth_bypass_middleware.rb:68: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'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:336: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.0.3.2) lib/action_dispatch/middleware/cookies.rb:648:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.0.3.2) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (6.0.3.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/actionable_exceptions.rb:17:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/debug_exceptions.rb:32:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
logster (2.9.3) lib/logster/middleware/reporter.rb:43:in `call'
railties (6.0.3.2) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.0.3.2) lib/rails/rack/logger.rb:28:in `call'
config/initializers/100-quiet_logger.rb:19:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/executor.rb:14:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.0.3.2) lib/action_dispatch/middleware/host_authorization.rb:76:in `call'
rack-mini-profiler (2.0.4) lib/mini_profiler/profiler.rb:321:in `call'


message_bus (3.3.1) lib/message_bus/rack/middleware.rb:61:in `call'
lib/middleware/request_tracker.rb:176:in `call'
railties (6.0.3.2) lib/rails/engine.rb:527:in `call'
railties (6.0.3.2) lib/rails/railtie.rb:190:in `public_send'
railties (6.0.3.2) lib/rails/railtie.rb:190: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 (5.6.0) lib/unicorn/http_server.rb:632:in `process_client'
unicorn (5.6.0) lib/unicorn/http_server.rb:728:in `worker_loop'
unicorn (5.6.0) lib/unicorn/http_server.rb:548:in `spawn_missing_workers'
unicorn (5.6.0) lib/unicorn/http_server.rb:144:in `start'
unicorn (5.6.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `load'
vendor/bundle/ruby/2.6.0/bin/unicorn:23:in `<main>'

Any help is welcomed, Thanks!

2 Likes

The error you are reporting comes from https://github.com/discourse/discourse/blob/master/app/views/published_pages/show.html.erb#L6. It’s trying to find the URL of the logo that’s been set by your site’s logo_small setting.

I can reproduce that error by deleting the logo that’s set by my site’s logo_small setting.

If you have not set a small logo for your site, setting one should get rid of the error. I think this is something that needs to be fixed in the Discourse code though. Not having set a small logo should not create a fatal error when going to a published page.

5 Likes

Screenshot 2020-09-21 at 11.31.28 AM

This is now fixed here :arrow_down: Now it will use desktop logo if the small logo is not available.

https://github.com/discourse/discourse/commit/6b818fb855e7520f44e2fac2ebe7353d8f2f3357

I think we should use site title if both logos are not available. But in the current UI, it looks not good since we have page title next to it. Maybe we should move page title from the site header like in the below examples?

Screenshot 2020-09-21 at 11.41.13 AM Screenshot 2020-09-21 at 11.39.57 AM

5 Likes

This topic was automatically closed after 5 days. New replies are no longer allowed.