mirror of https://github.com/docusealco/docuseal
master
0.0.1
0.0.2
0.0.3
0.0.4
0.0.5
1.0.0
1.0.1
1.0.2
1.0.3
1.0.4
1.0.5
1.0.6
1.0.7
1.0.8
1.1.0
1.1.1
1.1.10
1.1.11
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.1.8
1.1.9
1.2.0
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
1.2.6
1.2.7
1.2.8
1.2.9
1.3.0
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
1.3.6
1.3.7
1.3.8
1.4.0
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5
1.4.6
1.4.7
1.4.8
1.4.9
1.5.0
1.5.1
1.5.2
1.5.3
1.5.4
1.5.5
1.5.6
1.5.7
1.5.8
1.5.9
1.6.0
1.6.1
1.6.2
1.6.3
1.6.4
1.6.5
1.6.6
1.6.7
1.6.8
1.6.9
1.7.0
1.7.1
1.7.2
1.7.3
1.7.4
1.7.5
1.7.6
1.7.7
1.7.8
1.7.9
1.8.0
1.8.1
1.8.2
1.8.3
1.8.4
1.8.5
1.8.6
1.8.7
1.8.8
1.8.9
1.9.0
1.9.1
1.9.10
1.9.2
1.9.3
1.9.4
1.9.5
1.9.6
1.9.7
1.9.8
1.9.9
2.0.0
2.0.1
2.0.2
2.0.3
2.0.4
2.0.5
2.0.6
2.0.7
2.0.8
2.0.9
2.1.0
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
2.1.6
2.1.7
2.1.8
2.2.0
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.2.8
2.2.9
2.3.0
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.4.0
2.4.1
2.4.2
2.4.3
2.4.4
2.5.0
2.5.1
2.5.2
2.5.3
3.0.0
3.0.1
3.0.2
3.0.3
3.1.0
${ noResults }
9 Commits (fdd4f8f5d583bb249affbccb2265d74e776f7713)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
fdd4f8f5d5 |
Fix SMS JS dropdown, enable toggle, landing page link text, add SMS tests
- Fix SMS provider dropdown: switch from nonce'd javascript_tag to inline
onchange handler (Turbo-compatible)
- Fix enable toggle: handle serialized JSON string values ("true"/"1")
in addition to boolean true
- Fix landing page: change link text from github.com/docusealco to
github.com/wabolabs/wabosign
- Add comprehensive SMS system tests (4 examples) covering provider
form rendering, toggle, enabled state, and test message section
|
2 weeks ago |
|
|
738d531467 |
Fix merge damage: restore WaboSign branding, SMS form, remove Console/Pro/Upgrade
Post-sync remediation: - Restore WaboSign 'W' logo SVG (was reverted to DocuSeal abstract shape) - Restore SMS config form with BulkVS, Twilio, VoIP.ms, SignalWire providers - Add AGPL §7(b) upstream attribution to footer (DocuSeal link alongside WaboSign) - Remove Console feature entirely (controller deleted, routes/constants removed) - Remove all Pro/Plan/Upgrade gating — features now freely available - Make all user roles selectable (editor/viewer no longer disabled) - Remove upgrade button from navbar, plans link from settings nav - Remove console redirect from sessions controller - Add _logo.html.erb to rebrand-sync DENY_PATHS to prevent future overwrites |
2 weeks ago |
|
|
977a98a5da |
Sync to upstream 3.0.2 — integrate 28 upstream commits with WaboSign rebrand
|
3 weeks ago |
|
|
34250ac305 |
Fix lingering erblint failures in sms_settings/index.html.erb
The previous lint fix swapped a `<% ... %>` block-opener style but left a multi-line hash literal and multi-line `case` expression inside the same ERB tag, which tripped Layout/FirstHashElementIndentation, Layout/IndentationConsistency, and the closing-newline-before-`%>` rule. Reshape: each assignment lives in its own single-line `<% %>` tag, and the per-provider sending-number lookup is a plain hash dispatch rather than a multi-line case. Same runtime behaviour; lint-clean. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
1 month ago |
|
|
02b98fda3e |
Fix CI lint failures in SMS provider work
Rubocop:
- lib/sms/providers/{signalwire,twilio}.rb: collapse the
Net::HTTPSuccess success-path `if` into modifier form
(Style/IfUnlessModifier).
- lib/sms/providers/signalwire.rb: `delete_suffix('/')` instead of
`sub(%r{/\z}, '')` (Performance/DeleteSuffix).
- app/controllers/sms_settings_controller.rb: move SECRET_KEYS to
the top of the class so it isn't sandwiched under `private`
(Lint/UselessConstantScoping). Ruby constants aren't actually
privatised by a preceding `private` keyword anyway.
Erblint:
- app/views/sms_settings/index.html.erb: replace `javascript_tag do`
with a raw `<script nonce=...>` block so erblint's
AvoidUsingJavascriptTag rule is satisfied. CSP nonce comes from
Rails' content_security_policy_nonce helper, same source as before.
- Inline the ERB block-opener so Ruby doesn't see a leading empty
line (Layout/LeadingEmptyLines).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
1 month ago |
|
|
0ac37338ab |
Add Twilio, VoIP.ms, and SignalWire SMS providers
Adds three new selectable providers behind the existing Sms.send_message interface. Per-account credentials are namespaced in the encrypted sms_configs hash (twilio_*, voipms_*, signalwire_*) so existing BulkVS configs keep working unchanged. - lib/sms.rb: dispatch via per-provider classes and delegate the "is this configured" check to each provider, replacing the BulkVS-only hardcoded gate in enabled_for?. - lib/sms/providers/twilio.rb: form-encoded POST to the Messages API, Basic Auth with SID:Token, treats 201-with-error_code as failure. - lib/sms/providers/voipms.rb: GET with query-string auth, treats status != "success" as failure even on HTTP 200, enforces the API's 160-byte hard cap up front. - lib/sms/providers/signalwire.rb: Twilio-shaped client targeting the per-account Space URL host; strips https:// and trailing / from the user-supplied space URL. - app/controllers/sms_settings_controller.rb: extend the preserve-secret-on-blank-edit pattern to all four providers' password fields via a SECRET_KEYS array. - app/views/sms_settings/index.html.erb: dynamic provider select sourced from Sms::SUPPORTED_PROVIDERS with per-provider field blocks toggled by a nonce'd inline script (the app's CSP requires nonces on inline JS). - SMS.md: new "Configuring …" sections for each provider, wire-format quick-reference table, and updated extension/code-map sections. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
1 month ago |
|
|
8dbf5b6cab |
Fix CI lint + flaky dashboard test on first fork-Actions run
Previously CI had never run on the wabolabs/wabosign fork (Actions
gated until owner consent). Now that the gate is lifted, run rubocop /
erblint / brakeman / rspec against current master uncovered backlog:
- rubocop: 97 auto-corrected across the WaboSign-fork files (account
logo, SMS, SSO, ability specs, role auth specs, omniauth callbacks).
Remaining 8 fixed by hand:
* lib/wabosign.rb chained map collapsed to filter_map; `hd` param
renamed to `hosted_domain` (Naming/MethodParameterName)
* app/models/user.rb default_sso_account split for line length +
SafeNavigation
* spec/rails_helper.rb abort calls marked `# rubocop:disable
Rails/Exit` (upstream pattern, intentional)
* spec/requests/users/omniauth_callbacks_spec.rb let! used for
side-effect-only setup -> moved into before blocks
- erblint: 21 auto-corrected (mostly Style/StringLiterals from a
sed substitution that picked double quotes) + a missing
autocomplete attribute added to the SMS test-message input.
- brakeman: clean. Removed one obsolete ignore entry (was for the
deleted enquiries controller) and added one new ignore for the
MCP-settings token preview (HighlightCode returns escaped HTML).
- rspec: dashboard "shows the list of templates" was flaky because
other_template's Faker::Book.title could randomly collide with one
of the 5 in-account templates. Pin the name to a unique suffix.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
1 month ago |
|
|
1872a0995b |
Wire SMS sending via BulkVS
Replaces the SMS placeholder with an actual provider integration. v1
ships BulkVS only; the architecture leaves room for additional
providers behind the same Sms.send_message interface.
Storage:
- EncryptedConfig key `sms_configs` (added to CONFIG_KEYS):
{ provider, enabled, basic_auth_token, from_number,
delivery_webhook_url }
- AccountConfig key `submitter_invitation_sms` for the per-account
SMS body template override.
Service layer:
- lib/sms.rb — Sms.enabled_for?(account), Sms.send_message
(account:, to:, text:), Sms.normalize_phone
- lib/sms/providers/bulkvs.rb — POST to
https://portal.bulkvs.com/api/v1.0/messageSend with the
pre-encoded Basic Auth header from the BulkVS portal. Surfaces
non-2xx responses as Sms::ProviderError with the upstream message.
Background sending:
- app/jobs/send_submitter_invitation_sms_job.rb — mirrors
SendSubmitterInvitationEmailJob; substitutes account-template
variables via the existing ReplaceEmailVariables module so
{account.name} / {submitter.link} / etc. work in the SMS body.
- submitters_controller#maybe_resend_email_sms already enqueues
this job when params[:send_sms] == '1', so the existing
"Send SMS" toggle in the submitter edit form now does what it
says on the tin.
Controllers/routes:
- SmsSettingsController gains create + test_message; the test_message
action lets an admin verify their config with a one-off SMS
against any phone number.
- SubmittersSendSmsController#create powers the per-submitter
"Send SMS" button (mirrors SubmittersSendEmailController).
- Routes: resources :sms with create + test_message; submitters
nested resources :send_sms.
Views:
- app/views/sms_settings/index.html.erb — real form replacing the
"not bundled" placeholder. Status banner reflects live config.
Test-send card renders only when SMS is enabled.
- app/views/submissions/_send_sms_button.html.erb — was a permanently
disabled stub; now button_to the new send_sms endpoint when SMS
is configured and the submitter has a phone number. Falls back to
a tooltip explaining what's missing otherwise.
- app/views/submissions/_send_sms.html.erb — was a placeholder render;
now shows a real "send SMS on save" toggle when SMS is configured.
- app/views/personalization_settings/_signature_request_sms_form.html.erb
+ show.html.erb — per-account SMS body override with variable
documentation.
Smoke-tested in a built image:
- /settings/sms renders 200, all form fields present.
- /settings/personalization renders the SMS body field.
- With saved (bogus) creds, Sms.send_message hits BulkVS over HTTPS
and surfaces the real 401 as Sms::ProviderError — proves the
transport is wired, not just the boot path.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
1 month ago |
|
|
a80e20234f |
add name and phone to submitter details
|
3 years ago |