# Faraday: bad request error when posting

**URL:** <https://meta.discourse.org/t/faraday-bad-request-error-when-posting/308407>\
**Category:** Support\
**Created:** [May 17, 2024, 9:55am UTC](https://meta.discourse.org/t/faraday-bad-request-error-when-posting/308407 "2024-05-17T09:55:37Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [May 17, 2024, 9:55am UTC](https://meta.discourse.org/t/faraday-bad-request-error-when-posting/308407/1 "2024-05-17T09:55:37Z")

</div>

If an user post on topic where last writer is another user then comes error 500. But that comment is published anyway.

But if an user writes a post and same user was last writer on that topic already then there is no error.

I as an admin can’t unlock topics. So there can be another glitches too.

This much I know:

- safe-mode doesn’t help
- commenting MaxMind in app.yml doesn’t help
- ubuntu is up to date and rebooted
- Discourse is rebuilded via shell yesterday and today twice
- that doesn’t happend here, obviously
- [standard install](https://meta.discourse.org/t/142537?silent=true), nothing fancy
- happends to everyone — well, mobiles anyway, desktops I don’t know, but because it is error 500 I don’t see how a device could be involved
- error:

> **backtrace**
>
> ```plaintext
> Message (20 copies reported)
> 
> Faraday::BadRequestError (the server responded with status 400)
> lib/discourse_event.rb:12:in `block in trigger'
> lib/discourse_event.rb:12:in `trigger'
> lib/post_creator.rb:258:in `trigger_after_events'
> lib/post_creator.rb:220:in `create'
> lib/new_post_manager.rb:318:in `perform_create_post'
> lib/new_post_manager.rb:252:in `perform'
> app/controllers/posts_controller.rb:201:in `create'
> app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
> app/controllers/application_controller.rb:423:in `with_resolved_locale'
> lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
> lib/content_security_policy/middleware.rb:12:in `call'
> lib/middleware/anonymous_cache.rb:393:in `call'
> lib/middleware/csp_script_nonce_injector.rb:12:in `call'
> config/initializers/008-rack-cors.rb:14: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:24:in `call'
> lib/middleware/request_tracker.rb:277:in `call'
> 
> Backtrace
> 
> faraday (2.9.0) lib/faraday/response/raise_error.rb:16:in `on_complete'
> faraday (2.9.0) lib/faraday/middleware.rb:18:in `block in call'
> faraday (2.9.0) lib/faraday/response.rb:42:in `on_complete'
> faraday (2.9.0) lib/faraday/middleware.rb:17:in `call'
> faraday (2.9.0) lib/faraday/rack_builder.rb:152:in `build_response'
> faraday (2.9.0) lib/faraday/connection.rb:444:in `run_request'
> faraday (2.9.0) lib/faraday/connection.rb:280:in `post'
> ruby-openai (7.0.0) lib/openai/http.rb:22:in `json_post'
> ruby-openai (7.0.0) lib/openai/client.rb:30:in `chat'
> plugins/discourse-ai-topic-summary/lib/ai_topic_summary/call_bot.rb:15:in `get_response'
> plugins/discourse-ai-topic-summary/lib/ai_topic_summary/summarise.rb:6:in `retrieve_summary'
> plugins/discourse-ai-topic-summary/plugin.rb:62:in `block (2 levels) in activate!'
> lib/discourse_event.rb:12:in `block in trigger'
> /usr/local/lib/ruby/3.2.0/set.rb:511:in `each_key'
> /usr/local/lib/ruby/3.2.0/set.rb:511:in `each'
> lib/discourse_event.rb:12:in `trigger'
> lib/post_creator.rb:258:in `trigger_after_events'
> lib/post_creator.rb:220:in `create'
> lib/new_post_manager.rb:318:in `perform_create_post'
> lib/new_post_manager.rb:252:in `perform'
> app/controllers/posts_controller.rb:201:in `create'
> actionpack (7.0.8.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
> actionpack (7.0.8.1) lib/abstract_controller/base.rb:215:in `process_action'
> actionpack (7.0.8.1) lib/action_controller/metal/rendering.rb:165:in `process_action'
> actionpack (7.0.8.1) lib/abstract_controller/callbacks.rb:234:in `block in process_action'
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:118:in `block in run_callbacks'
> plugins/discourse-staff-alias/plugin.rb:129:in `block (4 levels) in activate!'
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:127:in `instance_exec'
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
> app/controllers/application_controller.rb:423:in `block in with_resolved_locale'
> i18n (1.14.5) lib/i18n.rb:351:in `with_locale'
> app/controllers/application_controller.rb:423:in `with_resolved_locale'
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:138:in `run_callbacks'
> actionpack (7.0.8.1) lib/abstract_controller/callbacks.rb:233:in `process_action'
> actionpack (7.0.8.1) lib/action_controller/metal/rescue.rb:23:in `process_action'
> actionpack (7.0.8.1) lib/action_controller/metal/instrumentation.rb:67:in `block in process_action'
> activesupport (7.0.8.1) lib/active_support/notifications.rb:206:in `block in instrument'
> activesupport (7.0.8.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
> activesupport (7.0.8.1) lib/active_support/notifications.rb:206:in `instrument'
> actionpack (7.0.8.1) lib/action_controller/metal/instrumentation.rb:66:in `process_action'
> actionpack (7.0.8.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
> activerecord (7.0.8.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
> actionpack (7.0.8.1) lib/abstract_controller/base.rb:151:in `process'
> actionview (7.0.8.1) lib/action_view/rendering.rb:39:in `process'
> actionpack (7.0.8.1) lib/action_controller/metal.rb:188:in `dispatch'
> actionpack (7.0.8.1) lib/action_controller/metal.rb:251:in `dispatch'
> actionpack (7.0.8.1) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
> actionpack (7.0.8.1) lib/action_dispatch/routing/route_set.rb:32:in `serve'
> actionpack (7.0.8.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
> actionpack (7.0.8.1) lib/action_dispatch/journey/router.rb:32:in `each'
> actionpack (7.0.8.1) lib/action_dispatch/journey/router.rb:32:in `serve'
> actionpack (7.0.8.1) lib/action_dispatch/routing/route_set.rb:852:in `call'
> lib/middleware/omniauth_bypass_middleware.rb:64:in `call'
> rack (2.2.9) lib/rack/tempfile_reaper.rb:15:in `call'
> rack (2.2.9) lib/rack/conditional_get.rb:40:in `call'
> rack (2.2.9) lib/rack/head.rb:12:in `call'
> actionpack (7.0.8.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:393:in `call'
> lib/middleware/csp_script_nonce_injector.rb:12:in `call'
> config/initializers/008-rack-cors.rb:14:in `call'
> rack (2.2.9) lib/rack/session/abstract/id.rb:266:in `context'
> rack (2.2.9) lib/rack/session/abstract/id.rb:260:in `call'
> actionpack (7.0.8.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
> actionpack (7.0.8.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
> activesupport (7.0.8.1) lib/active_support/callbacks.rb:99:in `run_callbacks'
> actionpack (7.0.8.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
> actionpack (7.0.8.1) lib/action_dispatch/middleware/debug_exceptions.rb:28:in `call'
> actionpack (7.0.8.1) lib/action_dispatch/middleware/show_exceptions.rb:29:in `call'
> logster (2.19.1) lib/logster/middleware/reporter.rb:40:in `call'
> railties (7.0.8.1) lib/rails/rack/logger.rb:40:in `call_app'
> railties (7.0.8.1) lib/rails/rack/logger.rb:27:in `call'
> config/initializers/100-quiet_logger.rb:20:in `call'
> config/initializers/100-silence_logger.rb:29:in `call'
> actionpack (7.0.8.1) lib/action_dispatch/middleware/remote_ip.rb:93:in `call'
> request_store (1.7.0) lib/request_store/middleware.rb:19:in `call'
> actionpack (7.0.8.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
> lib/middleware/enforce_hostname.rb:24:in `call'
> rack (2.2.9) lib/rack/method_override.rb:24:in `call'
> actionpack (7.0.8.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
> rack (2.2.9) lib/rack/sendfile.rb:110:in `call'
> actionpack (7.0.8.1) lib/action_dispatch/middleware/host_authorization.rb:131:in `call'
> message_bus (4.3.8) lib/message_bus/rack/middleware.rb:60:in `call'
> lib/middleware/request_tracker.rb:277:in `call'
> railties (7.0.8.1) lib/rails/engine.rb:530:in `call'
> railties (7.0.8.1) lib/rails/railtie.rb:226:in `public_send'
> railties (7.0.8.1) lib/rails/railtie.rb:226:in `method_missing'
> rack (2.2.9) lib/rack/urlmap.rb:74:in `block in call'
> rack (2.2.9) lib/rack/urlmap.rb:58:in `each'
> rack (2.2.9) 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.2.0/bin/unicorn:25:in `load'
> vendor/bundle/ruby/3.2.0/bin/unicorn:25:in `<main>'
> 
> Env
> 
> HTTP HOSTS: foorumi.katiska.eu
> 
> ```

Ideas what I should do next?

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [May 17, 2024, 9:57am UTC](https://meta.discourse.org/t/faraday-bad-request-error-when-posting/308407/2 "2024-05-17T09:57:12Z")

</div>

This might be on me?

Try to disable AI Topic Summary.

Something is going wrong with your request to Open AI probably (hence 400)

I really should move that request to a job that is spawned in an independent thread.

I have not had time (work work work) to do that yet, but I will get around to it.

In the meantime check your model and account.

---

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [May 17, 2024, 10:02am UTC](https://meta.discourse.org/t/faraday-bad-request-error-when-posting/308407/3 "2024-05-17T10:02:27Z")

</div>

Yeah, you were right.

I never remember that safe-mode doesn’t shut down all plugins. We close-to-enduser-admins really need some mark to tell when safe-mode do the magic and when not.

(Please-please-please fix that when you have time; I really like that summary).

---

<div class="post-metadata">

**Author:** ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)\
**Post date:** [May 17, 2024, 10:04am UTC](https://meta.discourse.org/t/faraday-bad-request-error-when-posting/308407/4 "2024-05-17T10:04:16Z")

</div>

Note the fix will be to make it less of a disruption when it breaks.

It will not fix your 400 error - you may need to find out what is causing that and report back to me if it’s another bug.

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)\
**Post date:** [June 16, 2024, 10:04am UTC](https://meta.discourse.org/t/faraday-bad-request-error-when-posting/308407/5 "2024-06-16T10:04:39Z")

</div>

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