# Create post with markdown date returns error 500

**URL:** https://meta.discourse.org/t/create-post-with-markdown-date-returns-error-500/376663
**Category:** Support
**Created:** [July 31, 2025, 5:36am UTC](https://meta.discourse.org/t/create-post-with-markdown-date-returns-error-500/376663 "2025-07-31T05:36:58Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![nobodyfrm](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nobodyfrm](https://meta.discourse.org/u/nobodyfrm)
#### Post date: [July 31, 2025, 5:36am UTC](https://meta.discourse.org/t/create-post-with-markdown-date-returns-error-500/376663/1 "2025-07-31T05:36:58Z")

</div>

Hi, when I try to create a post with markdown date i’ll get an error 500.

This error trigger via normal frontend post also!

What i’m doing wrong?

`curl -X POST `https://forum.example.com/posts.json` -H “Api-Key: <myKey>” -H “Api-Username: nobodyfrm” -H “Content-Type: application/json” -d ‘{“topic_id”: 553,“raw”: “CSD Limburg ` 2025-05-10T00:00:00Z`”}’`

Logs:

```plaintext
Message (11 copies reported)

MiniRacer::RuntimeError (TypeError: moment.tz is not a function)
lib/pretty_text.rb:238:in `eval'
lib/pretty_text.rb:238:in `block in markdown'
lib/pretty_text.rb:678:in `block in protect'
lib/pretty_text.rb:678:in `synchronize'
lib/pretty_text.rb:678:in `protect'
lib/pretty_text.rb:175:in `markdown'
lib/pretty_text.rb:301:in `cook'
app/models/post_analyzer.rb:30:in `cook'
app/models/post_analyzer.rb:149:in `cooked_stripped'
app/models/post_analyzer.rb:126:in `raw_links'
app/models/post_analyzer.rb:143:in `link_count'
app/models/post.rb:312:in `public_send'
app/models/post.rb:312:in `block (2 levels) in <class:Post>'
lib/validators/post_validator.rb:141:in `max_links_validator'
lib/validators/post_validator.rb:20:in `validate'
lib/post_creator.rb:179:in `valid?'
lib/post_creator.rb:187:in `create'
lib/new_post_manager.rb:321:in `perform_create_post'
lib/new_post_manager.rb:255:in `perform'
app/controllers/posts_controller.rb:218:in `block in create'
lib/distributed_memoizer.rb:16:in `block in memoize'
lib/distributed_mutex.rb:53:in `block in synchronize'
lib/distributed_mutex.rb:49:in `synchronize'
lib/distributed_mutex.rb:49:in `synchronize'
lib/distributed_mutex.rb:34:in `synchronize'
lib/distributed_memoizer.rb:12:in `memoize'
app/controllers/posts_controller.rb:217:in `create'
app/controllers/application_controller.rb:428:in `block in with_resolved_locale'
app/controllers/application_controller.rb:428:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
lib/middleware/default_headers.rb:13:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_t...

Backtrace

lib/pretty_text.rb:238:in `eval'
lib/pretty_text.rb:238:in `block in markdown'
lib/pretty_text.rb:678:in `block in protect'
lib/pretty_text.rb:678:in `synchronize'
lib/pretty_text.rb:678:in `protect'
lib/pretty_text.rb:175:in `markdown'
lib/pretty_text.rb:301:in `cook'
app/models/post_analyzer.rb:30:in `cook'
app/models/post_analyzer.rb:149:in `cooked_stripped'
app/models/post_analyzer.rb:126:in `raw_links'
app/models/post_analyzer.rb:143:in `link_count'
app/models/post.rb:312:in `public_send'
app/models/post.rb:312:in `block (2 levels) in <class:Post>'
lib/validators/post_validator.rb:141:in `max_links_validator'
lib/validators/post_validator.rb:20:in `validate'
lib/post_creator.rb:179:in `valid?'
lib/post_creator.rb:187:in `create'
lib/new_post_manager.rb:321:in `perform_create_post'
lib/new_post_manager.rb:255:in `perform'
app/controllers/posts_controller.rb:218:in `block in create'
lib/distributed_memoizer.rb:16:in `block in memoize'
lib/distributed_mutex.rb:53:in `block in synchronize'
lib/distributed_mutex.rb:49:in `synchronize'
lib/distributed_mutex.rb:49:in `synchronize'
lib/distributed_mutex.rb:34:in `synchronize'
lib/distributed_memoizer.rb:12:in `memoize'
app/controllers/posts_controller.rb:217:in `create'
actionpack (7.2.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:226:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:428:in `block in with_resolved_locale'
i18n (1.14.7) lib/i18n.rb:353:in `with_locale'
app/controllers/application_controller.rb:428:in `with_resolved_locale'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `block in instrument'
activesupport (7.2.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `instrument'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:76:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.2.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:163:in `process'
actionview (7.2.2.1) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (4.0.0) lib/mini_profiler/profiling_methods.rb:90:in `block in profile_method'
actionpack (7.2.2.1) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (7.2.2.1) lib/action_controller/metal.rb:335:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `each'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:896:in `call'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
rack (2.2.17) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.17) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.17) lib/rack/head.rb:12:in `call'
actionpack (7.2.2.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
rack (2.2.17) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.17) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster (2.20.1) lib/logster/middleware/reporter.rb:40:in `call'
lib/middleware/default_headers.rb:13:in `call'
railties (7.2.2.1) lib/rails/rack/logger.rb:41:in `call_app'
railties (7.2.2.1) lib/rails/rack/logger.rb:29:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/request_id.rb:33:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.17) lib/rack/method_override.rb:24:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'
rack (2.2.17) lib/rack/sendfile.rb:110:in `call'
plugins/discourse-prometheus/lib/middleware/metrics.rb:14:in `call'
rack-mini-profiler (4.0.0) lib/mini_profiler.rb:191:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.4.1) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:385:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
railties (7.2.2.1) lib/rails/engine.rb:535:in `call'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `public_send'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.17) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.17) lib/rack/urlmap.rb:58:in `each'
rack (2.2.17) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'

