# Admin/dashboard-next.json TypeError (no implicit conversion of Date into String)

**URL:** https://meta.discourse.org/t/admin-dashboard-next-json-typeerror-no-implicit-conversion-of-date-into-string/90293
**Category:** Bug
**Created:** [20 juni 2018 om 10:53 UTC](https://meta.discourse.org/t/admin-dashboard-next-json-typeerror-no-implicit-conversion-of-date-into-string/90293 "2018-06-20T10:53:16Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![ZackFea](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zackfea/32/123509_2.png) [@ZackFea](https://meta.discourse.org/u/ZackFea)
#### Post date: [20 juni 2018 om 10:53 UTC](https://meta.discourse.org/t/admin-dashboard-next-json-typeerror-no-implicit-conversion-of-date-into-string/90293/1 "2018-06-20T10:53:16Z")

</div>

I did splited the installation of my discourse from standalone into data and web containers with basically an new clean install and restore from backup.

After the restore was complete everything looks fine expect the dashboard, logs tells me:   
`TypeError (no implicit conversion of Date into String) /var/www/discourse/app/models/report.rb:290:in parse`

> **Full stack trace:**
>
> ```plaintext
> /var/www/discourse/app/models/report.rb:290:in `parse'
> /var/www/discourse/app/models/report.rb:290:in `block in report_time_to_first_response'
> /var/www/discourse/app/models/report.rb:289:in `each'
> /var/www/discourse/app/models/report.rb:289:in `report_time_to_first_response'
> /var/www/discourse/app/models/report.rb:112:in `find'
> /var/www/discourse/app/models/admin_dashboard_next_data.rb:40:in `block in reports'
> /var/www/discourse/app/models/admin_dashboard_next_data.rb:40:in `map'
> /var/www/discourse/app/models/admin_dashboard_next_data.rb:40:in `reports'
> /var/www/discourse/app/models/admin_dashboard_next_data.rb:27:in `as_json'
> /var/www/discourse/app/models/admin_dashboard_next_data.rb:18:in `fetch_stats'
> /var/www/discourse/app/models/concerns/stats_cacheable.rb:26:in `refresh_stats'
> /var/www/discourse/app/models/concerns/stats_cacheable.rb:21:in `fetch_cached_stats'
> /var/www/discourse/app/controllers/admin/dashboard_next_controller.rb:5:in `index'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/abstract_controller/base.rb:194:in `process_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_controller/metal/rendering.rb:30:in `process_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/callbacks.rb:132:in `run_callbacks'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/abstract_controller/callbacks.rb:41:in `process_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_controller/metal/rescue.rb:22:in `process_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/notifications.rb:168:in `block in instrument'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/notifications.rb:168:in `instrument'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/abstract_controller/base.rb:134:in `process'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionview-5.2.0/lib/action_view/rendering.rb:32:in `process'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-mini-profiler-1.0.0/lib/mini_profiler/profiling_methods.rb:104:in `block in profile_method'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_controller/metal.rb:191:in `dispatch'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_controller/metal.rb:252:in `dispatch'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/routing/route_set.rb:34:in `serve'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/routing/mapper.rb:18:in `block in <class:Constraints>'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/routing/mapper.rb:48:in `serve'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/journey/router.rb:52:in `block in serve'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/journey/router.rb:35:in `each'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/journey/router.rb:35:in `serve'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/routing/route_set.rb:840:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-protection-2.0.3/lib/rack/protection/frame_options.rb:31:in `call'
> /var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:24:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/tempfile_reaper.rb:15:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/conditional_get.rb:25:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/head.rb:12:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
> /var/www/discourse/lib/middleware/anonymous_cache.rb:200:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/session/abstract/id.rb:232:in `context'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/session/abstract/id.rb:226:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/middleware/cookies.rb:670:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/callbacks.rb:98:in `run_callbacks'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/logster-1.2.9/lib/logster/middleware/reporter.rb:31:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/rack/logger.rb:38:in `call_app'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/rack/logger.rb:28:in `call'
> /var/www/discourse/config/initializers/100-quiet_logger.rb:16:in `call'
> /var/www/discourse/config/initializers/100-silence_logger.rb:29:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/middleware/request_id.rb:27:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/method_override.rb:22:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/actionpack-5.2.0/lib/action_dispatch/middleware/executor.rb:14:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/sendfile.rb:111:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-mini-profiler-1.0.0/lib/mini_profiler/profiler.rb:285:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/message_bus-2.1.5/lib/message_bus/rack/middleware.rb:63:in `call'
> /var/www/discourse/lib/middleware/request_tracker.rb:186:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/engine.rb:524:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/railtie.rb:190:in `public_send'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/railties-5.2.0/lib/rails/railtie.rb:190:in `method_missing'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/urlmap.rb:68:in `block in call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/urlmap.rb:53:in `each'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/rack-2.0.5/lib/rack/urlmap.rb:53:in `call'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/unicorn-5.4.0/lib/unicorn/http_server.rb:606:in `process_client'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/unicorn-5.4.0/lib/unicorn/http_server.rb:701:in `worker_loop'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/unicorn-5.4.0/lib/unicorn/http_server.rb:549:in `spawn_missing_workers'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/unicorn-5.4.0/lib/unicorn/http_server.rb:142:in `start'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/gems/unicorn-5.4.0/bin/unicorn:126:in `<top (required)>'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/bin/unicorn:23:in `load'
> /var/www/discourse/vendor/bundle/ruby/2.5.0/bin/unicorn:23:in `<main>'
> 
> ```

REQUEST\_URI [/admin/dashboard-next.json?_=1529489844854, /admin/dashboard-next.json?_=1529489881799, /admin/dashboard-next.json?_=1529489923985, /admin/dashboard-next.json, /admin/dashboard-next.json?_=1529489981030, /admin/dashboard-next.json?\_=1529490706651]

I tried to disable all plugins and rebuild to resolve this issue but it still persist.

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [20 juni 2018 om 10:55 UTC](https://meta.discourse.org/t/admin-dashboard-next-json-typeerror-no-implicit-conversion-of-date-into-string/90293/2 "2018-06-20T10:55:07Z")

</div>

This seems like one of the recent commit has borked it!  
I’m also stuck on a 500 while trying to access /admin

---

<div class="post-metadata">

### Author: ![Carlo](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/carlo/32/79036_2.png) [@Carlo](https://meta.discourse.org/u/Carlo)
#### Post date: [20 juni 2018 om 12:06 UTC](https://meta.discourse.org/t/admin-dashboard-next-json-typeerror-no-implicit-conversion-of-date-into-string/90293/3 "2018-06-20T12:06:15Z")

</div>

Same here!

This is definitely a bug:

> [@No Access after install](https://meta.discourse.org/t/no-access-after-install/89712/6):
>
> Hi there. I am having the same issue. Happened just after an update. Any idea how to fix it ? Thanks

---

<div class="post-metadata">

### Author: ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)
#### Post date: [20 juni 2018 om 12:18 UTC](https://meta.discourse.org/t/admin-dashboard-next-json-typeerror-no-implicit-conversion-of-date-into-string/90293/4 "2018-06-20T12:18:02Z")

</div>

For me, it has broke between after upgrading from 806f0ca to bb959e8

Only dashboard is non functional (new or old same story) rest all links work just fine.

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [20 juni 2018 om 12:18 UTC](https://meta.discourse.org/t/admin-dashboard-next-json-typeerror-no-implicit-conversion-of-date-into-string/90293/5 "2018-06-20T12:18:03Z")

</div>

Yes I have noticed it this morning. I will push a fix shortly. I don’t think it’s due to any recent change in the Dashboard though. It’s most probably caused by a very recent commit which is probably doing nothing wrong, but changed a little bit the behaviour in this case:

[https://github.com/discourse/discourse/commit/cb824a6b338b32216baef9021fe508a290e99bbe](https://github.com/discourse/discourse/commit/cb824a6b338b32216baef9021fe508a290e99bbe)

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [20 juni 2018 om 12:44 UTC](https://meta.discourse.org/t/admin-dashboard-next-json-typeerror-no-implicit-conversion-of-date-into-string/90293/6 "2018-06-20T12:44:53Z")

</div>

@sam Before the patch the `r` variable [discourse/app/models/report.rb at main · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/master/app/models/report.rb#L290) was:  
`{"hours"=>5.8700340581401, "date"=>"2018-05-21"}`

After patch:  
`{"hours"=>5.8700340581401, "date"=>Mon, 21 May 2018}`

I fixed it with [FIX: crashes with date conversion in reports · discourse/discourse@fa43969 · GitHub](https://github.com/discourse/discourse/commit/fa43969fe246ed4a3f246b6bb01cb44053f84765) as we don’t need `Date` parsing anymore since it’s already a `Date`.

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [20 juni 2018 om 12:44 UTC](https://meta.discourse.org/t/admin-dashboard-next-json-typeerror-no-implicit-conversion-of-date-into-string/90293/7 "2018-06-20T12:44:57Z")

</div>


