docusealco / docuseal

Open source DocuSign alternative. Create, fill, and sign digital documents ✍️
https://www.docuseal.co
GNU Affero General Public License v3.0
5.97k stars 410 forks source link

[Bug] Heroku - multi-tenant set up with S3 storage - Server Error on Document Download #36

Closed 3brover005 closed 1 year ago

3brover005 commented 1 year ago

Hi Docuseal,

We found that in our set up, when any user (internal or document recipient) attempts to download the completed file, the following error is returned:

"no implicit conversion of nil into String"

This seems to be coming from the submissions_download_controller.rb class.

Any help would be great.

Trace 2023-07-29T20:04:49.885137+00:00 app[web.1]: E, [2023-07-29T20:04:49.884845 #2] ERROR -- : [462dfa36-cffc-4525-a428-14566281d072] ["/app/lib/accounts.rb:54:ininitialize'", "/app/lib/accounts.rb:54:in new'", "/app/lib/accounts.rb:54:inload_signing_certs'", "/app/lib/submissions/generate_result_attachments.rb:26:in call'", "/app/lib/submissions/ensure_result_generated.rb:26:incall'", "/app/app/controllers/submissions_download_controller.rb:10:in index'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_controller/metal/basic_implicit_render.rb:6:insend_action'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/abstract_controller/base.rb:215:in process_action'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_controller/metal/rendering.rb:165:inprocess_action'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/abstract_controller/callbacks.rb:234:in block in process_action'", "/usr/local/bundle/gems/activesupport-7.0.5/lib/active_support/callbacks.rb:107:inrun_callbacks'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/abstract_controller/callbacks.rb:233:in process_action'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_controller/metal/rescue.rb:22:inprocess_action'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_controller/metal/instrumentation.rb:67:in block in process_action'", "/usr/local/bundle/gems/activesupport-7.0.5/lib/active_support/notifications.rb:206:inblock in instrument'", "/usr/local/bundle/gems/activesupport-7.0.5/lib/active_support/notifications/instrumenter.rb:24:in instrument'", "/usr/local/bundle/gems/activesupport-7.0.5/lib/active_support/notifications.rb:206:ininstrument'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_controller/metal/instrumentation.rb:66:in process_action'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_controller/metal/params_wrapper.rb:259:inprocess_action'", "/usr/local/bundle/gems/activerecord-7.0.5/lib/active_record/railties/controller_runtime.rb:27:in process_action'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/abstract_controller/base.rb:151:inprocess'", "/usr/local/bundle/gems/actionview-7.0.5/lib/action_view/rendering.rb:39:in process'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_controller/metal.rb:188:indispatch'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_controller/metal.rb:251:in dispatch'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/routing/route_set.rb:49:indispatch'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/routing/route_set.rb:32:in serve'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/journey/router.rb:50:inblock in serve'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/journey/router.rb:32:in each'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/journey/router.rb:32:inserve'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/routing/route_set.rb:852:in call'", "/usr/local/bundle/gems/omniauth-2.1.1/lib/omniauth/strategy.rb:202:incall!'", "/usr/local/bundle/gems/omniauth-2.1.1/lib/omniauth/strategy.rb:169:in call'", "/usr/local/bundle/gems/warden-1.2.9/lib/warden/manager.rb:36:inblock in call'", "/usr/local/bundle/gems/warden-1.2.9/lib/warden/manager.rb:34:in catch'", "/usr/local/bundle/gems/warden-1.2.9/lib/warden/manager.rb:34:incall'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/tempfile_reaper.rb:15:in call'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/etag.rb:27:incall'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/conditional_get.rb:27:in call'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/head.rb:12:incall'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/http/permissions_policy.rb:38:in call'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/http/content_security_policy.rb:36:incall'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/session/abstract/id.rb:266:in context'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/session/abstract/id.rb:260:incall'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/cookies.rb:704:in call'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/callbacks.rb:27:inblock in call'", "/usr/local/bundle/gems/activesupport-7.0.5/lib/active_support/callbacks.rb:99:in run_callbacks'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/callbacks.rb:26:incall'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/debug_exceptions.rb:28:in call'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/show_exceptions.rb:26:incall'", "/usr/local/bundle/gems/lograge-0.12.0/lib/lograge/rails_ext/rack/logger.rb:18:in call_app'", "/usr/local/bundle/gems/railties-7.0.5/lib/rails/rack/logger.rb:25:inblock in call'", "/usr/local/bundle/gems/activesupport-7.0.5/lib/active_support/tagged_logging.rb:99:in block in tagged'", "/usr/local/bundle/gems/activesupport-7.0.5/lib/active_support/tagged_logging.rb:37:intagged'", "/usr/local/bundle/gems/activesupport-7.0.5/lib/active_support/tagged_logging.rb:99:in tagged'", "/usr/local/bundle/gems/railties-7.0.5/lib/rails/rack/logger.rb:25:incall'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/remote_ip.rb:93:in call'", "/usr/local/bundle/gems/request_store-1.5.1/lib/request_store/middleware.rb:19:incall'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/request_id.rb:26:in call'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/method_override.rb:24:incall'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/runtime.rb:22:in call'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/executor.rb:14:incall'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/static.rb:23:in call'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/deflater.rb:44:incall'", "/usr/local/bundle/gems/rack-2.2.7/lib/rack/sendfile.rb:110:in call'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/ssl.rb:77:incall'", "/usr/local/bundle/gems/actionpack-7.0.5/lib/action_dispatch/middleware/host_authorization.rb:131:in call'", "/usr/local/bundle/gems/railties-7.0.5/lib/rails/engine.rb:530:incall'", "/usr/local/bundle/gems/puma-6.3.0/lib/puma/configuration.rb:270:in call'", "/usr/local/bundle/gems/puma-6.3.0/lib/puma/request.rb:100:inblock in handle_request'", "/usr/local/bundle/gems/puma-6.3.0/lib/puma/thread_pool.rb:344:in with_force_shutdown'", "/usr/local/bundle/gems/puma-6.3.0/lib/puma/request.rb:99:inhandle_request'", "/usr/local/bundle/gems/puma-6.3.0/lib/puma/server.rb:443:in process_client'", "/usr/local/bundle/gems/puma-6.3.0/lib/puma/server.rb:245:inblock in run'", "/usr/local/bundle/gems/puma-6.3.0/lib/puma/thread_pool.rb:151:in block in spawn_thread'"]

3brover005 commented 1 year ago

Upon closer inspection, the issue is with Signing Certificates not present in the ENV config (only applicable to multi tenant setup). Any documentation on how to set up the signing certificates would be welcome