* feat: add pluggable field detection system (v0.14.0)
Add external field detection via Ruby scripts and YAML profiles.
Two plugin mechanisms supported side-by-side:
1. Ruby scripts (FIELD_DETECTION_SCRIPTS_DIR) - full-power handlers
registered via Templates::FieldDetection.register(name, handler)
2. YAML profiles (FIELD_DETECTION_CONFIG_DIR) - declarative configs
with text anchors + relative offsets OR absolute positions
Core changes:
- lib/templates/field_detection.rb: registry, loader, dispatcher
- lib/templates/field_detection/config_based.rb: YAML profile engine
with anchor-based and absolute positioning, negative page indices
- Controller accepts algorithm param, dispatches accordingly
- Split-button UI: main action = ML detection, dropdown = profiles
- RSpec tests for both modules with fixture YAML profiles
No business-specific algorithms ship with docuseal - all are injected
at deploy time via ConfigMap/mounted volumes.
* fix: use proper user/account setup in config_based spec
* fix: include submitters in algorithm detection response
---------
Co-authored-by: Bob Develop <developbob50@gmail.com>
* feat: add 'Generated by DocuSeal' disclaimer below typed signature preview
* fix: use t() for i18n instead of hardcoded English disclaimer text
Add generated_by_docuseal translation key to all 7 locales (en, es, it, fr, pt, de, nl) and use t() in the Vue component for consistency with the rest of the internationalized UI.
* fix: add generated_by_docuseal translations to JavaScript i18n module
---------
Co-authored-by: Bob Develop <developbob50@gmail.com>
* feat: add typed signature with font picker to user profile
- Add 'Type' tab alongside 'Draw' and 'Upload' in signature/initials modals
- Create typed-signature-form custom element for canvas-based typed signatures
- Persist font preference per user via UserConfig (signature_font/initials_font)
- Pre-select saved font when reopening the modal
- Add i18n keys for 'type' and 'type_signature_here' in all 7 languages
* fix: use options_for_select to satisfy BetterHtml validation
---------
Co-authored-by: Bob Develop <developbob50@gmail.com>
The google/fonts repo renamed ShadowsIntoLight-Regular.ttf to
ShadowsIntoLight.ttf, causing a 404 during Docker build.
Use wget -O to download with the expected filename so all other
references (generate_font_image.rb, signature_step.vue, symlinks)
remain unchanged.