Commit graph

130 commits

Author SHA1 Message Date
Lucas Smith
34b31c0d80
chore: deps upgrades (#2712)
Some checks are pending
Continuous Integration / Build App (push) Waiting to run
Continuous Integration / Build Docker Image (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Playwright Tests / E2E Tests (push) Waiting to run
Extract and upload translations / Extract and upload translations (push) Waiting to run
2026-04-21 14:43:49 +10:00
David Nguyen
3cca8cdae8
fix: labeler typo (#2670) 2026-04-02 18:57:43 +11:00
Timur Ercan
74d79dc6b2
chore: update labeler.yml (#2653) 2026-04-01 15:26:45 +11:00
Lucas Smith
653ab3678a
feat: better ratelimiting (#2520)
Replace hono-rate-limiter with a Prisma/PostgreSQL bucketed counter
approach that works correctly across multiple instances without sticky
sessions.

- Add RateLimit model with composite PK (key, action, bucket) and atomic
upsert
- Create rate limit factory with window parsing, bucket computation, and
fail-open
- Define auth-tier and API-tier rate limit instances
- Add Hono middleware, rateLimitResponse helper, and tRPC
assertRateLimit helper
- Wire rate limit headers through AppError constructor (was declared but
never assigned)
- Apply rate limits to auth routes (email-password, passkey), tRPC
routes
  (2FA email, link org account), API routes, and file upload endpoints
- Add cleanup cron job for expired rate limit rows (batched delete every
15 min)
- Remove hono-rate-limiter dependency
2026-02-20 12:23:02 +11:00
Lucas Smith
c732c85082
chore: add manual dispatch to publish workflow and remove chromium builds (#2415) 2026-01-27 14:15:04 +11:00
Lucas Smith
790b385849
chore: add bundled chromium docker container (#2344)
We use playwright + chromium for certificate generation
and other things.

Self-hosters often have an issue with generating certificates
due to the base image not coming with chromium for size purposes.

This adds a new `-chromium` tag to our docker images for downloading
the larger bundled chromium containers.
2025-12-23 22:09:12 +11:00
David Nguyen
93137c6396
fix: translation extraction job (#2288)
## Description

Workaround until we can commit directly to main for translation
extractions

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-06 16:19:35 +11:00
David Nguyen
f80aa4bf72
chore: optimize tests (#2280) 2025-12-06 12:59:53 +11:00
Lucas Smith
e9a9d65937
chore: telemetry (#2241) 2025-11-25 16:35:26 +11:00
David Nguyen
b844e166a9 fix: build 2025-08-11 12:16:34 +10:00
David Nguyen
950951de75 fix: github actions 2025-08-11 12:05:41 +10:00
David Nguyen
4c1eb8f874
fix: translation extraction github action (#1950)
Fix checkout action for translation extraction
2025-08-11 11:48:19 +10:00
Jan Piotrowski
202e9fedb9
fix: remove unsupported frontmatter from PULL_REQUEST_TEMPLATE.md (#1867) 2025-07-15 16:18:15 +10:00
Mythie
6df8b3aac8 chore: update ci 2025-04-21 14:29:40 +10:00
Mythie
ac3deb113e chore: update ci 2025-03-27 22:49:59 +11:00
David Nguyen
c1c7cfaf8b chore: cleanup 2025-02-25 16:37:36 +11:00
David Nguyen
92db4d68db fix: cleanup env variables 2025-02-13 20:56:44 +11:00
David Nguyen
0d3864548c
fix: bump trpc and openapi packages (#1591) 2025-01-19 22:07:02 +11:00
David Nguyen
9e03747e43
feat: add create document beta endpoint (#1584) 2025-01-16 13:36:00 +11:00
david-loe
b3e044e278
fix: label stable releases as latest (#1567)
adds missing 'v' in regex  #1405
2025-01-02 10:07:25 +11:00
David Nguyen
cfe7b3a51f
fix: remove marketing (#1562) 2024-12-31 15:45:22 +11:00
David Nguyen
2948a33bf9
fix: tests (#1556) 2024-12-26 17:00:55 +11:00
Lucas Smith
5398026b80
feat: signature rejection (#1472)
## Description

Adds support for rejecting a given document informing the document
owner.

Flows for resolving a rejection don't currently exist so it's up to the
document owner to reach out to the recipient and work out a way to move
forward via a new document or offline agreement.

## Related Issue


## Changes Made

- Added new rejection properties to the recipient schema
- Added API endpoints to support rejection
- Added email templates for notifying the document owner and recipient
- Added a dialog on the signing page to start the rejection flow.

## Testing Performed

- Manually tested the flow end to end
- Automated tests are planned
2024-11-14 21:37:42 +11:00
david-loe
5a26610a01
fix: update publish workfow to only tag stable versions latest (#1405)
## Description

This pull request introduces modifications to the GitHub Actions
workflow to ensure that the `latest` Docker tag is only pushed for
stable releases. It prevents the `latest` tag from being assigned to
release candidates (`-rc`), beta versions, or other pre-release tags.
This enhancement improves version management by keeping the `latest` tag
reserved exclusively for fully stable versions (e.g., `1.0.0`).

## Related Issue

Fixes #1404

## Changes Made

- Added a conditional check to verify if the release version follows the
format `X.Y.Z` (stable release format).
- Updated the Docker manifest creation steps to only push the `latest`
tag if the version is a stable full release.
- Modified both DockerHub and GitHub Container Registry push steps to
reflect the new versioning conditions.
2024-11-12 17:37:34 +11:00
David Nguyen
f42e600e3f chore: update workflow 2024-11-01 12:37:54 +09:00
David Nguyen
7fc497a642
fix: translation upload token (#1423) 2024-10-29 19:55:49 +09:00
David Nguyen
9ffdbe9c81
fix: improve lingui configuration (#1388)
## Description

Currently merge conflicts arise due to the compiled JS and PO
translation files.

This PR is a rework on how we handle extracting and compiling
translations to streamline PRs and merging branches.

## Changes Made

- Remove compiled translation files from being committed
- Extract and compile translations only on build
- Extract will still occur when commits land on main to sync and pull
new translations with Crowdin
2024-10-09 14:13:52 +11:00
Imran Khan
a6f93698b4
fix: changed the default file path for local certs (#1277)
Changed the default value of NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH env
variable
2024-09-06 14:09:25 +10:00
Lucas Smith
fd7c1fea1c
chore: upgrade next (#1300) 2024-09-03 09:48:54 +10:00
David Nguyen
1028184cf2
feat: initial i18n marketing implementation (#1223)
## Description

This PR introduces an initial i18n implementation using
[Lingui](https://lingui.dev).

We plan to combine it with Crowdin which will provide AI translations
when PRs are merged into main.

We plan to rollout i18n to only marketing for now, and will review how
everything goes before continuing to introduce it into the main
application.

## Reasoning

Why not use i18n-next or other alternatives?

To hopefully provide the best DX we chose Lingui because it allows us to
simply wrap text that we want to translate in tags, instead of forcing
users to do things such as:

- Update the text to `t('some-text')`
- Extract it to the file
- The text becomes a bit unreadable unless done correctly

Yes, plugins such as i18n-ally and Sherlock exist to simplify these
chores, but these require the user to be correctly setup in vscode, and
it also does not seem to provide the required configurations for our
multi app and multi UI package setup.

## Super simple demo

```html
// Before
<p>Text to update</p>

// After
<p>
  <Trans>Text to update</Trans>
</p>
```

## Related Issue

Relates to #885 but is only for marketing for now.

Another branch is slowly being prepared for the changes required for the
web application while we wait to see how this goes for marketing.

## Changes Made

Our configuration does not follow the general standard since we have
translations that cross:
- Web app
- Marketing app
- Constants package
- UI package

This means we want to separate translations into:
1. Marketing - Only translations extracted from `apps/marketing`
2. Web - Only translations extracted from `apps/web`
3. Common - Translations from `packages/constants` and `packages/ui`

Then we bundle, compile and minify the translations for production as
follows:
1. Marketing = Marketing + Common
2. Web = Web + Common

This allows us to only load the required translations when running each
application.

Overall general changes: 
- Add i18n to marketing
- Add core i18n setup to web
- Add pre-commit hook and GH action to extract any new <Trans> tags into
the translation files

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


- **New Features**
- Added Romanian localization for marketing messages to improve
accessibility for Romanian-speaking users.
- Introduced German and English translation modules and PO files to
enhance the application's internationalization capabilities.
- Integrated internationalization support in the RootLayout component
for dynamic language settings based on server-side configurations.
- Enhanced the Enterprise component with translation support to adapt to
user language preferences.
- Added a `<meta>` tag to prevent Google from translating the page
content, supporting internationalization efforts.

- **Bug Fixes**
- Resolved minor issues related to the structure and accessibility of
translation files.

- **Chores**
- Updated project dependencies to support the new localization features
and ensure stability.

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

---------

Co-authored-by: Lucas Smith <me@lucasjamessmith.me>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: github-actions <github-actions@documenso.com>
2024-07-26 14:56:42 +10:00
David Nguyen
d6ec3f252a feat: add upload translation workflow 2024-07-23 13:08:43 +10:00
David Nguyen
5b488c2ae4 feat: add pull translation workflow 2024-07-23 12:05:35 +10:00
Adithya Krishna
cc4efddabf
chore: updated triage label 2024-05-08 17:03:57 +05:30
Adithya Krishna
5d5d0210fa
chore: update github actions (#1085)
**Description:**

This PR updates and adds a new action to assign `status: assigned` label

---------

Signed-off-by: Adithya Krishna <aadithya794@gmail.com>
2024-05-08 11:52:26 +07:00
David Nguyen
fc34f1c045 chore: set default PR template 2024-03-24 17:01:21 +08: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
b9b57f16c0 fix: use matrix build 2024-03-07 05:05:35 +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
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
f6f9c301da
feat(ci): cache github workflow actions (#804) 2024-03-05 10:04:06 +11:00
David Nguyen
e63122a718
chore: update github feature template (#849) 2024-01-23 11:28:11 +11:00
Gautam Hegde
67aebaac1a
Update improvement.yml code quality 2024-01-16 01:14:48 +05:30
Gautam Hegde
a593e045b5
Update improvement.yml 2024-01-16 00:08:04 +05:30
nafees nazik
6065140715 feat: cache layers 2024-01-06 15:29:19 +05:30
nafees nazik
34a59d2db3 fix: cache 2024-01-06 15:18:33 +05:30
nafees nazik
ba37633ecd fix: revert 2024-01-06 15:18:09 +05:30