Commit Graph
100 Commits
Author SHA1 Message Date
Lucas Smith fd4ea3aca5 fix: update docker docs 2024-03-08 20:00:24 +11:00
Lucas Smith 6376112f9d fix: overflow issue with user name input (#991)
Before:-

![Screenshot 2024-03-06
203158](https://github.com/documenso/documenso/assets/81948346/17050582-454b-49af-8124-294d0a0be5bc)

After:-

![Screenshot 2024-03-06
202332](https://github.com/documenso/documenso/assets/81948346/7c346699-3bff-4847-95ef-fd7fdc8a89af)
2024-03-08 15:24:17 +11:00
Lucas Smith ddfd4b9e1b fix: update styling 2024-03-08 03:59:15 +00:00
Lucas Smith 5bec549868 feat: improved ui of document dropzone for max quota state (#997)
**Description:**


[Dropzone.webm](https://github.com/documenso/documenso/assets/23498248/df2d3a54-0e39-4d2d-b792-bf4cd4a1e19d)
2024-03-08 14:38:27 +11:00
Lucas Smith 2f728f401b chore: add e2e test for deleting a user (#1001) 2024-03-08 14:32:06 +11:00
Lucas Smith bc60278bac fix: remove useless ternaries 2024-03-08 03:30:57 +00:00
Lucas Smith e9664d6369 chore: tidy code 2024-03-08 03:23:27 +00:00
Lucas Smith 3b3346e6af fix: remove data-testid attributes 2024-03-08 13:47:59 +11:00
Lucas Smith ee35b4a24b fix: update test to use getByRole 2024-03-08 02:46:25 +00:00
Lucas Smith 47b06fa290 Merge branch 'main' into test/delete-user 2024-03-08 13:30:24 +11:00
Lucas Smith b9dccdb359 chore: updated code of conduct link (#999)
**Description:**

Updated broken link to code of conduct in the Readme
2024-03-08 12:54:23 +11:00
Lucas Smith 5e00280486 fix: add seed script to dx setup (#1000) 2024-03-08 12:53:08 +11:00
Lucas Smith f0fd5506fc fix: skip seeding when running migrate dev
When prisma:migrate-dev needs to reset the database it will run the seed script to repopulate data. Now that we've added the seed script to our root setup command we will want to avoid this behaviour since we will end up double seeding the database which currently can cause issues.
2024-03-08 12:49:55 +11:00
Lucas Smith 80f767b321 chore: update docker section in readme 2024-03-07 23:36:34 +11:00
Lucas Smith 4ec8eeeac1 docs: add article on removing server actions (#994) 2024-03-07 23:11:32 +11:00
Mythie 8e813ab2ac fix: use docker manifests for multiarch 2024-03-07 22:16:37 +11:00
Lucas Smith 51f60926ce fix: re-add buildx and qemu 2024-03-07 10:27:14 +00:00
Lucas Smith 2ccc2f22de chore: back to docker buildx 2024-03-07 10:24:17 +00:00
Lucas Smith 35b2405921 chore: use warpbuild for docker publishing 2024-03-07 10:02:33 +00:00
Lucas Smith 0c8b24ba75 chore: remove bcrypt (#993)
Remove `bcrypt` in favor of `@node-rs/bcrypt` which includes precompiled
binaries for many platforms reducing the number of tasks to run post
`npm install`.

Resolves #986
2024-03-07 19:58:53 +11:00
Mythie 8dad3607cf fix: add @node-rs/bcrypt to server component externals 2024-03-07 18:48:06 +11:00
Mythie cffb7907b5 chore: remove bcrypt 2024-03-07 18:30:22 +11:00
Lucas Smith b9b57f16c0 fix: use matrix build 2024-03-07 05:05:35 +00:00
Lucas Smith 03d2a2a278 fix: update buildx platform arg 2024-03-07 04:35:25 +00:00
Lucas Smith 82efc5f589 fix: use docker buildx and push 2024-03-07 04:07:55 +00:00
Lucas Smith 8a9588ca65 fix: fetch tags for publish action 2024-03-07 03:49:03 +00:00
Lucas Smith f723a34464 chore: remove launch week quote 2024-03-07 14:12:10 +11:00
Lucas Smith dd1d657057 feat: tidy docker setup (#988)
Tidy the docker setup and include a Github Action
for publishing docker containers to DockerHub and
Github Container Registry.

Also add a small README file with docker hosting instructions.
2024-03-07 14:11:03 +11:00
Lucas Smith 10ef5b6e51 fix: improvements from testing 2024-03-07 02:57:02 +00:00
Lucas Smith 9525b9bd63 fix: resolve issue with testing compose file 2024-03-06 23:48:28 +11:00
Mythie 2cce6dc2e5 feat: tidy docker setup
Tidy the docker setup and include a Github Action
for publishing docker containers to DockerHub and
Github Container Registry.

Also add a small README file with docker hosting instructions.
2024-03-06 15:46:51 +11:00
Lucas Smith 927cb1a934 fix: incorrect download filename logic 2024-03-05 23:05:32 +00:00
Lucas Smith 579a2f96e5 chore: rename community => early adopter 2024-03-05 13:04:46 +00:00
Lucas Smith f6f9c301da feat(ci): cache github workflow actions (#804) 2024-03-05 10:04:06 +11:00
Mythie a17d4a2a39 fix: handle signature annotations 2024-03-03 11:36:28 +11:00
Mythie 73aae6f1e3 feat: improve admin panel 2024-03-03 01:55:33 +11:00
Lucas Smith 328d16483c chore: update profile claim dialog and modal (#983)
**Description:**

**Settings Page:**

<img width="668" alt="Screenshot 2024-03-01 at 19 12 40"
src="https://github.com/documenso/documenso/assets/23498248/08e48432-39a6-4ef0-bc53-931fc3c81545">

**Claim Modal:** 

<img width="588" alt="Screenshot 2024-03-01 at 19 14 17"
src="https://github.com/documenso/documenso/assets/23498248/69bc2d02-97c6-4a29-88a4-55ed8898ccf5">
2024-03-02 12:45:22 +11:00
Lucas Smith 6dd2abfe51 fix: username min length + fixed condition (#982)
fixed #981 

`url.length <= 6` >>> `url.length < 6`

also removed debug message from the form component
2024-03-02 12:43:44 +11:00
Lucas Smith 00c36782ff fix: why didn't prettier catch this 2024-03-01 22:59:52 +11:00
Mythie 85885b5ad5 fix: api documentation errors on ssr 2024-03-01 14:54:41 +11:00
Mythie 5cc4204788 fix: add early return to webhook trigger 2024-03-01 14:12:06 +11:00
Lucas Smith e5be219b99 feat: claim profile (#972)
Signed-off-by: Adithya Krishna <adithya@documenso.com>
2024-02-29 15:29:47 +11:00
Mythie aa87a86a5f fix: update e2e tests 2024-02-29 15:19:38 +11:00
Mythie 1cc7c95a33 fix: update e2e test 2024-02-29 14:26:37 +11:00
Mythie 9f576eb47c fix: update signup mutation schema 2024-02-29 14:13:37 +11:00
Mythie bd82ad7a0b fix: revert settings-header changes 2024-02-29 14:12:00 +11:00
Mythie cc1b888174 chore: tidy changes 2024-02-29 14:09:17 +11:00
Lucas Smith 5576cdc2b0 Merge branch 'main' into feat/public-profile-1 2024-02-29 14:08:19 +11:00
Mythie ecc9dc63ea feat: the rest of the owl 2024-02-29 13:22:21 +11:00
Lucas Smith 077da72b68 feat: implement webhooks (#913) 2024-02-28 18:31:48 +11:00
Lucas Smith ae00290b6f fix: add reference to swagger docs 2024-02-28 04:34:33 +00:00
Mythie e3e2cfbcfd fix: refactor and implement design 2024-02-28 14:43:09 +11:00
Lucas Smith af30443f5a Merge branch 'main' into feat/webhook-implementation 2024-02-27 18:17:54 +11:00
Mythie a4b1f7c983 feat: support team webhooks 2024-02-27 16:56:32 +11:00
Mythie 7dd2bbd8ab feat: update webhook handling and triggering 2024-02-27 15:16:14 +11:00
Mythie 488464e3e7 chore: add team to webhook model 2024-02-27 13:38:12 +11:00
Mythie 1ec549b869 chore: add webhook-call model 2024-02-27 13:37:24 +11:00
Mythie c2daa964c0 chore: use cuids for webhooks 2024-02-27 12:13:56 +11:00
Mythie a31057d0d1 fix: add updated badge 2024-02-26 22:35:10 +11:00
Mythie 70165c4469 chore: ui updates 2024-02-26 22:24:23 +11:00
Lucas Smith 15ebe6dbaf fix: add cascade delete to recipient fields 2024-02-26 03:51:28 +00:00
Lucas Smith 5805d8a903 Merge branch 'main' into feat/webhook-implementation 2024-02-26 12:47:21 +11:00
Lucas Smith f7c6b53258 feat: public api start (#674)
This PR adds the public-facing API.

![API high-level
workings](https://github.com/documenso/documenso/assets/25515812/9f866889-164f-401f-bf4e-d3e69b6382f1)

The public API will allow users to interact with Documenso
programmatically. At the moment, there are 5 available endpoints:
1. `GET /documents`
    - get all documents of the user making the API call
- it accepts 2 URL query parameters - `page` and `perPage`, but they are
not mandatory
2. `GET /documents/:id`
    - get a specific document of the user making the API call
- it requires 1 URL parameter, which represents the ID of the document
that needs to be retrieved
3. `DELETE /documents/:id`
    - delete a specific document of the user making the API call
- it requires 1 URL parameter, which represents the ID of the document
that needs to be deleted
4. `POST /documents`
- making a POST request to this endpoint will return an S3 pre-signed
URL where you can upload the document
    - it requires you to pass the file name and the file content type
5. `PATCH /documents/:id/send-for-signing`
    - send a document for signing
    - it allows you to pass the following:
        - signer email *(required)*
        - signer name *(optional)*
        - field type (signature, email, name, etc.) *(required)*
        - page number where to insert the field *(required)*
        - page X *(required)*
        - page Y *(required)*
        - page width *(required)*
        - page height *(required)*
        - email subject *(optional)*
        - email body *(optional)*

The users are authenticated through API tokens. The users can create one
or more tokens in their account settings, and each token will be
available for 1 year _(duration open to suggestions/changes)_.

Each time the user makes a request, the app checks if the token exists
and if it's valid. The app will return `401` *(unauthorized)* and the
appropriate error message if either is false. If both are true AND the
user uses the correct HTTP verb and passes the required URL parameters
and body, the API call will be successful.

Code overview:
- `@documenso/packages/lib/trpc/api-contract` - this folder contains the
`contract` and `schema` files. The `contract.ts` file describes the
structure of the API, the format of the requests and responses, and how
to authenticate your API calls, among others. The `schema.ts` file
contains the Zod schemas used in the API contract.
- `@documenso/packages/trpc/server/api-token-router` - this folder
contains the `router.rs` and `schema.ts` files. Here are the tRPC
procedures used on the frontend. That is, the user's settings page,
where the user can list/create/delete API tokens.
- `@documenso/packages/trpc/tsconfig.json` - I added `"strict": true`
because that's what's suggested in the `ts-rest` documentation.
*([source](https://ts-rest.com/docs/quickstart#create-a-contract))*
- `[...ts-rest].tsx` - This file contains the implementation of the API.
You can see the logic behind each route.
- the rest of the code represents the code for the API tokens page in
the user's settings.
2024-02-26 12:41:16 +11:00
Mythie 4778270d3c fix: use template dialog to pass teamId 2024-02-26 12:20:50 +11:00
Lucas Smith 3c51a1bc3d Merge branch 'main' into feat/public-api 2024-02-26 12:15:33 +11:00
Lucas Smith fcfb741363 feat: edit recipients when creating document from template (#953)
https://github.com/documenso/documenso/assets/55143799/85a840e3-4fb4-4c02-ba63-b9626f4cea58
2024-02-26 12:00:23 +11:00
Mythie a54159a9ec fix: add missing teamId references 2024-02-26 11:59:32 +11:00
Mythie 6b8e11b535 fix: template router update 2024-02-26 10:31:24 +11:00
Mythie c7dac2f4de fix: update delete endpoint and add limits 2024-02-26 10:01:13 +11:00
Mythie 4cb0d6999d fix: build errors from merge 2024-02-26 09:13:46 +11:00
Lucas Smith 2a74ce06ef Merge branch 'main' into feat/public-api 2024-02-26 00:21:25 +11:00
Lucas Smith 6ea6dda99d feat: add transparent background to fields (#899) 2024-02-26 00:10:35 +11:00
Lucas Smith 187a988f9c Merge branch 'main' into transparent-fields 2024-02-26 00:02:56 +11:00
Lucas Smith 5bef2fba91 fix: follow figma design 2024-02-25 13:02:09 +00:00
Lucas Smith df3ba11655 feat: account deletion (#846)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
	- Added two-factor authentication form handling in profile settings.
- Introduced account deletion functionality, including Stripe customer
data removal.
- Updated UI components and styles for improved user interaction, such
as enhanced visual feedback for destructive actions.
- **Refactor**
- Improved code quality by updating import statements for type-only
imports.
- **Chores**
- Restructured the `forwardPorts` array in dev container configuration
for clarity.
- Removed a trailing comma in the `vscode` extensions list to adhere to
JSON format rules.
- **Documentation**
- Added comments to clarify the handling of undefined values in
two-factor authentication verification.
- **Database**
- Implemented a SQL migration script for creating a default deleted user
in the system.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-02-25 22:49:55 +11:00
Lucas Smith 9cf72e1442 chore: tidy code and extract alert-dialog 2024-02-25 11:12:18 +00:00
Lucas Smith 7226d5ac53 Merge branch 'main' into feat/account-deletion 2024-02-24 23:18:14 +11:00
Lucas Smith dbd63498e0 feat: custom text field (#945)
https://github.com/documenso/documenso/assets/55143799/c0f296ce-1e91-4b49-9c19-1bdffbd3163f
2024-02-24 22:55:16 +11:00
Lucas Smith 4ca154d88a fix: update e2e test? 2024-02-24 11:54:13 +00:00
Lucas Smith d34c862688 fix: switch custom text to input rather than textarea 2024-02-24 11:25:12 +00:00
Lucas Smith a5e51e63a1 Merge branch 'main' into custom-text-field 2024-02-24 22:23:17 +11:00
Lucas Smith 14c77d7c92 fix: update e2e test 2024-02-24 11:19:07 +00:00
Lucas Smith a5a0fd9187 fix: update e2e test 2024-02-24 10:55:48 +00:00
Lucas Smith 77193b93c4 fix: resolve build error and update dialog width 2024-02-24 10:36:27 +00:00
Lucas Smith a10957d909 Merge branch 'main' into feat/improve-create-document-from-template 2024-02-24 21:26:11 +11:00
Lucas Smith 688e32dfc2 feat: add roles to templates recipients (#935) 2024-02-24 21:24:26 +11:00
Lucas Smith b1b3b84d82 Merge branch 'main' into feat/template-recipient-roles 2024-02-24 21:01:45 +11:00
Lucas Smith b09acaf94e feat: custom banner (#956) 2024-02-24 20:40:41 +11:00
Lucas Smith d103c68a73 fix: remove console logs 2024-02-24 08:08:14 +00:00
Lucas Smith 8165a090d1 feat: migrate to site-settings 2024-02-23 10:47:01 +00:00
Lucas Smith 15e191f62d fix: e2e tests (#955) 2024-02-22 23:58:51 +11:00
Lucas Smith f973dfd09c feat: add document page view (#926)
## Description

This feature allows us to have a dedicated page to view details for a
document.

The current `/documents/[id]` page has been moved to
`/documents/[id]/edit`.

The new `/documents/[id]` page will now display general information on
the document itself.

This will allow us to provide more details relating to a document in the
future, such as version history.

## Examples

These may be outdated as deployment failed

Login via example@documenso.com

Draft document no recipients:

https://stg-7hpkvyc5i-documenso.vercel.app/documents/446

Draft document with recipients:

https://stg-7hpkvyc5i-documenso.vercel.app/documents/440

Pending document:

https://stg-7hpkvyc5i-documenso.vercel.app/documents/447

Completed document:

https://stg-7hpkvyc5i-documenso.vercel.app/documents/448

Pending teams document:

https://stg-7hpkvyc5i-documenso.vercel.app/t/hello/documents/449/

## Checklist

<!--- Please check the boxes that apply to this pull request. -->
<!--- You can add or remove items as needed. -->

- [ ] I have tested these changes locally and they work as expected.
- [ ] I have added/updated tests that prove the effectiveness of these
changes.
- [X] I have followed the project's coding style guidelines.

## Additional Notes

When a user "sends" a document (DRAFT -> PENDING), should we redirect
them to the document/id page, or keep it how it currently is and have it
redirect to `/documents` page?
2024-02-22 23:25:22 +11:00
Lucas Smith 1232f54a23 Merge branch 'main' into feat/separate-document-page 2024-02-22 22:54:15 +11:00
Lucas Smith 306e5ff31f fix: add timeouts to longer transactions 2024-02-22 11:05:49 +00:00
Mythie 2abcdd7533 feat: team api tokens 2024-02-22 13:39:34 +11:00
Lucas Smith df132a51ab feat: ability to download all the 2FA recovery codes (#944)
fixes #938 



https://github.com/documenso/documenso/assets/81948346/8bf807ae-41b0-417b-9f55-d96584e71acb
2024-02-21 13:39:08 +11:00
Lucas Smith 8287722f59 fix: update view dialog to use new download api 2024-02-21 02:29:19 +00:00
Lucas Smith aba6b58c14 fix: simplify download api 2024-02-21 02:19:35 +00:00
Lucas Smith b6c9213b66 fix: disable static generation of marketing site pages
Disables the generation of the blog and content pages using
generateStaticPaths to deal with a regression with routing
introduced with next-runtime-env.
2024-02-21 00:58:57 +00:00
Lucas Smith 22e3a79a72 Merge branch 'main' into feat/public-api 2024-02-21 11:29:36 +11:00