From 37d4a8e83479c4e74bf04f533f49db4d2466ce99 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Mon, 11 May 2026 14:06:17 +0300 Subject: [PATCH 01/14] update gem --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 13217069..22585096 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -116,7 +116,7 @@ GEM erubi (~> 1.4) parser (>= 2.4) smart_properties - bigdecimal (4.1.0) + bigdecimal (4.1.2) bindex (0.8.1) bootsnap (1.23.0) msgpack (~> 1.2) @@ -161,7 +161,7 @@ GEM irb (~> 1.10) reline (>= 0.3.8) declarative (0.0.20) - devise (5.0.3) + devise (5.0.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 7.0) @@ -268,13 +268,13 @@ GEM mini_magick (>= 4.9.5, < 6) ruby-vips (>= 2.0.17, < 3) io-console (0.8.2) - irb (1.17.0) + irb (1.18.0) pp (>= 0.6.0) prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) jmespath (1.6.2) - json (2.19.3) + json (2.19.5) jwt (3.1.2) base64 language_server-protocol (3.17.0.5) @@ -311,7 +311,7 @@ GEM mini_magick (5.3.1) logger mini_mime (1.1.5) - minitest (6.0.3) + minitest (6.0.6) drb (~> 2.0) prism (~> 1.5) msgpack (1.8.0) @@ -429,7 +429,7 @@ GEM tsort (>= 0.2) zeitwerk (~> 2.6) rainbow (3.1.1) - rake (13.3.1) + rake (13.4.2) rdoc (7.2.0) erb psych (>= 4.0.0) From a7891f89f83f2303411a4ceb02e20a5ac55d6bcf Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Mon, 11 May 2026 17:02:19 +0300 Subject: [PATCH 02/14] do not override custom webhook header --- lib/send_webhook_request.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/send_webhook_request.rb b/lib/send_webhook_request.rb index 2eb346e9..5bae9bf3 100644 --- a/lib/send_webhook_request.rb +++ b/lib/send_webhook_request.rb @@ -39,7 +39,9 @@ module SendWebhookRequest data: data }.to_json - req.headers['X-Docuseal-Signature'] = WebhookUrls::Signatures.sign(webhook_url.hmac_secret, body: req.body) + if req.headers['X-Docuseal-Signature'].blank? + req.headers['X-Docuseal-Signature'] = WebhookUrls::Signatures.sign(webhook_url.hmac_secret, body: req.body) + end req.options.read_timeout = 15 req.options.open_timeout = 8 From 04129ded9072e21b45b75fa841c17d433a694d8a Mon Sep 17 00:00:00 2001 From: Alex Turchyn Date: Thu, 7 May 2026 16:49:03 +0300 Subject: [PATCH 03/14] add complete button to signing form header --- app/javascript/form.js | 6 +- app/javascript/submission_form/form.vue | 58 +++++++++++++++ app/views/submit_form/show.html.erb | 2 + spec/system/signing_form_spec.rb | 93 ++++++++++++++++++------- 4 files changed, 132 insertions(+), 27 deletions(-) diff --git a/app/javascript/form.js b/app/javascript/form.js index c8d5790e..6fbfe19c 100644 --- a/app/javascript/form.js +++ b/app/javascript/form.js @@ -52,7 +52,11 @@ safeRegisterElement('submission-form', class extends HTMLElement { completedMessage: JSON.parse(this.dataset.completedMessage || '{}'), completedRedirectUrl: this.dataset.completedRedirectUrl, attachments: reactive(JSON.parse(this.dataset.attachments)), - fields: JSON.parse(this.dataset.fields) + fields: JSON.parse(this.dataset.fields), + completeButtonRef: document.getElementById('complete_button_container'), + completeButtonMobileRef: document.getElementById('complete_button_container_mobile'), + declineButtonRef: document.getElementById('decline_button')?.closest('modal-button'), + declineButtonMobileRef: document.getElementById('decline_button_mobile')?.closest('modal-button') }) this.app.mount(this.appElem) diff --git a/app/javascript/submission_form/form.vue b/app/javascript/submission_form/form.vue index 2d948bc3..fc90c7bd 100644 --- a/app/javascript/submission_form/form.vue +++ b/app/javascript/submission_form/form.vue @@ -113,6 +113,31 @@ + + + @@ -65,6 +66,7 @@