Commit graph

3880 commits

Author SHA1 Message Date
Catalin Pit
f5b3babcbb
feat: display the field id in dev mode (#2658) 2026-03-27 00:40:29 +11:00
Lucas Smith
2346de83a6
fix: replace z.string().email() with RFC 5322 compliant zEmail() (#2656) 2026-03-26 16:31:21 +11:00
Lucas Smith
814f6e62de
fix: replace z.string().email() with RFC 5322 compliant ZEmail/zEmail (#2655) 2026-03-26 13:31:26 +11:00
Lucas Smith
0434bdfacf
fix: require billing address on checkout (#2647) 2026-03-25 15:07:27 +11:00
David Nguyen
53b6078fa9
fix: missing embed direct template email validation (#2635) 2026-03-23 15:12:42 +11:00
Catalin Pit
5be71cca21
feat: add option to disable Document created from template (#2609) 2026-03-23 15:11:42 +11:00
David Nguyen
ace472c294
fix: prevent managers from deleting admin invitations (#2636) 2026-03-20 22:26:59 +11:00
David Nguyen
b2d395e00b
fix: stale envelope editor query (#2633) 2026-03-19 17:22:07 +11:00
Lucas Smith
dd1b6d7dfe
chore: add translations (#2632) 2026-03-19 16:02:09 +11:00
Lucas Smith
bef3ea483d
chore: add translations (#2630) 2026-03-19 15:57:31 +11:00
David Nguyen
e87aa29823
feat: add page title translations (#2629) 2026-03-19 15:44:53 +11:00
Niels Kaspers
4f8132be61
fix(ui): add scroll to date format dropdown (#2626) 2026-03-19 14:47:38 +11:00
David Nguyen
9cf8ed1d00
fix: resolve envelope editor settings ccer logic (#2628)
## Description

Fix issue where having a CCer for a draft document would prevent
changing the date/timezone and some other settings.
2026-03-19 14:21:28 +11:00
github-actions[bot]
108d422a2e
chore: extract translations (#2613) 2026-03-19 14:18:42 +11:00
David Nguyen
48fb066b9a
feat: allow editing pending envelope titles (#2604) 2026-03-19 14:03:30 +11:00
David Nguyen
0b605d61c6
feat: add envelope pdf replacement (#2602) 2026-03-18 22:53:28 +11:00
Ted Liang
5dcdac7ecd
feat: support language in embedding (#2364) 2026-03-18 16:17:23 +11:00
Abdul Alim
f48aa84c9e
fix(recipient): filter invalid emails in suggestions (#2510) 2026-03-18 14:43:44 +11:00
Catalin Pit
455fef70bd
fix: folder view all page nested navigation and search filtering (#2450)
Add parentId query param support to documents/templates folder index
pages so View All correctly shows subfolders. Fix search not filtering
unpinned folders on documents page and broken mt- Tailwind class on
templates page.
2026-03-17 12:02:32 +02:00
Konrad
647dc5fc2d
fix(i18n): mark billing messages for translation (#2525) 2026-03-17 12:05:27 +11:00
Lucas Smith
de134afba1 v2.8.1 2026-03-17 01:30:28 +11:00
Ephraim Duncan
36bbd97514
feat: add organisation template type (#2611) 2026-03-17 01:29:34 +11:00
Ephraim Duncan
943a0b50e3
perf: parallelize async operations in duplicateEnvelope (#2619) 2026-03-16 02:34:08 +00:00
Ephraim Duncan
6ef501c9f2
perf: parallelize getTeamSettings and getEditorEnvelopeById (#2617) 2026-03-16 11:13:39 +11:00
Ephraim Duncan
ac09a48eaa
perf: parallelize independent async operations in createEnvelope (#2618) 2026-03-16 11:13:36 +11:00
Ephraim Duncan
70fb834a6a
feat: add more webhook events (#2125) 2026-03-15 19:47:52 +11:00
Ephraim Duncan
66e357c9b3
feat: add email domain restriction for signups (#2266)
Co-authored-by: Lucas Smith <me@lucasjamessmith.me>
2026-03-14 16:32:34 +11:00
Ted Liang
3106fd7483
fix: exclude native modules from Vite dependency optimization (#2615) 2026-03-14 11:51:00 +11:00
Catalin Pit
32c54e1245
fix: hide name/email in embed signing when provided via prop (#2600)
## Description

When signing via embed, recipient name and email provided through the
embed context were ignored if the DB recipient record had empty values.

This fix adds:
- the signing context's fullName and email as fallbacks in the recipient
payload
- keeps the form in sync with values instead of defaultValues
- ensures the override payload is sent even when the form is hidden
2026-03-13 21:59:10 +11:00
Ted Liang
83fbc70a1c
refactor: avoid recipient color duplication (#2355) 2026-03-13 15:52:15 +11:00
Lucas Smith
1ee6ec87a2
chore: add translations (#2614) 2026-03-13 15:22:20 +11:00
Lucas Smith
6b1b1d0417
fix: improve webhook execution (#2608)
Webhook URLs were being fetched without validating whether they
resolved to private/loopback addresses, exposing the server to SSRF.

Current SSRF is best effort and fail open, you should never host
services that
you cant risk exposure of.

This extracts webhook execution into a shared module that validates
URLs against private IP ranges (including DNS resolution), enforces
timeouts, and disables redirect following. The resend route now
queues through the job system instead of calling fetch inline.
2026-03-13 15:02:09 +11:00
Lucas Smith
9f680c7a61
perf: set global prisma transaction timeouts and reduce transaction scope (#2607)
Configure default transaction options (5s maxWait, 10s timeout) on the
PrismaClient instead of per-transaction overrides. Move side effects
like email sending, webhook triggers, and job dispatches out of
$transaction blocks to avoid holding database connections open during
network I/O.

Also extracts the direct template email into a background job and fixes
a bug where prisma was used instead of tx inside a transaction.
2026-03-13 14:51:53 +11:00
github-actions[bot]
76d96d2f65
chore: extract translations (#2583) 2026-03-13 14:50:48 +11:00
David Nguyen
2f2b5dd232
feat: allow creating embeds in folder (#2612)
## Description

Allow passing in a `folderId` when creating an embedded envelope 

## Embed repo changes here

https://github.com/documenso/embeds/pull/69/changes
2026-03-13 14:50:14 +11:00
David Nguyen
8d97f1dcfa
fix: resolve error flash on page refresh (#2606) 2026-03-13 12:37:30 +11:00
David Nguyen
e67e19358a
fix: add hipaa flag (#2603) 2026-03-13 12:06:10 +11:00
Timur Ercan
364537e8fe
chore: update hipaa status in docs (#2599) 2026-03-13 12:00:05 +11:00
Joshua Sharp
4751c9cecc
fix: template description overflow (#2605) 2026-03-12 18:15:21 +11:00
VIVEK TIWARI
a5fd814fbc
fix: handle invalid qr share tokens without 500 (#2597) 2026-03-12 13:46:17 +11:00
Ephraim Duncan
1d2c781a6d
docs: add organisation ownership transfer guide (#2601) 2026-03-12 13:39:37 +11:00
Lucas Smith
03ca3971a0
perf: upgrade @libpdf/core to 0.3.3 and deduplicate font registration (#2598)
Upgrade @libpdf/core from 0.2.12 to 0.3.3, which includes:
- WebCrypto SHA-256 replacing pure-JS @noble/hashes (10x signing
speedup)
- Iterative collectReachableRefs (fixes stack overflow on large PDFs)
- Iterative Math.max helpers in xref writer (fixes remaining stack
overflow)

Extract duplicated FontLibrary.use() calls from render-certificate,
render-audit-logs, and insert-field-in-pdf-v2 into a shared
ensureFontLibrary() helper with has() guards so fonts are only
registered once per process.
2026-03-11 20:23:18 +11:00
Lucas Smith
5ea4060fd7 v2.8.0 2026-03-10 21:43:01 +11:00
Lucas Smith
af346b179c
feat: add recipient role editing and audit log PDF download in admin (#2594)
- Allow admins to update recipient role from document detail page
- Add download button to export audit logs as PDF
- Display recipient status details in accordion
- Add LocalTime component with hover popover for timestamps
2026-03-10 21:41:46 +11:00
Catalin Pit
ab69ee627b
fix: include extra recipient info in missing fields error msg (#2590) 2026-03-10 12:17:24 +11:00
Lucas Smith
4daec44550
fix: move window.__ENV__ script before client bundle to prevent stale fallback (#2592) 2026-03-10 12:15:15 +11:00
Ted Liang
11eb4dd2cd
fix: security CVE-2026-29045 (#2589) 2026-03-09 16:46:11 +11:00
Lucas Smith
cc71c7d9ba
fix: add cmaps (#2588) 2026-03-09 14:07:13 +11:00
Lucas Smith
f82bf97480
fix: only use embed hash name/email as fallback when recipient values are blank (#2586)
For document signing embeds, the hash-provided name and email should
only
be used when the recipient doesn't already have values set. For template
signing, the hash values are always allowed.

Also makes the email input editable in V1 embeds when the recipient has
no email, matching V2 behavior.

Ref: documenso/embeds#53
2026-03-09 13:30:27 +11:00
Lucas Smith
0e20d364ef
fix: opt findDocumentsInternal query out of batch fetching (#2585) 2026-03-09 12:47:59 +11:00