Commit Graph
100 Commits
Author SHA1 Message Date
97ee69e7a0 chore: add translations (#1354)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: github-actions <github-actions@documenso.com>
2024-09-19 16:17:16 +10:00
Mythie 3da344fc5f v1.7.1-rc.3 2024-09-19 13:55:35 +10:00
Mythie 404ca3202f chore: update action auth 2024-09-19 13:45:39 +10:00
Mythie 9852e8971f v1.7.1-rc.2 2024-09-18 11:05:19 +10:00
Mythie 5091112e4b fix: dont nullify externalId if not passed to update document settings 2024-09-18 11:00:48 +10:00
Lucas Smith 08114f7b97 chore: add translations (#1327) 2024-09-18 10:43:43 +10:00
Mythie 4ce4ca3f34 v1.7.1-rc.1 2024-09-17 15:26:38 +10:00
Lucas Smith 7644c0d855 feat: support smaller field bounds (#1344)
Currently this won't always display super well since
our insertion solution isn't amazing but our current
minimum bounds within the UI are a bit large and can be
smaller.

This change makes it smaller and uses container queries to
support dynamically displaying labels based on the container
size.
2024-09-17 00:29:42 +10:00
Mythie 7b06b68572 v1.7.1-rc.0 2024-09-10 23:15:02 +10:00
Lucas Smith c36306d2c9 feat: add authOptions to the API (#1338)
Add the authOptions property to the document and
recipient related API endpoints.

These were previously missing so the only way API
users could set the authOptions was via templates
and using the generateTemplate endpoint.
2024-09-10 15:07:40 +10:00
Mythie bfb09e7928 v1.7.0 2024-09-09 11:20:33 +10:00
Mythie d7e5aa1d26 v1.7.0-rc.5 2024-09-09 08:47:26 +10:00
Lucas Smith 8cb3ad4f3c chore: embedding blog post (#1329) 2024-09-06 22:11:55 +10:00
Lucas SmithandCrowdin Bot bc471fcd9f chore: add translations (#1308)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit


- **Chores**
- Updated the metadata revision dates in multiple German translation
files for consistency.
- Added extraneous blank lines in multiple translation files for cleaner
formatting.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-09-06 12:54:18 +10:00
Mythie 921617b905 v1.7.0-rc.4 2024-09-05 10:46:23 +10:00
Lucas Smith a1a8a174bf feat: embed signing experience (#1322) 2024-09-04 23:13:00 +10:00
Mythie 3657050b02 fix: translation related crashes on marketing 2024-09-04 20:28:43 +10:00
Lucas Smith fd7c1fea1c chore: upgrade next (#1300) 2024-09-03 09:48:54 +10:00
Mythie 5f4972d63b v1.7.0-rc.3 2024-09-03 09:27:51 +10:00
Mythie d599ab0630 v1.7.0-rc.2 2024-08-29 11:01:21 +10:00
Mythie 81479b5b55 v1.7.0-rc.1 2024-08-28 18:00:43 +10:00
Mythie 9638dfbf37 v1.7.0-rc.0 2024-08-28 14:31:30 +10:00
Lucas Smith dfa89ffe44 fix: make invite and confirmations long lived (#1309)
Previously we would delete all invites and confirmation tokens upon
completing the action that they represent.

This change instead adds a flag on each token indicating whether it has
been completed so we can action a
completed token differently in the UI to reduce confusion for users.

This had been brought up a number of times where confirmation emails,
team member invites and other items
may have been actioned and forgotten about causing an error toast/page
upon subsequent revisit.
2024-08-28 14:08:35 +10:00
Lucas Smith 7943ed5353 chore: add translations (#1306) 2024-08-28 09:44:19 +10:00
Lucas Smith 04b92eac1d chore: add translations (#1305) 2024-08-27 23:37:05 +10:00
Lucas Smith 27066e2022 chore: add translations (#1295) 2024-08-21 11:06:26 +10:00
Mythie 9178dbd3c1 chore: update marketing site 2024-08-20 23:23:36 +10:00
Mythie 73800d1503 fix: don't send too much data to background job provider 2024-08-15 13:57:54 +10:00
Mythie 063ed966df fix: support custom inngest app ids 2024-08-14 16:26:58 +10:00
Mythie f568025a0b fix: support inngest vercel integration 2024-08-14 13:49:47 +10:00
Lucas Smith ab8701526c fix: move sealing to a background job (#1287)
When signing a document the final signer is often
greeted with a super long completing spinner since
we are synchronously signing the document and sending
emails to all recipients. This is frustrating and
has caused issues for customers and self-hosters.

Moving sealing to a background job resolves this
and improves the overall snappiness of the app while
also supporting retrying the sealing if it were to
fail in the future.

This has the implication of a document no longer
immediately being in a "completed" state once all
signers have signed. To assist with this we now
refetch the page every 5 seconds upon signing
completion until the document status as shifted to
completed.
2024-08-14 13:12:32 +10:00
Mythie 20ec2dde3d chore: update changelog 2024-08-13 11:49:12 +10:00
Mythie 3b8914da83 v1.6.1-rc.1 2024-08-13 09:57:50 +10:00
Mythie ef3ecc33f1 v1.6.1-rc.0 2024-08-09 15:49:41 +10:00
Lucas Smith e5f73452b3 fix: support dynamic external ids for direct templates (#1274)
Adds support for an `externalId` query param to be passed when linking a
user to a direct template. This external id will then be stored on the
document upon signing completion.
2024-08-09 11:06:17 +10:00
3421515452 chore: add translations (#1253)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Enhanced clarity and accuracy of translation strings for the German
and Romanian languages, including the Enterprise License description.

- **Bug Fixes**
- Corrected translation errors in both German and Romanian, ensuring
proper grammar and terminology.

- **Chores**
- Updated revision dates across multiple translation files to reflect
the latest changes for better tracking.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: github-actions <github-actions@documenso.com>
2024-07-26 16:09:44 +10:00
Mythie 043aff3ca9 v1.6.0 2024-07-23 12:53:02 +10:00
Mythie ae5ae111a6 chore: update failing tests 2024-07-22 20:52:17 +10:00
Mythie 414b1b7287 v1.6.0-rc.3 2024-07-19 13:27:01 +10:00
Mythie 7ac4cd25e7 fix: update template limits 2024-07-19 13:16:26 +10:00
Mythie 40428f40e1 fix: only send cancelled emails to recipients who have received the document 2024-07-19 12:41:04 +10:00
Mythie 3a57f97218 chore: update failing tests 2024-07-19 11:32:49 +10:00
Mythie a3ee732a9b v1.6.0-rc.2 2024-07-15 10:50:49 +10:00
Lucas Smith c3035dbd15 feat: add external id to documents and templates (#1227)
## Description

Adds the external ID column to documents and templates with an option to
configure it in the API or UI.

External ID's can be used to link a document or template to an external
system and identify them via webhooks, etc.
2024-07-13 16:45:09 +10:00
Mythie 6b5e4da424 v1.6.0-rc.1 2024-07-05 14:24:40 +10:00
Mythie dc34e81a7e chore: downgrade sharp 2024-06-28 12:12:15 +10:00
Mythie a42fc3cbaa chore: hoist sharp dependency 2024-06-28 11:08:31 +10:00
Lucas Smith b08e153ca2 feat: add public profiles (#1180)
## Description

Add public profiles

## Changes

- Add profiles settings page for users and teams
- Add profiles page `/p/<url>`

## Not completed

- Pending tests
- UI changes to promote public profiles (sign up, etc)
2024-06-27 22:47:20 +10:00
Mythie d85f207d59 fix: add button type 2024-06-27 22:32:48 +10:00
Mythie 22c02aac02 feat: avatar images 2024-06-27 21:50:42 +10:00
Lucas Smith 5b4e6e530b Merge branch 'main' into feat/public-profiles 2024-06-27 12:10:45 +10:00
Lucas Smith 93842ba604 fix: show correct authentication action for account required (#1191)
## Description

When using account required auth for a given document this change now
shows the sign up or sign in button depending on if an account actually
exists within
Documenso.

This change should reduce friction and confusion when a recipient has
been invited to a document.

## Related Issue

<!--- If this pull request is related to a specific issue, reference it
here using #issue_number. -->
<!--- For example, "Fixes #123" or "Addresses #456". -->

## Changes Made

- Updated the ssr for the signing page to fetch whether a user account
exists when document auth is required
- Pass the user exists flag to the document auth required page

## Testing Performed

- Created and sent a document to a user with an account and one without an account in both a logged in and logged out state and confirmed that the dialogs are displayed as expected.
2024-06-26 12:03:01 +10:00
Lucas Smith d6f9c701fc fix: direct links for teams are generated wrong (#1197)
use `NEXT_PUBLIC_WEBAPP_URL()` for the base URL.
2024-06-26 11:50:20 +10:00
Lucas Smith 1f59266e08 Merge branch 'main' into fix/show-sign-in-or-sign-up-for-account-required 2024-06-26 11:48:15 +10:00
Lucas Smith e527058322 Merge branch 'main' into fix/show-sign-in-or-sign-up-for-account-required 2024-06-24 19:44:23 +10:00
Lucas Smith 19d8b4b80d Merge branch 'main' into feat/public-profiles 2024-06-21 20:14:32 +10:00
Lucas Smith 9a48da5270 feat: background tasks (#1160)
## Description

Currently a work in progress but this adds background tasks to Documenso
for handling tasks that take a little longer and aren't part of the
overall critical path.

## Related Issue

N/A

## Changes Made

Added a pluggable jobs provider supporting both a local provider and a
Trigger.dev provider.

## Testing Performed

- Verified job level retries work
- Verified task level retries work without incrementing job retries


![image](https://github.com/documenso/documenso/assets/13398220/3bbfbc7f-28ef-43ab-a539-ae0d4e900b43)

![image](https://github.com/documenso/documenso/assets/13398220/fd012169-4986-4653-b852-ba6e19a5d131)


**This will still have a lot of rough edges but is a perfect MVP for
local _durable_ compute which may accept more providers later on**

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added background job management functionalities to handle email
sending and job processing.
- Introduced support for triggering and managing jobs using various
providers.

- **Chores**
- Updated environment configuration files to support new job management
features.
- Added and updated scripts and dependencies for job management and CLI
commands.
  
- **Refactor**
- Refactored email sending functionalities to utilize the new job queue
mechanism.

- **Documentation**
- Updated documentation to reflect the new environment variables and
configurations related to background jobs.

- **Configuration**
- Updated Docker configurations to support new services for job
management.
- Updated VSCode settings for improved development experience with new
dependencies and formatting rules.
  
- **Database**
- Added new database schemas and migrations to support background job
management and tracking.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-06-21 14:32:29 +10:00
Mythie 2c3c067eb4 chore: add inngest:dev command 2024-06-21 14:25:45 +10:00
Lucas Smith 5d417ee67f Merge branch 'main' into feat/public-profiles 2024-06-21 13:59:13 +10:00
Lucas Smith 1ad64b43db Merge branch 'main' into feat/background-tasks 2024-06-21 13:58:56 +10:00
Mythie ffb890fdf6 chore: force pin turbo to resolve docker issues for now 2024-06-21 13:52:22 +10:00
Mythie 8e19c89fae chore: add packageManager field 2024-06-21 13:07:30 +10:00
Mythie 6b3c0afe25 chore: add prebuild to handle prisma build cache 2024-06-21 12:55:17 +10:00
Mythie 3e5dcca027 fix: remove extra frontmatter from changelog.mdx 2024-06-21 12:34:45 +10:00
Mythie 93ea3e2644 fix: dirty type safe job definitions 2024-06-21 12:18:11 +10:00
Lucas Smith 6f8d8b908d Merge branch 'main' into feat/background-tasks 2024-06-21 10:31:16 +10:00
Mythie cc667233c6 fix: show correct authentication action for account required
When using account required auth for a given document
this change now shows the sign up or sign in button
depending on if an account actually exists within
Documenso.

This change should reduce friction and confusion when a
recipient has been invited to a document.
2024-06-20 10:59:07 +10:00
Mythie 664b9284bd chore: feedback from pull request 2024-06-19 13:28:14 +10:00
Mythie 4077d02ccd fix: use readonly modifiers for generics 2024-06-18 22:38:53 +10:00
Lucas Smith 2516377cbf Merge branch 'main' into feat/background-tasks 2024-06-17 17:12:12 +10:00
Mythie 8bb936aa51 chore: add env vars to example .env 2024-06-17 17:02:00 +10:00
Mythie b8d6484ff0 fix: improve inngest support 2024-06-17 16:59:14 +10:00
Mythie 6977381e00 feat: inngest provider 2024-06-14 13:53:48 +10:00
Mythie 1c5da46335 fix: update signing email job 2024-06-14 13:53:08 +10:00
Mythie f28334bff7 feat: make jobs client type safe 2024-06-13 15:32:56 +10:00
Mythie 002dc0fdae fix: make local provider robust to random input 2024-06-13 15:24:53 +10:00
Mythie 2e41ecf825 fix: remove dummy code from email job 2024-06-13 15:24:53 +10:00
Mythie 991f808890 feat: ghetto durable compute 2024-06-13 15:24:51 +10:00
Mythie 61827ad729 fix: make trigger.dev work properly 2024-06-13 15:23:52 +10:00
Mythie 108054a133 wip: background tasks 2024-06-13 15:23:19 +10:00
Lucas Smith cfb52161d9 Merge branch 'main' into feat/public-profiles 2024-06-13 15:20:26 +10:00
Lucas Smith 1647f7c4a0 fix: correctly insert fields on rotated pages (#1183)
## Description

PDFs can have pages that are rotated, which are correctly rendered in
the frontend. However, when we load the PDF in the backend, the rotation
is applied which causes issues when we want to insert fields.

To account for this, we swap the width and height for pages that are
rotated by 90/270 degrees. This is so we can calculate the virtual
position the field was placed if it was correctly oriented in the
frontend.

Then when we insert the fields, we apply a transformation to the
position of the field so it is rotated correctly.

**Test document with 0/90/180/270 rotated pages**


[rotated_test.pdf](https://github.com/user-attachments/files/15798138/rotated_test.pdf)
2024-06-12 21:54:45 +10:00
Lucas Smith eca66a7c1d fix: add regular plan to price type enum (#1184)
Adds the regular plan to our current plan type enum so we can use it for
user limit calculations.
2024-06-12 21:54:11 +10:00
Lucas Smith 6f2de54640 Merge branch 'main' into fix/regular-plan 2024-06-12 21:49:39 +10:00
Mythie e62fa6cc92 fix: update plans on the billing page 2024-06-12 21:33:17 +10:00
Mythie 8c2f61a004 fix: add regular plan to price type enum 2024-06-12 21:27:05 +10:00
Lucas Smith cc43139573 fix: downloaded files should have _signed (#1149)
Modifies the generated filename for the downloaded PDF by appending
"_signed" to the base title.

## Changes Made

- Update the filename in the downloadFile function call to append
"_signed" to the baseTitle variable.

## Testing Performed

Tested the `downloadPDF` function locally to ensure that the downloaded
PDF file has the correct filename with "_signed" appended.
2024-06-05 14:56:02 +10:00
Lucas Smith c346a3fd6a feat: add oidc support (#1103)
## Description

This PR adds generic OIDC as an authentication provider. This allows
personal users and companies potentially to define whatever IdP they
want as long as it supports the OIDC well known format. (Azure, Zitadel,
Authentik, KeyCloak, Google, etc. all support it)

## Related Issue

Fixes #1090 

## Changes Made

- Adds OIDC buttons to the signin and registration pages
- Adds appropriate environment variables
- Adds migration to add OIDC to the `IdentityProvider` Enum

## Testing Performed

#### Zitadel
- Created application in Zitadel as an web app, with Client auth
- Enabled `User Info inside ID Token` in Token settings
- Copied client id and client secret to the new .ENV variables
- Copied the well-known URL from the URLs section to .ENV
- Created new account with OIDC provider button
- Verified email manually
- Signed into account with OIDC provider
- Logged out
- Signed into accounting again with OIDC provider

#### Authentik
- Created application in Authentik
- Copied client id and client secret to the new .ENV variables
- Copied the well-known URL from the URLs section to .ENV
- Created new account with OIDC provider button
- Verified email manually
- Signed into account with OIDC provider
- Logged out
- Signed into accounting again with OIDC provider

#### Azure AD
- Created application in Azure AD using OAuth2
- Copied client id and client secret to the new .ENV variables
- Copied the well-known URL from the URLs section to .ENV
- Created new account with OIDC provider button
- Verified email manually
- Signed into account with OIDC provider
- Logged out
- Signed into accounting again with OIDC provider
2024-05-31 11:45:17 +10:00
Mythie 70eeb1a746 chore: improve oidc provider support
Adds fields to the Account model to support various pieces
of data returned by OIDC providers such as AzureAD and GitLab.

Additionally passes through the email verification status and handles
retrieving the email for providers such as AzureAD who use a different
claim instead.
2024-05-30 22:15:45 +10:00
Lucas Smith d8d0734680 Merge branch 'main' into mk/oidc-auth 2024-05-30 15:41:36 +10:00
Lucas Smith ede6eea88d feat: add kysely for raw type-safe SQL queries (#1041) 2024-05-29 22:46:20 +10:00
Mythie ebc547684a fix: inline the remember package 2024-05-29 22:25:23 +10:00
Mythie 5724e73d49 chore: revert find-documents change for now
Reverts the change to find-documents to use Kysely. I'd like to gain
confidence by using it in smaller pieces before commiting to doing
what is one of our most complicated queries in Documenso.
2024-05-29 20:54:43 +10:00
Mythie 4a6b5ceaf8 fix: re-add removed types 2024-05-29 20:53:50 +10:00
Mythie ab949afbb6 fix: convert to kysely queries 2024-05-29 20:03:51 +10:00
Mythie 3d81b15d71 chore: tidy code 2024-05-29 14:47:33 +10:00
Lucas Smith 27fe8c7f8f Merge branch 'main' into feat/add-kysely 2024-05-28 14:53:29 +10:00
Lucas Smith 0c18f27b3f feat: remove the existing empty signer if its the only one (#1127)
Removes the existing empty signer if its the only one
2024-05-28 14:15:01 +10:00
Lucas Smith b394e99f7a Merge branch 'main' into feat/start-selfSign 2024-05-28 12:53:57 +10:00
Lucas Smith c21e30d689 chore: tidy code 2024-05-28 02:45:57 +00:00