Good evening! I am trying to create a conversation programmatically via the API, but I get this error:
INFO: {“code”:422,“message”:“Couldn’t accept or process the conversation”}
The request I am submitting:
What could be the problem?
Good evening! I am trying to create a conversation programmatically via the API, but I get this error:
INFO: {“code”:422,“message”:“Couldn’t accept or process the conversation”}
The request I am submitting:
What could be the problem?
Before that, I created aspect and added contact to sender and recipient
Everything looks alright from what I can see, can you add
Rails.logger.error { e }
before the following line: https://github.com/diaspora/diaspora/blob/develop/app/controllers/api/v1/conversations_controller.rb#L45 ?
Ah sorry, you have to add => e
at the end of the previous line too, I overlooked it’s missing
[2020-09-30T08:59:49] ERROR PID-68387 TID-70123929786720 Rails: ActiveRecord::RecordNotFound ActiveRecord::RecordNotFound
/home/diaspora/diaspora/app/models/person.rb:222:in find_from_guid_or_username' /home/diaspora/diaspora/app/controllers/api/v1/conversations_controller.rb:70:in
block in recipient_ids’
/home/diaspora/diaspora/app/controllers/api/v1/conversations_controller.rb:70:in map' /home/diaspora/diaspora/app/controllers/api/v1/conversations_controller.rb:70:in
recipient_ids’
/home/diaspora/diaspora/app/controllers/api/v1/conversations_controller.rb:37:in create' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_controller/metal/basic_implicit_render.rb:6:in
send_action’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/abstract_controller/base.rb:194:in process_action' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_controller/metal/rendering.rb:30:in
process_action’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/abstract_controller/callbacks.rb:42:in block in process_action' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:132:in
run_callbacks’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/abstract_controller/callbacks.rb:41:in process_action' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_controller/metal/rescue.rb:22:in
process_action’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_controller/metal/instrumentation.rb:34:in block in process_action' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/activesupport-5.2.4.3/lib/active_support/notifications.rb:168:in
block in instrument’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/activesupport-5.2.4.3/lib/active_support/notifications/instrumenter.rb:23:in instrument' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/activesupport-5.2.4.3/lib/active_support/notifications.rb:168:in
instrument’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_controller/metal/instrumentation.rb:32:in process_action' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_controller/metal/params_wrapper.rb:256:in
process_action’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/activerecord-5.2.4.3/lib/active_record/railties/controller_runtime.rb:24:in process_action' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/abstract_controller/base.rb:134:in
process’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionview-5.2.4.3/lib/action_view/rendering.rb:32:in process' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_controller/metal.rb:191:in
dispatch’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_controller/metal.rb:252:in dispatch' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/routing/route_set.rb:52:in
dispatch’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/routing/route_set.rb:34:in serve' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/journey/router.rb:52:in
block in serve’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/journey/router.rb:35:in each' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/journey/router.rb:35:in
serve’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/routing/route_set.rb:840:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/omniauth-1.9.1/lib/omniauth/builder.rb:45:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-mobile-detect-0.4.0/lib/rack/mobile-detect.rb:164:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/http_accept_language-2.1.1/lib/http_accept_language/middleware.rb:14:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-oauth2-1.10.1/lib/rack/oauth2/server/resource.rb:20:in _call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-oauth2-1.10.1/lib/rack/oauth2/server/resource/bearer.rb:8:in
_call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-oauth2-1.10.1/lib/rack/oauth2/server/abstract/handler.rb:17:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/versionist-2.0.1/lib/versionist/middleware.rb:39:in
_call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/versionist-2.0.1/lib/versionist/middleware.rb:17:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/simple_captcha2-0.5.0/lib/simple_captcha/middleware.rb:47:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/warden-1.2.8/lib/warden/manager.rb:36:in block in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/warden-1.2.8/lib/warden/manager.rb:34:in
catch’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/warden-1.2.8/lib/warden/manager.rb:34:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/tempfile_reaper.rb:15:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/etag.rb:25:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/conditional_get.rb:38:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/head.rb:12:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/http/content_security_policy.rb:18:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/session/abstract/id.rb:259:in context' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/session/abstract/id.rb:253:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/cookies.rb:670:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/activerecord-5.2.4.3/lib/active_record/migration.rb:559:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/callbacks.rb:28:in block in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/activesupport-5.2.4.3/lib/active_support/callbacks.rb:98:in
run_callbacks’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/callbacks.rb:26:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/executor.rb:14:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/debug_exceptions.rb:61:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/show_exceptions.rb:33:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/railties-5.2.4.3/lib/rails/rack/logger.rb:38:in call_app' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/railties-5.2.4.3/lib/rails/rack/logger.rb:28:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/remote_ip.rb:81:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/request_store-1.5.0/lib/request_store/middleware.rb:19:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/request_id.rb:27:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/method_override.rb:22:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/runtime.rb:22:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/activesupport-5.2.4.3/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/executor.rb:14:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/actionpack-5.2.4.3/lib/action_dispatch/middleware/static.rb:127:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/sendfile.rb:111:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/turbo_dev_assets-0.0.2/lib/turbo_dev_assets.rb:32:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/secure_headers-6.3.0/lib/secure_headers/middleware.rb:11:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-cors-1.1.1/lib/rack/cors.rb:100:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/railties-5.2.4.3/lib/rails/engine.rb:524:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/railties-5.2.4.3/lib/rails/railtie.rb:190:in public_send' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/railties-5.2.4.3/lib/rails/railtie.rb:190:in
method_missing’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/deflater.rb:34:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/tempfile_reaper.rb:15:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/lint.rb:49:in _call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/lint.rb:37:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/show_exceptions.rb:23:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/common_logger.rb:33:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/chunked.rb:54:in call' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/rack-2.0.9/lib/rack/content_length.rb:15:in
call’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/unicorn-5.5.3/lib/unicorn/http_server.rb:605:in process_client' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/unicorn-worker-killer-0.4.4/lib/unicorn/worker_killer.rb:52:in
process_client’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/unicorn-5.5.3/lib/unicorn/http_server.rb:700:in worker_loop' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/unicorn-5.5.3/lib/unicorn/http_server.rb:548:in
spawn_missing_workers’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/unicorn-5.5.3/lib/unicorn/http_server.rb:144:in start' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/gems/unicorn-5.5.3/bin/unicorn:128:in
<top (required)>’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/bin/unicorn:23:in load' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/bin/unicorn:23:in
’
/home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/bin/ruby_executable_hooks:24:in eval' /home/diaspora/.rvm/gems/ruby-2.6.5@diaspora/bin/ruby_executable_hooks:24:in
’
I am wildly sorry, but I do not understand Ruby, so I cannot highlight something in the log output
It looks like the guid
in the recipients
list is incorrect. Where did you get it from?
Owww, I understand, the diaspora cannot find the user by guid. I am using the guid I get from the GET / api / v1 / user method
It needs to be the person guid, so for example the one you get from the contacts or people search resources.
User guid and contact guid are different entities?
I agree this is something that could’ve been abstracted away in the API, but apparently yes. FWIW sending a conversation to yourself doesn’t make a lot of sense and all people GUIDs outside the /user resource should be the right ones, so from normal API usage perspective you couldn’t even get at the “user guid” of a valid recipient.
Omg, I’m not that attentive, I hardcoded the wrong guid and tried to create a conversation. When I put the guid of the user that I described to you, the api worked as it should.
Great! Glad it works for you.
Thank you very much for your time
Of course, you’ are welcome