diff --git a/app/controllers/api/active_storage_blobs_proxy_controller.rb b/app/controllers/api/active_storage_blobs_proxy_controller.rb
index a542c637b..56ad1c3da 100644
--- a/app/controllers/api/active_storage_blobs_proxy_controller.rb
+++ b/app/controllers/api/active_storage_blobs_proxy_controller.rb
@@ -14,7 +14,7 @@ def show
blob_uuid, purp, exp = ApplicationRecord.signed_id_verifier.verified(params[:signed_uuid])
if blob_uuid.blank? || purp != 'blob'
- Rollbar.error('Blob not found') if defined?(Rollbar)
+ Rails.logger.error('Blob not found')
return head :not_found
end
@@ -57,7 +57,7 @@ def authorization_check!(attachment, record, exp)
return if !require_ttl && !require_auth
end
- Rollbar.error('Blob unauthorized') if defined?(Rollbar)
+ Rails.logger.error('Blob unauthorized')
raise CanCan::AccessDenied
end
diff --git a/app/controllers/api/active_storage_blobs_proxy_legacy_controller.rb b/app/controllers/api/active_storage_blobs_proxy_legacy_controller.rb
index 77ad2c6ad..c023f2656 100644
--- a/app/controllers/api/active_storage_blobs_proxy_legacy_controller.rb
+++ b/app/controllers/api/active_storage_blobs_proxy_legacy_controller.rb
@@ -12,7 +12,7 @@ class ActiveStorageBlobsProxyLegacyController < ApiBaseController
# rubocop:disable Metrics
def show
- Rollbar.info('Blob legacy') if defined?(Rollbar)
+ Rails.logger.info('Blob legacy')
blob = ActiveStorage::Blob.find_signed(params[:signed_blob_id] || params[:signed_id])
@@ -25,7 +25,7 @@ def show
end
unless is_permitted
- Rollbar.error("Blob account not found: #{blob.id}") if defined?(Rollbar)
+ Rails.logger.error("Blob account not found: #{blob.id}")
return render json: { error: 'Not authenticated' }, status: :unauthorized
end
diff --git a/app/controllers/api/api_base_controller.rb b/app/controllers/api/api_base_controller.rb
index ff01fc8fc..8ebe7f217 100644
--- a/app/controllers/api/api_base_controller.rb
+++ b/app/controllers/api/api_base_controller.rb
@@ -20,7 +20,7 @@ class ApiBaseController < ActionController::API
end
rescue_from RateLimit::LimitApproached do |e|
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
render json: { error: 'Too many requests' }, status: :too_many_requests
end
@@ -31,7 +31,7 @@ class ApiBaseController < ActionController::API
end
rescue_from JSON::ParserError do |e|
- Rollbar.warning(e) if defined?(Rollbar)
+ Rails.logger.warn(e)
render json: { error: "JSON parse error: #{e.message}" }, status: :unprocessable_content
end
diff --git a/app/controllers/api/attachments_controller.rb b/app/controllers/api/attachments_controller.rb
index f00552cd5..aa7eccef6 100644
--- a/app/controllers/api/attachments_controller.rb
+++ b/app/controllers/api/attachments_controller.rb
@@ -14,13 +14,13 @@ def create
image = Vips::Image.new_from_file(params[:file].path)
if ImageUtils.blank?(image)
- Rollbar.error("Empty signature: #{submitter.id}") if defined?(Rollbar)
+ Rails.logger.error("Empty signature: #{submitter.id}")
return render json: { error: "#{params[:type]} is empty" }, status: :unprocessable_content
end
if ImageUtils.error?(image)
- Rollbar.error("Error signature: #{submitter.id}") if defined?(Rollbar)
+ Rails.logger.error("Error signature: #{submitter.id}")
return render json: { error: "#{params[:type]} error, try to sign on another device" },
status: :unprocessable_content
@@ -35,7 +35,7 @@ def create
render json: attachment.as_json(only: %i[uuid created_at], methods: %i[url filename content_type])
rescue Submitters::MaliciousFileExtension => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
render json: { error: e.message }, status: :unprocessable_content
end
diff --git a/app/controllers/api/submissions_controller.rb b/app/controllers/api/submissions_controller.rb
index 22af24d92..4258154d6 100644
--- a/app/controllers/api/submissions_controller.rb
+++ b/app/controllers/api/submissions_controller.rb
@@ -55,7 +55,7 @@ def create
return render json: { error: 'Template not found' }, status: :unprocessable_content if @template.nil?
if @template.fields.blank?
- Rollbar.warning("Template does not contain fields: #{@template.id}") if defined?(Rollbar)
+ Rails.logger.warn("Template does not contain fields: #{@template.id}")
return render json: { error: 'Template does not contain fields' }, status: :unprocessable_content
end
@@ -82,7 +82,7 @@ def create
render json: build_create_json(submissions)
rescue Submitters::NormalizeValues::BaseError, Submissions::CreateFromSubmitters::BaseError,
DownloadUtils::UnableToDownload => e
- Rollbar.warning(e) if defined?(Rollbar)
+ Rails.logger.warn(e)
render json: { error: e.message }, status: :unprocessable_content
end
diff --git a/app/controllers/api/submitters_controller.rb b/app/controllers/api/submitters_controller.rb
index e56eb8b8f..cded880f3 100644
--- a/app/controllers/api/submitters_controller.rb
+++ b/app/controllers/api/submitters_controller.rb
@@ -74,7 +74,7 @@ def update
render json: Submitters::SerializeForApi.call(@submitter, with_template: false, with_urls: true,
with_events: false, params:)
rescue Submitters::NormalizeValues::BaseError, DownloadUtils::UnableToDownload => e
- Rollbar.warning(e) if defined?(Rollbar)
+ Rails.logger.warn(e)
render json: { error: e.message }, status: :unprocessable_content
end
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 50823ca7b..51569068b 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -28,24 +28,20 @@ class ApplicationController < ActionController::Base
end
rescue_from RateLimit::LimitApproached do |e|
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
redirect_to request.referer, alert: 'Too many requests', status: :too_many_requests
end
if Rails.env.production? || Rails.env.test?
rescue_from CanCan::AccessDenied do |e|
- Rollbar.warning(e) if defined?(Rollbar)
+ Rails.logger.warn(e)
redirect_to root_path, alert: e.message
end
end
def default_url_options
- if request.domain == 'docuseal.com'
- return { host: 'docuseal.com', protocol: ENV['FORCE_SSL'].present? ? 'https' : 'http' }
- end
-
Docuseal.default_url_options
end
@@ -125,11 +121,7 @@ def form_link_host
Docuseal.default_url_options[:host]
end
- def maybe_redirect_com
- return if request.domain != 'docuseal.co'
-
- redirect_to request.url.gsub('.co/', '.com/'), allow_other_host: true, status: :moved_permanently
- end
+ def maybe_redirect_com; end
def set_csp
request.content_security_policy = current_content_security_policy.tap do |policy|
diff --git a/app/controllers/console_redirect_controller.rb b/app/controllers/console_redirect_controller.rb
index 4b9102637..b14ef7f7a 100644
--- a/app/controllers/console_redirect_controller.rb
+++ b/app/controllers/console_redirect_controller.rb
@@ -5,22 +5,6 @@ class ConsoleRedirectController < ApplicationController
skip_authorization_check
def index
- if request.path == '/upgrade'
- params[:redir] = Docuseal.multitenant? ? "#{Docuseal::CONSOLE_URL}/plans" : "#{Docuseal::CONSOLE_URL}/on_premises"
- end
-
- params[:redir] = "#{Docuseal::CONSOLE_URL}/manage" if request.path == '/manage'
-
- return redirect_to(new_user_session_path({ redir: params[:redir] }.compact)) if true_user.blank?
-
- auth = JsonWebToken.encode(uuid: true_user.uuid,
- scope: :console,
- exp: 1.minute.from_now.to_i)
-
- redir_uri = Addressable::URI.parse(params[:redir])
- path = redir_uri.path if params[:redir].to_s.starts_with?(Docuseal::CONSOLE_URL)
-
- redirect_to "#{Docuseal::CONSOLE_URL}#{path}?#{{ **redir_uri&.query_values, 'auth' => auth }.to_query}",
- allow_other_host: true
+ redirect_to root_path
end
end
diff --git a/app/controllers/embed_scripts_controller.rb b/app/controllers/embed_scripts_controller.rb
index a40ed79c9..70c2794e4 100644
--- a/app/controllers/embed_scripts_controller.rb
+++ b/app/controllers/embed_scripts_controller.rb
@@ -1,18 +1,12 @@
# frozen_string_literal: true
class EmbedScriptsController < ActionController::Metal
- DUMMY_SCRIPT = <<~JAVASCRIPT.freeze
+ DUMMY_SCRIPT = <<~JAVASCRIPT
const DummyBuilder = class extends HTMLElement {
connectedCallback() {
this.innerHTML = `
-
Upgrade to Pro
-
Unlock embedded components by upgrading to Pro
-
+
Embedded components are not available in this installation.
`;
}
diff --git a/app/controllers/enquiries_controller.rb b/app/controllers/enquiries_controller.rb
index 829b578c2..46ef4b1f7 100644
--- a/app/controllers/enquiries_controller.rb
+++ b/app/controllers/enquiries_controller.rb
@@ -5,18 +5,6 @@ class EnquiriesController < ApplicationController
skip_authorization_check
def create
- if params[:talk_to_sales] == 'on'
- Faraday.post(Docuseal::ENQUIRIES_URL,
- enquiry_params.merge(type: :talk_to_sales).to_json,
- 'Content-Type' => 'application/json')
- end
-
head :ok
end
-
- private
-
- def enquiry_params
- params.require(:user).permit(:email)
- end
end
diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb
index 0c9e3632a..ac5a936d4 100644
--- a/app/controllers/errors_controller.rb
+++ b/app/controllers/errors_controller.rb
@@ -1,34 +1,12 @@
# frozen_string_literal: true
class ErrorsController < ActionController::Base
- ENTERPRISE_FEATURE_MESSAGE =
- 'This feature is available in Pro Edition: https://www.docuseal.com/pricing'
-
- ENTERPRISE_PATHS = [
- '/submissions/html',
- '/api/submissions/html',
- '/templates/html',
- '/api/templates/html',
- '/submissions/pdf',
- '/api/submissions/pdf',
- '/templates/pdf',
- '/api/templates/pdf',
- '/templates/doc',
- '/api/templates/doc',
- '/templates/docx',
- '/api/templates/docx'
- ].freeze
-
SAFE_ERROR_MESSAGE_CLASSES = [
ActionDispatch::Http::Parameters::ParseError,
JSON::ParserError
].freeze
def show
- if request.original_fullpath.in?(ENTERPRISE_PATHS) && error_status_code == 404
- return render json: { status: 404, message: ENTERPRISE_FEATURE_MESSAGE }, status: :not_found
- end
-
respond_to do |f|
f.json do
set_cors_headers
diff --git a/app/controllers/esign_settings_controller.rb b/app/controllers/esign_settings_controller.rb
index 81c75fae3..19133ef31 100644
--- a/app/controllers/esign_settings_controller.rb
+++ b/app/controllers/esign_settings_controller.rb
@@ -60,7 +60,7 @@ def create
redirect_to settings_esign_path, notice: I18n.t('certificate_has_been_successfully_added')
rescue OpenSSL::PKCS12::PKCS12Error => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
@cert_record.errors.add(:password, e.message)
diff --git a/app/controllers/newsletters_controller.rb b/app/controllers/newsletters_controller.rb
index ddd305c5c..aed26e11e 100644
--- a/app/controllers/newsletters_controller.rb
+++ b/app/controllers/newsletters_controller.rb
@@ -6,16 +6,6 @@ class NewslettersController < ApplicationController
def show; end
def update
- Faraday.post(Docuseal::NEWSLETTER_URL, newsletter_params.to_json, 'Content-Type' => 'application/json')
- rescue StandardError => e
- Rails.logger.error(e)
- ensure
redirect_to root_path
end
-
- private
-
- def newsletter_params
- params.require(:user).permit(:email)
- end
end
diff --git a/app/controllers/personalization_settings_controller.rb b/app/controllers/personalization_settings_controller.rb
index d9d334901..3510d1aae 100644
--- a/app/controllers/personalization_settings_controller.rb
+++ b/app/controllers/personalization_settings_controller.rb
@@ -8,7 +8,8 @@ class PersonalizationSettingsController < ApplicationController
AccountConfig::SUBMITTER_DOCUMENTS_COPY_EMAIL_KEY,
AccountConfig::SUBMITTER_COMPLETED_EMAIL_KEY,
AccountConfig::FORM_COMPLETED_MESSAGE_KEY,
- *(Docuseal.multitenant? ? [] : [AccountConfig::POLICY_LINKS_KEY])
+ *(Docuseal.multitenant? ? [] : [AccountConfig::POLICY_LINKS_KEY]),
+ AccountConfig::COMPANY_LOGO_URL_KEY
].freeze
InvalidKey = Class.new(StandardError)
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb
index 2281d56f3..6413b6eb6 100644
--- a/app/controllers/sessions_controller.rb
+++ b/app/controllers/sessions_controller.rb
@@ -9,7 +9,7 @@ def create
email = sign_in_params[:email].to_s.downcase
if Docuseal.multitenant? && !User.exists?(email:)
- Rollbar.warning('Sign in new user') if defined?(Rollbar)
+ Rails.logger.warn('Sign in new user')
return redirect_to new_registration_path(sign_up: true, user: sign_in_params.slice(:email)),
notice: I18n.t('create_a_new_account')
@@ -25,11 +25,7 @@ def create
private
def after_sign_in_path_for(...)
- if params[:redir].present?
- return console_redirect_index_path(redir: params[:redir]) if params[:redir].starts_with?(Docuseal::CONSOLE_URL)
-
- return params[:redir]
- end
+ return params[:redir] if params[:redir].present?
super
end
diff --git a/app/controllers/start_form_controller.rb b/app/controllers/start_form_controller.rb
index ad5d6455f..1e189b0d8 100644
--- a/app/controllers/start_form_controller.rb
+++ b/app/controllers/start_form_controller.rb
@@ -27,7 +27,7 @@ def show
@template.submitters.first)['uuid'])
render :email_verification if params[:email_verification]
else
- Rollbar.warning("Not shared template: #{@template.id}") if defined?(Rollbar)
+ Rails.logger.warn("Not shared template: #{@template.id}")
return render :private if current_user && current_ability.can?(:read, @template)
@@ -111,7 +111,7 @@ def authorize_start!
return if @resubmit_submitter
return if @template.shared_link? || (current_user && current_ability.can?(:read, @template))
- Rollbar.warning("Not shared template: #{@template.id}") if defined?(Rollbar)
+ Rails.logger.warn("Not shared template: #{@template.id}")
redirect_to start_form_path(@template.slug)
end
diff --git a/app/controllers/submissions_download_controller.rb b/app/controllers/submissions_download_controller.rb
index 4bcd3237e..aac293e4d 100644
--- a/app/controllers/submissions_download_controller.rb
+++ b/app/controllers/submissions_download_controller.rb
@@ -28,7 +28,7 @@ def index
Submissions::EnsureResultGenerated.call(last_submitter)
if last_submitter.completed_at < TTL.ago && !signature_valid && !current_user_submitter?(last_submitter)
- Rollbar.info("TTL: #{last_submitter.id}") if defined?(Rollbar)
+ Rails.logger.info("TTL: #{last_submitter.id}")
return head :not_found
end
diff --git a/app/controllers/submissions_preview_controller.rb b/app/controllers/submissions_preview_controller.rb
index 6163c36b9..a7bb86577 100644
--- a/app/controllers/submissions_preview_controller.rb
+++ b/app/controllers/submissions_preview_controller.rb
@@ -29,7 +29,7 @@ def show
end
if use_signature?(@submission) && !signature_valid
- Rollbar.info("TTL: #{@submission.id}") if defined?(Rollbar)
+ Rails.logger.info("TTL: #{@submission.id}")
return redirect_to submissions_preview_completed_path(@submission.slug)
end
diff --git a/app/controllers/submit_form_controller.rb b/app/controllers/submit_form_controller.rb
index f723aa32f..1c10932a4 100644
--- a/app/controllers/submit_form_controller.rb
+++ b/app/controllers/submit_form_controller.rb
@@ -74,7 +74,7 @@ def update
head :ok
rescue Submitters::SubmitValues::RequiredFieldError => e
- Rollbar.warning("Required field #{@submitter.id}: #{e.message}") if defined?(Rollbar)
+ Rails.logger.warn("Required field #{@submitter.id}: #{e.message}")
render json: { field_uuid: e.message }, status: :unprocessable_content
rescue Submitters::SubmitValues::ValidationError => e
diff --git a/app/controllers/submitters_send_email_controller.rb b/app/controllers/submitters_send_email_controller.rb
index f3eb31871..0ecced8e1 100644
--- a/app/controllers/submitters_send_email_controller.rb
+++ b/app/controllers/submitters_send_email_controller.rb
@@ -7,7 +7,7 @@ def create
if Docuseal.multitenant? && SubmissionEvent.exists?(submitter: @submitter,
event_type: 'send_email',
created_at: 10.hours.ago..Time.current)
- Rollbar.warning("Already sent: #{@submitter.id}") if defined?(Rollbar)
+ Rails.logger.warn("Already sent: #{@submitter.id}")
return redirect_back(fallback_location: submission_path(@submitter.submission),
alert: I18n.t('email_has_been_sent_already'))
diff --git a/app/controllers/templates_uploads_controller.rb b/app/controllers/templates_uploads_controller.rb
index e8c00aeaa..92311dfed 100644
--- a/app/controllers/templates_uploads_controller.rb
+++ b/app/controllers/templates_uploads_controller.rb
@@ -31,7 +31,7 @@ def create
rescue Templates::CreateAttachments::PdfEncrypted
render turbo_stream: turbo_stream.append(params[:form_id], html: helpers.tag.prompt_password)
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
raise if Rails.env.local?
diff --git a/app/javascript/rollbar.js b/app/javascript/rollbar.js
deleted file mode 100644
index 21222e830..000000000
--- a/app/javascript/rollbar.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import Rollbar from 'rollbar/dist/rollbar.umd'
-
-const token = document.querySelector('meta[name="rollbar-token"]')?.getAttribute('content')
-
-if (token) {
- window.Rollbar ||= new Rollbar({
- accessToken: token,
- captureUncaught: true,
- captureUnhandledRejections: true,
- captureIp: false,
- autoInstrument: false,
- ignoredMessages: [
- /Failed to fetch/i,
- /NetworkError/i,
- /Load failed/i,
- /Clipboard write is not allowed/i
- ],
- transform (payload) {
- payload.body.telemetry = []
-
- if (payload.request.query_string) {
- payload.request.query_string = ''
- }
-
- if (payload.request.url) {
- payload.request.url = payload.request.url.replace(/(\/[sdep]\/)(\w{5})[^/]+/, '$1$2')
- }
-
- return payload
- },
- payload: {
- client: {
- javascript: {
- source_map_enabled: true
- }
- },
- environment: 'production'
- }
- })
-}
diff --git a/app/javascript/submission_form/completed.vue b/app/javascript/submission_form/completed.vue
index 708843bfe..94246a8e0 100644
--- a/app/javascript/submission_form/completed.vue
+++ b/app/javascript/submission_form/completed.vue
@@ -63,38 +63,6 @@
{{ t('download') }}
-
-
-
- Star on Github
-
-
-
-
-
- {{ t('create_a_free_account') }}
-
-
-
-
- {{ t('powered_by') }}
-
DocuSeal - {{ t('open_source_documents_software') }}
diff --git a/app/javascript/submission_form/signature_step.vue b/app/javascript/submission_form/signature_step.vue
index ef5ba45c7..92a74dcb6 100644
--- a/app/javascript/submission_form/signature_step.vue
+++ b/app/javascript/submission_form/signature_step.vue
@@ -288,7 +288,7 @@
class="text-base-content/60 text-xs text-center w-full mt-1 select-none"
>
{{ t('by_clicking_you_agree_to_the').replace('{button}', buttonText.charAt(0).toUpperCase() + buttonText.slice(1)) }}
diff --git a/app/javascript/template_builder/conditions_modal.vue b/app/javascript/template_builder/conditions_modal.vue
index d8219ff63..64f4a2787 100644
--- a/app/javascript/template_builder/conditions_modal.vue
+++ b/app/javascript/template_builder/conditions_modal.vue
@@ -18,16 +18,6 @@
>×
- <% if !Docuseal.multitenant? || can?(:manage, :personalization_advanced) %>
+ <% if true %>
<%= ff.label :security_label, 'SMTP Security', class: 'label' %>
diff --git a/app/views/esign_settings/_default_signature_row.html.erb b/app/views/esign_settings/_default_signature_row.html.erb
index 899f99b3b..151357a90 100644
--- a/app/views/esign_settings/_default_signature_row.html.erb
+++ b/app/views/esign_settings/_default_signature_row.html.erb
@@ -9,16 +9,11 @@
- " class="btn btn-neutral btn-sm text-white">
- <%= t('unlock_with_docuseal_pro') %>
-
|
-
- <%= button_to settings_esign_path, method: :put, params: { name: Docuseal::AATL_CERT_NAME }, class: 'btn btn-outline btn-neutral btn-xs whitespace-nowrap', title: t('make_default'), disabled: true do %>
- <%= t('make_default') %>
- <% end %>
-
+ <%= button_to settings_esign_path, method: :put, params: { name: Docuseal::AATL_CERT_NAME }, class: 'btn btn-outline btn-neutral btn-xs whitespace-nowrap', title: t('make_default'), data: { turbo_confirm: t('are_you_sure_') } do %>
+ <%= t('make_default') %>
+ <% end %>
|
|
diff --git a/app/views/esign_settings/show.html.erb b/app/views/esign_settings/show.html.erb
index f22700b89..dfc20527d 100644
--- a/app/views/esign_settings/show.html.erb
+++ b/app/views/esign_settings/show.html.erb
@@ -141,7 +141,7 @@
<%= t('preferences') %>
- <% if can?(:manage, account_config) && (can?(:manage, :personalization_advanced) || account_config.persisted?) %>
+ <% if can?(:manage, account_config) %>
<%= form_for account_config, url: account_configs_path, method: :post do |f| %>
<%= f.hidden_field :key %>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 89646c06d..9fc6a4a3e 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -7,12 +7,7 @@
<% end %>
<%= csrf_meta_tags %>
- <% if ENV['ROLLBAR_CLIENT_TOKEN'] %>
-
- <%= javascript_pack_tag 'rollbar', 'application', defer: true %>
- <% else %>
- <%= javascript_pack_tag 'application', defer: true %>
- <% end %>
+ <%= javascript_pack_tag 'application', defer: true %>
<% if canonical_url = content_for(:canonical_url) %>
<% end %>
diff --git a/app/views/layouts/form.html.erb b/app/views/layouts/form.html.erb
index 756f8f83a..b57a083f9 100644
--- a/app/views/layouts/form.html.erb
+++ b/app/views/layouts/form.html.erb
@@ -4,12 +4,7 @@
<%= render 'layouts/head_tags' %>
<%= csrf_meta_tags %>
- <% if ENV['ROLLBAR_CLIENT_TOKEN'] %>
-
- <%= javascript_pack_tag 'rollbar', 'form', defer: true %>
- <% else %>
- <%= javascript_pack_tag 'form', defer: true %>
- <% end %>
+ <%= javascript_pack_tag 'form', defer: true %>
<%= stylesheet_pack_tag 'form', media: 'all' %>
diff --git a/app/views/layouts/plain.html.erb b/app/views/layouts/plain.html.erb
index 889169771..4676edf15 100644
--- a/app/views/layouts/plain.html.erb
+++ b/app/views/layouts/plain.html.erb
@@ -4,12 +4,7 @@
<%= render 'layouts/head_tags' %>
<%= csrf_meta_tags %>
- <% if ENV['ROLLBAR_CLIENT_TOKEN'] %>
-
- <%= javascript_pack_tag 'rollbar', 'application', defer: true %>
- <% else %>
- <%= javascript_pack_tag 'application', defer: true %>
- <% end %>
+ <%= javascript_pack_tag 'application', defer: true %>
<%= stylesheet_pack_tag 'application', media: 'all' %>
diff --git a/app/views/notifications_settings/_reminder_banner.html.erb b/app/views/notifications_settings/_reminder_banner.html.erb
index 926e952d1..e69de29bb 100644
--- a/app/views/notifications_settings/_reminder_banner.html.erb
+++ b/app/views/notifications_settings/_reminder_banner.html.erb
@@ -1 +0,0 @@
-<%= render 'reminder_placeholder' %>
diff --git a/app/views/notifications_settings/_reminder_placeholder.html.erb b/app/views/notifications_settings/_reminder_placeholder.html.erb
index 38b05ce5b..e69de29bb 100644
--- a/app/views/notifications_settings/_reminder_placeholder.html.erb
+++ b/app/views/notifications_settings/_reminder_placeholder.html.erb
@@ -1,15 +0,0 @@
-
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
diff --git a/app/views/personalization_settings/_documents_copy_email_form.html.erb b/app/views/personalization_settings/_documents_copy_email_form.html.erb
index e4f777d4d..2ad3bd78d 100644
--- a/app/views/personalization_settings/_documents_copy_email_form.html.erb
+++ b/app/views/personalization_settings/_documents_copy_email_form.html.erb
@@ -14,7 +14,7 @@
<%= ff.text_field :subject, required: true, class: 'base-input', dir: 'auto' %>
<%= render 'personalization_settings/email_body_field', ff:, config: f.object %>
- <% if can?(:manage, :reply_to) || can?(:manage, :personalization_advanced) %>
+ <% if true %>
<%= ff.label :reply_to, t('reply_to'), class: 'label' %>
<%= ff.email_field :reply_to, class: 'base-input', dir: 'auto', placeholder: t(:email) %>
@@ -41,7 +41,7 @@
<%= ff.check_box :bcc_recipients, { checked: ff.object.bcc_recipients == true, class: 'toggle' }, 'true', 'false' %>
<% end %>
- <% if !Docuseal.multitenant? || can?(:manage, :personalization_advanced) %>
+ <% if true %>
<%= t('send_emails_automatically_on_completion') %>
diff --git a/app/views/personalization_settings/_logo_form.html.erb b/app/views/personalization_settings/_logo_form.html.erb
index fc6f3ac7e..a312f48a5 100644
--- a/app/views/personalization_settings/_logo_form.html.erb
+++ b/app/views/personalization_settings/_logo_form.html.erb
@@ -1 +1,20 @@
-<%= render 'logo_placeholder' %>
+<% config = AccountConfigs.find_or_initialize_for_key(current_account, AccountConfig::COMPANY_LOGO_URL_KEY) %>
+<%= form_for config, url: settings_personalization_path, method: :post, html: { autocomplete: 'off', class: 'space-y-4' } do |f| %>
+ <%= f.hidden_field :key %>
+
+ <%= f.label :value, t('your_company_logo'), class: 'label' %>
+ <%= f.url_field :value, class: 'base-input', placeholder: 'https://example.com/logo.png', autocomplete: 'off' %>
+
+
+ <% if config.value.present? %>
+
+

