From 62f8283587d5d86284bd8f97d20daa71e5ebcd4d Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Tue, 2 Jun 2026 13:44:52 +0300 Subject: [PATCH 1/9] adjust html to text --- lib/html_to_plain_text.rb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/html_to_plain_text.rb b/lib/html_to_plain_text.rb index 1001f40c..f0040d06 100644 --- a/lib/html_to_plain_text.rb +++ b/lib/html_to_plain_text.rb @@ -10,7 +10,7 @@ module HtmlToPlainText doc = Nokogiri::HTML.fragment(cleaned) - doc.css('script').each(&:remove) + doc.xpath('.//script').each(&:remove) result = process_nodes(doc, line_length) @@ -33,12 +33,9 @@ module HtmlToPlainText result = +'' node.children.each do |child| - case child - when Nokogiri::XML::Text + if child.text? || child.cdata? result << child.text - when Nokogiri::XML::Comment - next - when Nokogiri::XML::Element + elsif child.element? result << process_element(child, line_length) end end From 344a3ce198931f723185f7e1c4d39c06114e5fff Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Wed, 3 Jun 2026 13:24:08 +0300 Subject: [PATCH 2/9] adjust sanitize --- app/views/submissions/show.html.erb | 2 +- app/views/submitter_mailer/declined_email.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/submissions/show.html.erb b/app/views/submissions/show.html.erb index 3d23b90a..709dc9a9 100644 --- a/app/views/submissions/show.html.erb +++ b/app/views/submissions/show.html.erb @@ -227,7 +227,7 @@
<%= t('reason') %>: - <%= simple_format(h(submitter.submission_events.find_by(event_type: :decline_form).data['reason'])) %> + <%= simple_format(h(submitter.submission_events.find_by(event_type: :decline_form).data['reason']), {}, sanitize: false) %>
<% end %> diff --git a/app/views/submitter_mailer/declined_email.html.erb b/app/views/submitter_mailer/declined_email.html.erb index 07b877c9..40e02391 100644 --- a/app/views/submitter_mailer/declined_email.html.erb +++ b/app/views/submitter_mailer/declined_email.html.erb @@ -1,4 +1,4 @@

<%= t('hi_there') %>,

<%= t('name_declined_by_submitter_with_the_following_reason', name: @submitter.submission.name || @submitter.submission.template.name, submitter: @submitter.name || @submitter.email || @submitter.phone) %>

-<%= simple_format(h(@submitter.submission_events.find_by(event_type: :decline_form).data['reason'])) %> +<%= simple_format(h(@submitter.submission_events.find_by(event_type: :decline_form).data['reason']), {}, sanitize: false) %>

<%= link_to submission_url(@submitter.submission), submission_url(@submitter.submission) %>

From dd6516fd11fb2db7d08ffad533d646551ba0599d Mon Sep 17 00:00:00 2001 From: Alex Turchyn Date: Tue, 2 Jun 2026 19:34:18 +0300 Subject: [PATCH 3/9] add cmd+scroll zooming to template builder --- app/javascript/template_builder/area.vue | 3 +- app/javascript/template_builder/builder.vue | 76 +++++++++++++++++++-- app/javascript/template_builder/i18n.js | 21 ++++-- app/javascript/template_builder/page.vue | 2 +- 4 files changed, 89 insertions(+), 13 deletions(-) diff --git a/app/javascript/template_builder/area.vue b/app/javascript/template_builder/area.vue index 06a3eb9b..eba4737c 100644 --- a/app/javascript/template_builder/area.vue +++ b/app/javascript/template_builder/area.vue @@ -197,7 +197,8 @@ v-else-if="!isCheckboxInput" width="100%" height="100%" - class="max-h-10 opacity-50" + class="opacity-50" + :style="{ maxHeight: isInlineSize ? '5cqmin' : '40px' }" /> diff --git a/app/javascript/template_builder/builder.vue b/app/javascript/template_builder/builder.vue index 5e3f46fb..d2605853 100644 --- a/app/javascript/template_builder/builder.vue +++ b/app/javascript/template_builder/builder.vue @@ -355,12 +355,17 @@