Commit Graph
4138 Commits
Author SHA1 Message Date
David Nguyen 91f9a1c3e5 fix: wip 2026-08-05 14:13:22 +10:00
David Nguyen 7cdc423c42 docs: amend signing groups spec for drag-only grouping 2026-08-04 20:11:25 +10:00
David Nguyen 34f6102a3f test: drive recipient grouping e2e through drag and drop 2026-08-04 20:11:22 +10:00
David Nguyen 6a1236cac2 feat: make recipient grouping drag-only with group badges 2026-08-04 20:11:19 +10:00
David Nguyen f47c9a7402 test: update signing order swap to use out-of-bounds extraction 2026-08-04 18:43:51 +10:00
David Nguyen 635332da2c fix: advance signing groups by step completion instead of send status 2026-08-04 18:43:49 +10:00
David Nguyen 83eb53fffb fix: mount signers field array so setValue reconciles reordered arrays 2026-08-04 18:43:46 +10:00
David Nguyen 9db2014b5f test: add signing group flow e2e 2026-08-04 18:22:19 +10:00
David Nguyen e0d8146a93 test: add envelope editor recipient grouping e2e 2026-08-04 18:20:58 +10:00
David Nguyen fc68e31d3d fix: guard transient partial signer entries during array reorder 2026-08-04 18:20:55 +10:00
David Nguyen cf26f30330 feat: render envelope editor recipients as signing step cards 2026-08-04 17:48:47 +10:00
David Nguyen cf78dc9d10 feat: add envelope editor recipient step list with group drag and drop 2026-08-04 17:41:18 +10:00
David Nguyen b852e36f3c feat: add envelope editor recipient step card 2026-08-04 17:39:41 +10:00
David Nguyen 119b77b508 feat: extract envelope editor recipient row component 2026-08-04 17:38:28 +10:00
David Nguyen ba1e720dcc feat: load editor recipients with group-preserving normalization 2026-08-04 17:37:06 +10:00
David Nguyen 8d48c92a27 feat: gate dictation UI to single-recipient next steps 2026-08-04 17:35:24 +10:00
David Nguyen 19514b182b feat: scope assistants to strictly later signing steps 2026-08-04 17:33:05 +10:00
David Nguyen 129833d6bb feat: gate next-signer dictation to single-recipient steps 2026-08-04 17:31:55 +10:00
David Nguyen e8484c4405 feat: activate whole signing group on sequential advance 2026-08-04 17:30:46 +10:00
David Nguyen bbe03bb83d feat: notify all members of the first signing group on send 2026-08-04 17:29:31 +10:00
David Nguyen 9c2f28a4f4 feat: use group-aware turn checks for sequential signing 2026-08-04 17:28:32 +10:00
David Nguyen d52000f648 feat: make assistant-last-signer check signing-group aware 2026-08-04 17:25:37 +10:00
David Nguyen 74c1752853 feat: add group-aware turn and dictation helpers 2026-08-04 17:24:53 +10:00
David Nguyen 9d0e61716e feat: add signing group editor operations 2026-08-04 17:22:56 +10:00
David Nguyen 8d82b1fae8 feat: add recipient signing group derivation and normalization 2026-08-04 17:20:42 +10:00
David Nguyen 03809d3231 docs: add recipient signing groups implementation plan 2026-08-04 17:15:58 +10:00
David Nguyen dbac6a787a docs: add recipient signing groups design spec 2026-08-04 15:08:59 +10:00
Lucas Smith 9c27ce6d18 feat: replace document status tabs with filter pills (#3145)
Swaps the tab row and dropdowns for faceted filter pills (status,
sender, period) with a shared reset, and moves URL param handling
to nuqs.

<img width="2198" height="1674" alt="image"
src="https://github.com/user-attachments/assets/6996431c-09c8-45c3-bc30-f0a1e503c941"
/>
2026-08-03 22:52:11 +10:00
Ephraim Duncan b3c609a549 feat: bulk download documents (#2711) 2026-08-03 20:55:43 +10:00
Ephraim Duncan 29020bcbed docs(webhooks): correct retry policy, timeout and payload reference (#3132)
## Description

Corrects the webhooks documentation, which described delivery behavior
that does not exist in the implementation.

## Changes Made

- Replaced the fabricated retry schedule (5 attempts / immediate-to-2h
backoff) with the real provider-dependent behavior: retries belong to
the job provider (`NEXT_PRIVATE_JOBS_PROVIDER`) — local (default) 4
total attempts back-to-back, BullMQ 3 attempts with exponential backoff
from 1s, Inngest 5 attempts with platform backoff.
- Fixed the webhook timeout from 30 seconds to 10 seconds
(`WEBHOOK_TIMEOUT_MS = 10_000`, hard abort).
- Clarified failure semantics: non-2xx fails, 3xx redirects are not
followed (`redirect: 'manual'`), network/SSRF-blocked calls record
response code 0; failed deliveries mark only the `WebhookCall` record —
the webhook itself is never auto-disabled.
- Corrected URL requirements: `http://` is accepted; documented the SSRF
guard (private/loopback blocked,
`NEXT_PRIVATE_WEBHOOK_SSRF_BYPASS_HOSTS` bypass for self-hosters).
- Added `envelopeId` to both field tables and all payload/recipient JSON
examples; framed numeric `id` as the legacy v1 identifier.
- Removed a documented `documentMeta` field that exists in neither the
Zod schema nor Prisma; fixed timezone/dateFormat examples to the
hardcoded `Etc/UTC` / `yyyy-MM-dd hh:mm a` values.
- Added missing `REJECTED`/`CANCELLED` statuses and
`TEMPLATE_DIRECT_LINK` source; fixed `templateId` to `null` on
TEMPLATE_* examples; documented the previously missing
`RECIPIENT_EXPIRED` event across setup, events, and verification pages.

## Testing Performed

Docs-only change. Every claim verified against the implementation
(`execute-webhook-call.ts`, job clients, `webhook-payload.ts`,
`assert-webhook-url.ts`, webhook-router schema).
2026-08-03 12:16:39 +10:00
Ephraim Duncan 6ec67d1c4d feat: rejected and expired recipient filters (#2889) 2026-07-30 10:41:45 +10:00
Ephraim Duncan a457e1ef7d feat: add copy button for license key in admin panel (#3123)
## Description

Adds a copy button next to the show/hide toggle for the license key in
the admin panel license card (Admin Panel → Stats).

- Ghost button matching the existing eye-toggle styling (`h-6 w-6`,
`CopyIcon`)
- Uses the standard `useCopyToClipboard` + toast pattern (same as
`template-direct-link-badge.tsx`)
- Copies the key regardless of masked/visible state

New translation strings will be picked up by the next `chore: extract
translations` run.

## Before / After

![Before and after: copy button added next to the license key show/hide
toggle](https://artifacts.duncan.land/documenso-pr3123-license-copy)

> Screenshots taken against a locally mocked ACTIVE license (the mock is
not part of this PR).

## Testing

- `npx tsc --noEmit -p apps/remix` clean
- `biome check` clean
- Smoke-tested in browser: clicking the button fires the "Copied to
clipboard" toast (visible in the screenshot above)
2026-07-27 02:18:03 +00:00
Catalin Pit e4897fa686 fix: sort CC recipients last (#2930) 2026-07-24 16:29:46 +10:00
David Nguyen c02dfaba1a feat: rework command search (#3109) 2026-07-23 13:16:44 +09:00
David Nguyen 54befb5962 fix: update stripe team member billing (#2991) 2026-07-23 14:09:06 +10:00
David Nguyen 26f0c4c5b7 chore: deprecate endpoints (#3022) 2026-07-23 13:57:09 +10:00
Lucas Smith 7f85388eb7 fix: increase global API rate limits to 1000/min (#3081) 2026-07-21 15:58:36 +10:00
Lucas Smith 3cf2963cd0 v2.16.0 v2.16.0 2026-07-21 15:06:36 +10:00
Catalin Pit cc5ef3df16 feat: add branding preferences reset dialog (#3032) 2026-07-20 16:40:25 +09:00
Catalin Pit 4b72e7d546 feat: add document preferences reset dialog (#3039) 2026-07-20 16:02:39 +09:00
David Nguyen ba0dead96f fix: render error messages for invalid templates (#3088)
Currently direct templates can be created without the required
signatures fields for signers.

This means that the document can be fully signed by everyone but will
ultimately fail the sealing step which leaves the document in an
unrecoverable state.
2026-07-20 16:57:38 +10:00
Lucas Smith 40472bc26c fix: react hydration errors (#3099)
Move PostHog init out of the React tree so the client tree matches
the server render (mismatched useIds could abort hydration, leaving
dead event handlers). Also expose the CSP nonce so Radix scroll-lock
styles aren't blocked.
2026-07-16 12:21:43 +10:00
Ephraim Duncan 3ff7f70a7d feat: redesign api tokens settings page (#3076) 2026-07-15 12:42:13 +09:00
Lucas Smith 5c41740859 chore: deps upgrade 2026-07-14 (#3095) 2026-07-14 23:15:45 +10:00
David Nguyen d6268b1d7d fix: missing noreply email for resend (#3094) 2026-07-14 20:13:40 +09:00
Ephraim Duncan 12223c79cb fix(ui): improve destructive button contrast in dark mode (#3071) 2026-07-14 18:40:40 +09:00
David Nguyen b16f979eb3 fix: improve editor autosave (#3057) 2026-07-14 17:44:22 +09:00
Ephraim Duncan db031e2865 fix: replace tailwind class typos 2026-07-14 17:21:30 +09:00
github-actions[bot] 4e0038f2e8 chore: extract translations (#3060) 2026-07-14 17:16:21 +09:00
Lucas Smith c5efd34e95 v2.15.0 v2.15.0 2026-07-13 12:43:22 +10:00