+
Current logo
+
+ <% end %>
+
+ <%= f.button button_title(title: t('save'), disabled_with: t('saving')), class: 'base-button' %>
+
+<% end %>
diff --git a/app/views/personalization_settings/_logo_placeholder.html.erb b/app/views/personalization_settings/_logo_placeholder.html.erb
index 9a8358e32..e69de29bb 100644
--- a/app/views/personalization_settings/_logo_placeholder.html.erb
+++ b/app/views/personalization_settings/_logo_placeholder.html.erb
@@ -1,15 +0,0 @@
-
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
diff --git a/app/views/shared/_navbar.html.erb b/app/views/shared/_navbar.html.erb
index 6d66674c7..fa6b3bb33 100644
--- a/app/views/shared/_navbar.html.erb
+++ b/app/views/shared/_navbar.html.erb
@@ -34,14 +34,6 @@
<%= t('profile') %>
<% end %>
- <% if !Docuseal.demo? && can?(:manage, EncryptedConfig) %>
-
- <%= link_to Docuseal.multitenant? ? console_redirect_index_path : Docuseal::CONSOLE_URL, data: { prefetch: false }, class: 'flex items-center' do %>
- <%= svg_icon('terminal', class: 'w-5 h-5 flex-shrink-0 stroke-2') %>
- <%= t('console') %>
- <% end %>
-
- <% end %>
<% if can?(:read, EncryptedConfig.new(key: EncryptedConfig::ESIGN_CERTS_KEY, account: current_account)) %>
<%= link_to settings_esign_path, class: 'flex items-center' do %>
diff --git a/app/views/shared/_navbar_buttons.html.erb b/app/views/shared/_navbar_buttons.html.erb
index f86926993..242af660e 100644
--- a/app/views/shared/_navbar_buttons.html.erb
+++ b/app/views/shared/_navbar_buttons.html.erb
@@ -1,8 +1,3 @@
<% if signed_in? && current_user != true_user %>
<%= render 'shared/test_alert' %>
-<% elsif request.path.starts_with?('/settings') %>
- <%= link_to "#{Docuseal::CLOUD_URL}/sign_up?#{{ redir: "#{Docuseal::CONSOLE_URL}/on_premises" }.to_query}", class: 'hidden md:inline-flex btn btn-warning btn-sm', data: { prefetch: false } do %>
- <%= t('upgrade') %>
- <% end %>
-
<% end %>
diff --git a/app/views/shared/_settings_nav.html.erb b/app/views/shared/_settings_nav.html.erb
index ca074009e..848a811fe 100644
--- a/app/views/shared/_settings_nav.html.erb
+++ b/app/views/shared/_settings_nav.html.erb
@@ -64,28 +64,8 @@
<% end %>
<% end %>
- <% if !Docuseal.demo? && can?(:manage, EncryptedConfig) && (current_user != true_user || !current_account.linked_account_account) %>
-
- <%= content_for(:pro_link) || link_to(Docuseal.multitenant? ? console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/plans") : "#{Docuseal::CLOUD_URL}/sign_up?#{{ redir: "#{Docuseal::CONSOLE_URL}/on_premises" }.to_query}", class: 'text-base hover:bg-base-300', data: { turbo: false }) do %>
- <%= t('plans') %>
- <%= t('pro') %>
- <% end %>
-
- <% end %>
<% if !Docuseal.demo? && can?(:manage, EncryptedConfig) && (current_user == true_user || current_account.testing?) %>
-
- <%= link_to Docuseal.multitenant? ? console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}#{'/test' if current_account.testing?}/api") : "#{Docuseal::CONSOLE_URL}/on_premises", class: 'text-base hover:bg-base-300', data: { turbo: false } do %>
- <% if Docuseal.multitenant? %> API <% else %> <%= t('console') %> <% end %>
- <% end %>
-
- <% if Docuseal.multitenant? %>
-
- <%= link_to console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}#{'/test' if current_account.testing?}/embedding/form"), class: 'text-base hover:bg-base-300', data: { turbo: false } do %>
- <%= t('embedding') %>
- <% end %>
-
- <% end %>
- <% if (!Docuseal.multitenant? || can?(:manage, :saml_sso)) && can?(:read, EncryptedConfig.new(key: 'saml_configs', account: current_account)) && true_user == current_user %>
+ <% if can?(:read, EncryptedConfig.new(key: 'saml_configs', account: current_account)) && true_user == current_user %>
<%= link_to 'SSO', settings_sso_index_path, class: 'text-base hover:bg-base-300' %>
diff --git a/app/views/sms_settings/_placeholder.html.erb b/app/views/sms_settings/_placeholder.html.erb
index 13f2e2ea1..e69de29bb 100644
--- a/app/views/sms_settings/_placeholder.html.erb
+++ b/app/views/sms_settings/_placeholder.html.erb
@@ -1,15 +0,0 @@
-
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
diff --git a/app/views/sso_settings/_placeholder.html.erb b/app/views/sso_settings/_placeholder.html.erb
index c64970970..e69de29bb 100644
--- a/app/views/sso_settings/_placeholder.html.erb
+++ b/app/views/sso_settings/_placeholder.html.erb
@@ -1,15 +0,0 @@
-
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
diff --git a/app/views/submissions/_bulk_send_placeholder.html.erb b/app/views/submissions/_bulk_send_placeholder.html.erb
index f81f65343..e69de29bb 100644
--- a/app/views/submissions/_bulk_send_placeholder.html.erb
+++ b/app/views/submissions/_bulk_send_placeholder.html.erb
@@ -1,15 +0,0 @@
-
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
diff --git a/app/views/submissions/_logo.html.erb b/app/views/submissions/_logo.html.erb
index f6b67f5c4..84eab62a8 100644
--- a/app/views/submissions/_logo.html.erb
+++ b/app/views/submissions/_logo.html.erb
@@ -1 +1,6 @@
-<%= render 'shared/logo', width: 40, height: 40 %>
+<% logo_url = @submission.account.account_configs.find_by(key: AccountConfig::COMPANY_LOGO_URL_KEY)&.value %>
+<% if logo_url.present? %>
+
+<% else %>
+ <%= render 'shared/logo', width: 40, height: 40 %>
+<% end %>
diff --git a/app/views/submissions/_send_sms_button.html.erb b/app/views/submissions/_send_sms_button.html.erb
index b8df27cf1..e69de29bb 100644
--- a/app/views/submissions/_send_sms_button.html.erb
+++ b/app/views/submissions/_send_sms_button.html.erb
@@ -1,5 +0,0 @@
-
-
- <%= link_to submitter.sent_at? ? t('re_send_sms') : t('send_sms'), Docuseal.multitenant? ? console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/plans") : "#{Docuseal::CLOUD_URL}/sign_up?#{{ redir: "#{Docuseal::CONSOLE_URL}/on_premises" }.to_query}", class: 'btn btn-sm btn-primary text-gray-400 w-full' %>
-
-
diff --git a/app/views/submit_form/_docuseal_logo.html.erb b/app/views/submit_form/_docuseal_logo.html.erb
index 645f7fc52..e7a3d160b 100644
--- a/app/views/submit_form/_docuseal_logo.html.erb
+++ b/app/views/submit_form/_docuseal_logo.html.erb
@@ -1,4 +1,10 @@
+<% configs = @submitter&.account&.account_configs %>
+<% logo_url = configs&.find_by(key: AccountConfig::COMPANY_LOGO_URL_KEY)&.value %>
- <%= render 'shared/logo', class: 'w-9 h-9 md:w-12 md:h-12' %>
- <%= Docuseal.product_name %>
+ <% if logo_url.present? %>
+
+ <% else %>
+ <%= render 'shared/logo', class: 'w-9 h-9 md:w-12 md:h-12' %>
+ <%= Docuseal.product_name %>
+ <% end %>
diff --git a/app/views/submit_form_draw_signature/show.html.erb b/app/views/submit_form_draw_signature/show.html.erb
index f1ffebf09..f689e383f 100644
--- a/app/views/submit_form_draw_signature/show.html.erb
+++ b/app/views/submit_form_draw_signature/show.html.erb
@@ -4,12 +4,7 @@
<%= render 'layouts/head_tags' %>
<%= csrf_meta_tags %>
- <% if ENV['ROLLBAR_CLIENT_TOKEN'] %>
-
- <%= javascript_pack_tag 'rollbar', 'draw', defer: true %>
- <% else %>
- <%= javascript_pack_tag 'draw', defer: true %>
- <% end %>
+ <%= javascript_pack_tag 'draw', defer: true %>
<%= stylesheet_pack_tag 'form', media: 'all' %>
diff --git a/app/views/templates/_embedding.html.erb b/app/views/templates/_embedding.html.erb
index 468a51fa4..5bb05e227 100644
--- a/app/views/templates/_embedding.html.erb
+++ b/app/views/templates/_embedding.html.erb
@@ -55,7 +55,6 @@
- <%= link_to t('learn_more'), console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/embedding/form"), target: '_blank', data: { turbo: false }, class: 'btn btn-ghost text-gray-100 flex', rel: 'noopener' %>
- <%= link_to t('learn_more'), console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/embedding/form"), target: '_blank', data: { turbo: false }, class: 'btn btn-ghost text-gray-100 flex', rel: 'noopener' %>
- <%= link_to t('learn_more'), console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/embedding/form"), target: '_blank', data: { turbo: false }, class: 'btn btn-ghost text-gray-100 flex', rel: 'noopener' %>
- <%= link_to t('learn_more'), console_redirect_index_path(redir: "#{Docuseal::CONSOLE_URL}/embedding/form"), target: '_blank', data: { turbo: false }, class: 'btn btn-ghost text-gray-100 flex', rel: 'noopener' %>
- <%= svg_icon('info_circle', class: 'w-6 h-6') %>
-
-
diff --git a/app/views/templates_preferences/_recipients.html.erb b/app/views/templates_preferences/_recipients.html.erb
index a8547669e..83a58f90e 100644
--- a/app/views/templates_preferences/_recipients.html.erb
+++ b/app/views/templates_preferences/_recipients.html.erb
@@ -80,7 +80,7 @@
<% end %>
<% end %>
- <% if can?(:manage, :personalization_advanced) %>
+ <% if true %>
<%= form_for template, url: template_preferences_path(template), method: :post, html: { autocomplete: 'off', class: 'mt-2' }, data: { close_on_submit: false } do |f| %>
diff --git a/app/views/templates_preferences/_submitter_documents_copy_email_form.html.erb b/app/views/templates_preferences/_submitter_documents_copy_email_form.html.erb
index 8d178369a..ff3ab4300 100644
--- a/app/views/templates_preferences/_submitter_documents_copy_email_form.html.erb
+++ b/app/views/templates_preferences/_submitter_documents_copy_email_form.html.erb
@@ -30,7 +30,7 @@
<%= ff.text_area :documents_copy_email_body, required: true, class: 'base-input w-full py-2 !rounded-2xl', dir: 'auto' %>
- <% if can?(:manage, :reply_to) %>
+ <% if true %>
diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb
index 6351039c0..31d36c0ae 100644
--- a/config/initializers/devise.rb
+++ b/config/initializers/devise.rb
@@ -4,7 +4,7 @@
class FailureApp < Devise::FailureApp
def respond
- Rollbar.warning('Invalid password') if defined?(Rollbar) && warden_message == :invalid
+ Rails.logger.warn('Invalid password') if warden_message == :invalid
super
end
diff --git a/config/routes.rb b/config/routes.rb
index ec9e88084..73ed22ce6 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -14,9 +14,13 @@
get 'up' => 'rails/health#show'
get 'manifest' => 'pwa#manifest'
- devise_for :users, path: '/', only: %i[sessions passwords omniauth_callbacks],
- controllers: { sessions: 'sessions', passwords: 'passwords',
- omniauth_callbacks: 'omniauth_callbacks' }
+ devise_modules = %i[sessions passwords]
+ devise_controllers = { sessions: 'sessions', passwords: 'passwords' }
+ if ENV['GOOGLE_CLIENT_ID'].present?
+ devise_modules << :omniauth_callbacks
+ devise_controllers[:omniauth_callbacks] = 'omniauth_callbacks'
+ end
+ devise_for :users, path: '/', only: devise_modules, controllers: devise_controllers
devise_scope :user do
resource :invitation, only: %i[update] do
diff --git a/config/sidekiq.yml b/config/sidekiq.yml
index 01ba85a5a..784ec9a40 100644
--- a/config/sidekiq.yml
+++ b/config/sidekiq.yml
@@ -5,7 +5,7 @@ queues:
- [images, 1]
- [mailers, 1]
- [recurrent, 1]
- - [rollbar, 1]
+
production:
:concurrency: 15
diff --git a/config/webpack/webpack.config.js b/config/webpack/webpack.config.js
index be17c2cc9..ac635e539 100644
--- a/config/webpack/webpack.config.js
+++ b/config/webpack/webpack.config.js
@@ -13,9 +13,7 @@ const configs = generateWebpackConfig({
runtimeChunk: false,
concatenateModules: !process.env.BUNDLE_ANALYZE,
splitChunks: {
- chunks (chunk) {
- return chunk.name !== 'rollbar'
- },
+ chunks: 'all',
cacheGroups: {
default: false,
applicationVendors: {
diff --git a/lib/action_mailer_events_observer.rb b/lib/action_mailer_events_observer.rb
index 273564ac2..08da5578c 100644
--- a/lib/action_mailer_events_observer.rb
+++ b/lib/action_mailer_events_observer.rb
@@ -27,7 +27,7 @@ def delivered_email(mail)
)
end
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
raise if Rails.env.local?
end
diff --git a/lib/docuseal.rb b/lib/docuseal.rb
index 7bba653cb..c88d800ea 100644
--- a/lib/docuseal.rb
+++ b/lib/docuseal.rb
@@ -4,8 +4,6 @@ module Docuseal
URL_CACHE = ActiveSupport::Cache::MemoryStore.new
PRODUCT_URL = 'https://www.docuseal.com'
PRODUCT_EMAIL_URL = ENV.fetch('PRODUCT_EMAIL_URL', PRODUCT_URL)
- NEWSLETTER_URL = "#{PRODUCT_URL}/newsletters".freeze
- ENQUIRIES_URL = "#{PRODUCT_URL}/enquiries".freeze
PRODUCT_NAME = 'DocuSeal'
DEFAULT_APP_URL = ENV.fetch('APP_URL', 'http://localhost:3000')
GITHUB_URL = 'https://github.com/docusealco/docuseal'
diff --git a/lib/params/base_validator.rb b/lib/params/base_validator.rb
index cd0005f64..91f71471a 100644
--- a/lib/params/base_validator.rb
+++ b/lib/params/base_validator.rb
@@ -11,11 +11,11 @@ def self.call(...)
validator.call
rescue InvalidParameterError => e
- Rollbar.warning(e) if defined?(Rollbar)
+ Rails.logger.warn(e)
raise e unless validator.dry_run?
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
raise e unless Rails.env.production?
end
diff --git a/lib/submissions/ensure_audit_generated.rb b/lib/submissions/ensure_audit_generated.rb
index eacb664b7..73274cd86 100644
--- a/lib/submissions/ensure_audit_generated.rb
+++ b/lib/submissions/ensure_audit_generated.rb
@@ -44,7 +44,6 @@ def call(submission)
total_wait_time > CHECK_COMPLETE_TIMEOUT ? raise : retry
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
Rails.logger.error(e)
LockEvent.create!(key:, event_name: :fail)
diff --git a/lib/submissions/ensure_combined_generated.rb b/lib/submissions/ensure_combined_generated.rb
index 4b55a4b72..880c7dea3 100644
--- a/lib/submissions/ensure_combined_generated.rb
+++ b/lib/submissions/ensure_combined_generated.rb
@@ -43,7 +43,6 @@ def call(submitter)
total_wait_time > CHECK_COMPLETE_TIMEOUT ? raise : retry
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
Rails.logger.error(e)
LockEvent.create!(key:, event_name: :fail)
diff --git a/lib/submissions/ensure_result_generated.rb b/lib/submissions/ensure_result_generated.rb
index 468b54cf0..367eacd41 100644
--- a/lib/submissions/ensure_result_generated.rb
+++ b/lib/submissions/ensure_result_generated.rb
@@ -42,7 +42,6 @@ def call(submitter)
total_wait_time > CHECK_COMPLETE_TIMEOUT ? raise : retry
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
Rails.logger.error(e)
LockEvent.create!(key:, event_name: :fail)
diff --git a/lib/submissions/generate_combined_attachment.rb b/lib/submissions/generate_combined_attachment.rb
index bafd20a7d..bfc41eb03 100644
--- a/lib/submissions/generate_combined_attachment.rb
+++ b/lib/submissions/generate_combined_attachment.rb
@@ -47,11 +47,11 @@ def call(submitter, with_audit: true)
def sign_pdf(io, pdf, sign_params)
pdf.sign(io, **sign_params)
rescue HexaPDF::MalformedPDFError, NoMethodError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
pdf.sign(io, write_options: { incremental: false }, **sign_params)
rescue HexaPDF::Error => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
pdf.validate(auto_correct: true)
diff --git a/lib/submissions/generate_preview_attachments.rb b/lib/submissions/generate_preview_attachments.rb
index ff5a85a8e..49f0ec80c 100644
--- a/lib/submissions/generate_preview_attachments.rb
+++ b/lib/submissions/generate_preview_attachments.rb
@@ -135,7 +135,7 @@ def build_pdf_attachment(pdf:, submission:, filename:, values_hash:, submitter:
begin
pdf.write(io, incremental: true, validate: false)
rescue HexaPDF::MalformedPDFError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
pdf.write(io, incremental: false, validate: false)
end
diff --git a/lib/submissions/generate_result_attachments.rb b/lib/submissions/generate_result_attachments.rb
index 72eeb9f10..5555680e8 100644
--- a/lib/submissions/generate_result_attachments.rb
+++ b/lib/submissions/generate_result_attachments.rb
@@ -277,7 +277,7 @@ def fill_submitter_fields(submitter, account, pdfs_index, with_signature_id:, is
begin
page.flatten_annotations
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
end
end
@@ -531,7 +531,7 @@ def fill_submitter_fields(submitter, account, pdfs_index, with_signature_id:, is
Array.wrap(value).include?(option_name)
else
- Rollbar.error("Invalid option: #{field['uuid']}") if defined?(Rollbar)
+ Rails.logger.error("Invalid option: #{field['uuid']}")
false
end
@@ -731,7 +731,7 @@ def build_pdf_attachment(pdf:, submitter:, pkcs:, tsa_url:, uuid:, name:)
begin
pdf.sign(io, write_options: { validate: false }, **sign_params)
rescue HexaPDF::Error, NoMethodError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
begin
pdf.sign(io, write_options: { validate: false, incremental: false }, **sign_params)
@@ -746,7 +746,7 @@ def build_pdf_attachment(pdf:, submitter:, pkcs:, tsa_url:, uuid:, name:)
begin
pdf.write(io, incremental: true, validate: false)
rescue HexaPDF::Error, NoMethodError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
begin
pdf.write(io, incremental: false, validate: false)
@@ -831,7 +831,7 @@ def maybe_flatten_pdf(pdf)
rescue HexaPDF::MissingGlyphError
nil
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
end
def maybe_rotate_pdf(pdf)
@@ -853,13 +853,13 @@ def maybe_rotate_pdf(pdf)
HexaPDF::Document.new(io:)
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
pdf
end
def on_missing_glyph(character, font_wrapper)
- Rails.logger.info("Missing glyph: #{character}") if character.present? && defined?(Rollbar)
+ Rails.logger.info("Missing glyph: #{character}") if character.present?
replace_with =
if font_wrapper.font_type == :Type1
diff --git a/lib/submissions/timestamp_handler.rb b/lib/submissions/timestamp_handler.rb
index 5d914a5ea..3f01e0a59 100644
--- a/lib/submissions/timestamp_handler.rb
+++ b/lib/submissions/timestamp_handler.rb
@@ -44,7 +44,7 @@ def sign(io, byte_range)
if response.status != 200 || response.body.blank?
raise TimestampError if tsa_fallback_url.blank?
- Rollbar.error('TimestampError: use fallback URL') if defined?(Rollbar)
+ Rails.logger.error('TimestampError: use fallback URL')
response = Faraday.post(tsa_fallback_url, build_payload(digest.digest),
'content-type' => 'application/timestamp-query')
@@ -54,7 +54,6 @@ def sign(io, byte_range)
OpenSSL::Timestamp::Response.new(response.body).token.to_der
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
Rails.logger.error(e)
OpenSSL::ASN1::GeneralizedTime.new(Time.now.utc).to_der
diff --git a/lib/submitters.rb b/lib/submitters.rb
index c557dd3e5..fd2bf4074 100644
--- a/lib/submitters.rb
+++ b/lib/submitters.rb
@@ -236,7 +236,7 @@ def send_shared_link_email_verification_code(submitter, request:)
TemplateMailer.otp_verification_email(submitter.submission.template, email: submitter.email).deliver_later!
rescue RateLimit::LimitApproached
- Rollbar.warning("Limit verification code for template: #{submitter.submission.template.id}") if defined?(Rollbar)
+ Rails.logger.warn("Limit verification code for template: #{submitter.submission.template.id}")
raise UnableToSendCode, I18n.t('too_many_attempts')
end
diff --git a/lib/submitters/submit_values.rb b/lib/submitters/submit_values.rb
index dc370791a..62e72473c 100644
--- a/lib/submitters/submit_values.rb
+++ b/lib/submitters/submit_values.rb
@@ -90,7 +90,7 @@ def assign_completed_attributes(submitter, request, validate_required: true)
raise RequiredFieldError, uuid if validate_required
- Rollbar.warning("Required field #{submitter.id}: #{uuid}") if defined?(Rollbar)
+ Rails.logger.warn("Required field #{submitter.id}: #{uuid}")
end
submitter
diff --git a/lib/templates/build_annotations.rb b/lib/templates/build_annotations.rb
index 9a933f99c..c3b28ae5f 100644
--- a/lib/templates/build_annotations.rb
+++ b/lib/templates/build_annotations.rb
@@ -19,7 +19,7 @@ def call(data)
end
end
rescue StandardError => e
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
[]
end
diff --git a/lib/templates/find_acro_fields.rb b/lib/templates/find_acro_fields.rb
index 7940145a2..1552472b0 100644
--- a/lib/templates/find_acro_fields.rb
+++ b/lib/templates/find_acro_fields.rb
@@ -112,7 +112,7 @@ def call(pdf, attachment, data)
rescue StandardError => e
raise if Rails.env.local?
- Rollbar.error(e) if defined?(Rollbar)
+ Rails.logger.error(e)
[]
end
diff --git a/lib/templates/process_document.rb b/lib/templates/process_document.rb
index 6b40a5025..4b1c9e0d5 100644
--- a/lib/templates/process_document.rb
+++ b/lib/templates/process_document.rb
@@ -156,7 +156,7 @@ def build_and_upload_blob(doc, page_number, format = FORMAT)
blob
rescue Vips::Error, Pdfium::PdfiumError => e
- Rollbar.warning(e) if defined?(Rollbar)
+ Rails.logger.warn(e)
nil
ensure
diff --git a/lib/templates/serialize_for_api.rb b/lib/templates/serialize_for_api.rb
index ec9cb628f..1c0ae50cb 100644
--- a/lib/templates/serialize_for_api.rb
+++ b/lib/templates/serialize_for_api.rb
@@ -30,7 +30,7 @@ def call(template, schema_documents: template.schema_documents.preload(:blob), p
attachment = schema_documents.find { |e| e.uuid == item['attachment_uuid'] }
unless attachment
- Rollbar.error("Documents missing: #{template.id}") if defined?(Rollbar)
+ Rails.logger.error("Documents missing: #{template.id}")
next
end
diff --git a/package.json b/package.json
index 44e3284fa..577201174 100644
--- a/package.json
+++ b/package.json
@@ -33,7 +33,7 @@
"postcss-import": "^15.1.0",
"postcss-loader": "^7.3.0",
"qr-creator": "^1.0.0",
- "rollbar": "^2.26.4",
+
"sass": "^1.62.1",
"sass-loader": "^16.0.6",
"shakapacker": "9.5.0",
diff --git a/spec/system/newsletters_spec.rb b/spec/system/newsletters_spec.rb
index 274ba7e3b..b6c95788a 100644
--- a/spec/system/newsletters_spec.rb
+++ b/spec/system/newsletters_spec.rb
@@ -5,7 +5,6 @@
before do
sign_in(user)
- stub_request(:post, Docuseal::NEWSLETTER_URL).to_return(status: 200)
visit newsletter_path
end
@@ -19,7 +18,7 @@
it 'submits the newsletter form' do
click_button 'Submit'
- expect(a_request(:post, Docuseal::NEWSLETTER_URL)).to have_been_made.once
+ expect(page).to have_current_path(root_path, ignore_query: true)
end
it 'skips the newsletter form' do