docusealco/docuseal · warning · ActionController::RoutingError

Not found

Error message

Not found

What it means

SubmitFormController#completed raises 404 when the submitter's account is archived, hiding the signing-completion page of cancelled/deleted accounts. For submitters this surfaces as the completion page not existing after they finish, which typically means the account was archived between sending and completing.

Source

Thrown at app/controllers/submit_form_controller.rb:97

      return render json: { error: I18n.t('form_is_view_only') }, status: :unprocessable_content
    end

    Submitters::SubmitValues.call(@submitter, params, request)

    head :ok
  rescue Submitters::SubmitValues::RequiredFieldError => e
    Rollbar.warning("Required field #{@submitter.id}: #{e.message}") if defined?(Rollbar)

    render json: { field_uuid: e.message }, status: :unprocessable_content
  rescue Submitters::SubmitValues::ValidationError => e
    Rollbar.warning("Validation error #{@submitter.id}: #{e.message}") if defined?(Rollbar)

    render json: { error: e.message }, status: :unprocessable_content
  end

  def completed
    raise ActionController::RoutingError, I18n.t('not_found') if @submitter.account.archived_at?

    return if Submitters::AuthorizedForForm.call(@submitter, current_user, request)

    redirect_to submit_form_path(params[:submit_form_slug])
  end

  def success; end

  def delegated
    submitter_version = SubmitterVersion.find_by!(slug: params[:slug] || params[:submit_form_slug])

    @submitter = submitter_version.submitter
  end

  private

  def maybe_require_link_2fa
    return if Submitters::AuthorizedForForm.pass_link_2fa?(@submitter, current_user, request)

View on GitHub (pinned to 004a22c1c8)

Solutions

  1. Restore the account if signers still need completion pages.
  2. As operator, avoid archiving accounts with submissions in flight.
  3. Export in-flight documents before archiving so signers' records survive.
Defensive patterns

Strategy: validation

Validate before calling

redirect_to root_path, alert: 'account unavailable' if submitter.account.archived_at?

Prevention

When it happens

Trigger: A submitter opens their completion link after the owning account was archived; delayed email opens hitting archived accounts.

Common situations: Tenant cancelled mid-signing-cycle; trial expiry during an in-flight envelope; links re-opened from old emails.

Related errors


AI-assisted analysis of docusealco/docuseal@004a22c1c8 (2026-08-21). Data as JSON: /api/errors/db230c71a6bda10c. Report an issue: GitHub.