```

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [July 31, 2025, 7:55am UTC](https://meta.discourse.org/t/create-post-with-markdown-date-returns-error-500/376663/2 "2025-07-31T07:55:04Z")

</div>

Does it work if you do it from the UX? Do you have any third post party plugins?

---

<div class="post-metadata">

### Author: ![nobodyfrm](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nobodyfrm](https://meta.discourse.org/u/nobodyfrm)
#### Post date: [July 31, 2025, 8:21am UTC](https://meta.discourse.org/t/create-post-with-markdown-date-returns-error-500/376663/3 "2025-07-31T08:21:00Z")

</div>

no, it dont work from the normal user ux/frontend.

Plugins:

| Name | URL |
| --- | --- |
| Custom wizard | [Bump version · paviliondev/discourse-custom-wizard@6e1efdd · GitHub](https://github.com/paviliondev/discourse-custom-wizard/commit/6e1efdd9b81a77264bd600385dd2c6c72134b41d) |
| [Data explorer](https://meta.discourse.org/t/32566?silent=true) | [Build(deps-dev): Bump rack from 3.1.12 to 3.1.16 (#378) · discourse/discourse-data-explorer@d60c7ac · GitHub](https://github.com/discourse/discourse-data-explorer/commit/d60c7acbe8fe1c93b2b5d5434aa72445c4cb00b7) |
| Discourse-Kalender | [FIX: Destroy calendar popover on navigation (#761) · discourse/discourse-calendar@a034764 · GitHub](https://github.com/discourse/discourse-calendar/commit/a034764920f2047f1f35956effbe3bc1299d3b26) |
| Docs | [Build(deps-dev): Bump rack from 3.1.12 to 3.1.16 (#211) · discourse/discourse-docs@17909a9 · GitHub](https://github.com/discourse/discourse-docs/commit/17909a90a9062d11e1ec9f5974e138c54a6507e4) |
| Footnote | [DEV: Add various APIs and outlets to the themes config area (#33385) · discourse/discourse@0ccf792 · GitHub](https://github.com/discourse/discourse/commit/0ccf792b91ec3ff6e9563753c2dfa214e8041a58) |
| Journal | [Merge pull request #8 from fokx/main · paviliondev/discourse-journal@ecbd0ff · GitHub](https://github.com/paviliondev/discourse-journal/commit/ecbd0ff7558b42ba9a899bd06696f23802c91ec1) |
| Locations | [Merge pull request #127 from davidtaylorhq/raw-handlebars · merefield/discourse-locations@06048dc · GitHub](https://github.com/paviliondev/discourse-locations/commit/06048dc259649f342edea35ce0a7f8ea8f80a803) |
| Prometheus | [bump rack from 3.1.15 to 3.1.16 (#150) · discourse/discourse-prometheus@a1e0ba6 · GitHub](https://github.com/discourse/discourse-prometheus/commit/a1e0ba671e13ceb9541a4d62d3ff7d206393d438) |
| Signatures | [Bump rack from 3.1.12 to 3.1.16 (#90) · discourse/discourse-signatures@c0d69bd · GitHub](https://github.com/discourse/discourse-signatures/commit/c0d69bd03fb2ec0c0169965464d5ba138ad28414) |
| Discourse Spoiler-Alarm | [DEV: Add various APIs and outlets to the themes config area (#33385) · discourse/discourse@0ccf792 · GitHub](https://github.com/discourse/discourse/commit/0ccf792b91ec3ff6e9563753c2dfa214e8041a58) |
| Discourse – Folgen | [Bump rack from 3.1.12 to 3.1.16 (#153) · discourse/discourse-follow@240f7f9 · GitHub](https://github.com/paviliondev/discourse-follow/commit/240f7f923e77394a50a5b6199f27d0c99fd22f0d) |
| Discourse – Gamifizierung | [Bump rack from 3.1.12 to 3.1.16 (#205) · discourse/discourse-gamification@178cb22 · GitHub](https://github.com/discourse/discourse-gamification/commit/178cb22bc3e50030a2e56a27a505570fbfc63db2) |
| Discourse – Gelöst | [FIX: Check if user has existing solution despite trust\_level=any for … · discourse/discourse-solved@0350b46 · GitHub](https://github.com/discourse/discourse-solved/commit/0350b46bdafc2cb55ab7ff01dead6bdd2cea1f09) |
| Discourse – Wer ist online? | [Bump rack from 3.1.12 to 3.1.16 (#131) · discourse/discourse-whos-online@7618335 · GitHub](https://github.com/discourse/discourse-whos-online/commit/76183351645aea8d0837f602d9f3ab8c89994ed6) |

# Themes & Components

| Name | URL |
| --- | --- |
| DiscoTOC | [GitHub - discourse/DiscoTOC: A Discourse theme component that generates a table of contents for topics with one click · GitHub](https://github.com/discourse/DiscoTOC.git) |
| discourse-reply-template-component | [GitHub - discourse/discourse-reply-template-component · GitHub](https://github.com/discourse/discourse-reply-template-component.git) |
| Hamburger links component | [GitHub - discourse/discourse-custom-hamburger-links · GitHub](https://github.com/discourse/discourse-custom-hamburger-links.git) |
| Icon Header Links | [GitHub - discourse/discourse-icon-header-links · GitHub](https://github.com/discourse-com/discourse-icon-header-links.git) |

---

<div class="post-metadata">

### Author: ![nat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nat/32/235063_2.png) [@nat](https://meta.discourse.org/u/nat)
#### Post date: [July 31, 2025, 9:05am UTC](https://meta.discourse.org/t/create-post-with-markdown-date-returns-error-500/376663/4 "2025-07-31T09:05:01Z")

</div>

What Discourse version are you on?

* * *

> [@nobodyfrm](#):
>
> `curl -X POST `[https://forum.example.com/posts.json`](https://forum.example.com/posts.json%60) -H “Api-Key: ” -H “Api-Username: nobodyfrm” -H “Content-Type: application/json” -d ‘{“topic\_id”: 553,“raw”: “CSD Limburg ` [date=2025-05-10]`”}’`

Your post raw looks funky here. Can you confirm you wrote this

```plaintext
curl -X POST `https://forum.example.com/posts.json` \
-H “Api-Key: <myKey>” \
-H “Api-Username: nobodyfrm” \
-H “Content-Type: application/json” \
-d ‘{“topic_id”: 553,“raw”: “CSD Limburg `` [date=2025-05-10]`”}’

```

> [@nobodyfrm](#):
>
> This error trigger via normal frontend post also!

Or share a video/screenshot of what you are typing in the composer.

---

<div class="post-metadata">

### Author: ![nobodyfrm](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nobodyfrm](https://meta.discourse.org/u/nobodyfrm)
#### Post date: [July 31, 2025, 10:04am UTC](https://meta.discourse.org/t/create-post-with-markdown-date-returns-error-500/376663/5 "2025-07-31T10:04:23Z")

</div>

your curl creates a post but the date is quoted text - not a date.

 ![grafik](https://global.discourse-cdn.com/meta/original/4X/f/4/b/f4bd09b114e9957ad1579e8f1ff8a16161f961a4.png)

 ![grafik](https://global.discourse-cdn.com/meta/original/4X/b/2/d/b2d5e1879ddf3f37a2bc833ba306a3ab3a8e0a81.png)

---

<div class="post-metadata">

### Author: ![nobodyfrm](https://avatars.discourse-cdn.com/v4/letter/n/e0b2c6/32.png) [@nobodyfrm](https://meta.discourse.org/u/nobodyfrm)
#### Post date: [July 31, 2025, 10:39am UTC](https://meta.discourse.org/t/create-post-with-markdown-date-returns-error-500/376663/7 "2025-07-31T10:39:41Z")

</div>

i found my mistake: Some plugins are now included in discourse core so the plugins was outdated.

After I fixed this it works as expected.

---

<div class="post-metadata">

### Author: ![jdc20181](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jdc20181/32/515028_2.png) [@jdc20181](https://meta.discourse.org/u/jdc20181)
#### Post date: [August 2, 2025, 11:40am UTC](https://meta.discourse.org/t/create-post-with-markdown-date-returns-error-500/376663/8 "2025-08-02T11:40:17Z")

</div>

I am not sure if this is the solution for me since I have had it happen after updating Discourse thus, any core plugins should have updated with discourse in my case.

Reference my Post:

[Internal Server Error - Time/Date Insert - Support - Discourse Meta](https://meta.discourse.org/t/internal-server-error-time-date-insert/376951)

Someone referenced this one, but while I think its related, I don’t know if its 100% the same.
