Commit Graph

96 Commits

Author SHA1 Message Date
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
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
Mythie 043aff3ca9 v1.6.0 2024-07-23 12:53:02 +10:00
Mythie 414b1b7287 v1.6.0-rc.3 2024-07-19 13:27:01 +10:00
Mythie a3ee732a9b v1.6.0-rc.2 2024-07-15 10:50:49 +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
David Nguyen e2055e50df fix: docker ci (#1201)
## Description

Fix issue with the docker image being built in the CI
2024-06-27 15:13:06 +10:00
Mythie 991f808890 feat: ghetto durable compute 2024-06-13 15:24:51 +10:00
Mythie 108054a133 wip: background tasks 2024-06-13 15:23:19 +10:00
Lucas Smith 0985206088 Merge branch 'main' into 2fa-input 2024-05-24 12:53:41 +10:00
Lucas Smith aadb22cdbf fix: use shadcn pin input and revert changes 2024-05-24 02:51:25 +00:00
Anik Dhabal Babu b87154001a feat: Ability to send team invitation in bulk (#930)
fixes #923 



https://github.com/documenso/documenso/assets/81948346/9f7cf419-91ec-4f43-b2c7-6fd3d0c13bfe

---------

Co-authored-by: David Nguyen <davidngu28@gmail.com>
2024-04-04 23:30:39 +07:00
David Nguyen d1ffcb00f3 feat: add axiom web vitals (#1071)
## Description

Added support for Axiom web vitals

https://axiom.co/docs/apps/vercel#web-vitals
2024-04-03 14:32:34 +07:00
David Nguyen 5210fe2963 feat: add passkeys (#989)
## Description

Add support to login with passkeys.

Passkeys can be added via the user security settings page.

Note: Currently left out adding the type of authentication method for
the 'user security audit logs' because we're using the `signIn`
next-auth event which doesn't appear to provide the context. Will look
into it at another time.

## Changes Made

- Add passkeys to login
- Add passkeys feature flag
- Add page to manage passkeys
- Add audit logs relating to passkeys
- Updated prisma schema to support passkeys & anonymous verification
tokens

## Testing Performed

To be done.

MacOS:
- Safari  
- Chrome  
- Firefox 

Windows:
- Chrome [Untested] 
- Firefox [Untested]

Linux:
- Chrome [Untested]
- Firefox [Untested]

iOS:
- Safari 

## Checklist

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

- [X] I have tested these changes locally and they work as expected.

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

## Summary by CodeRabbit

- **New Features**
- Introduced Passkey authentication, including creation, sign-in, and
management of passkeys.
- Added a Passkeys section in Security Settings for managing user
passkeys.
- Implemented UI updates for Passkey authentication, including a new
dialog for creating passkeys and a data table for managing them.
- Enhanced security settings with server-side feature flags to
conditionally display new security features.
- **Bug Fixes**
	- Improved UI consistency in the Settings Security Activity Page.
- Updated button styling in the 2FA Recovery Codes component for better
visibility.
- **Refactor**
- Streamlined authentication options to include WebAuthn credentials
provider.
- **Chores**
- Updated database schema to support passkeys and related functionality.
	- Added new audit log types for passkey-related activities.
- Enhanced server-only authentication utilities for passkey registration
and management.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-03-26 21:11:59 +08:00
Mythie 9e1b2e5cc3 fix: update sharp dependency 2024-03-10 13:48:25 +11:00
Lucas Smith 10ef5b6e51 fix: improvements from testing 2024-03-07 02:57:02 +00:00
Lucas Smith 2a74ce06ef Merge branch 'main' into feat/public-api 2024-02-26 00:21:25 +11:00
Lucas Smith 8165a090d1 feat: migrate to site-settings 2024-02-23 10:47:01 +00:00
Ephraim Atta-Duncan 897f0dabde feat: 2fa pin input component 2024-02-15 14:21:40 +00:00
Lucas Smith e91bb78f2d Merge branch 'main' into feat/public-api 2024-02-09 16:00:40 +11:00
David Nguyen 7e15058a3a feat: add user security audit logs 2024-01-30 17:32:20 +11:00
Mythie a1215df91a refactor: extract api implementation to package
Extracts the API implementation to a package so we can
potentially reuse it across different applications in the
event that we move off using a Next.js API route.

Additionally tidies up the tokens page and form to be more simplified.
2023-12-31 13:58:15 +11:00
Adithya Krishna 775a1b774d chore: fix vulnerability with sharp
Signed-off-by: Adithya Krishna <adi@documenso.com>
2023-12-19 17:16:26 +05:30
Paul bfedabdc10 fix: increase e2e test timeout (#682) 2023-12-05 13:54:41 +11:00
Mythie b903de983b chore: v1.2.3 2023-12-02 14:56:00 +11:00
Mythie 39d18e93c5 chore: v1.2.2 2023-12-02 13:34:36 +11:00
Mythie fbfaca190b chore: release 1.2.1 2023-12-02 12:43:55 +11:00
Mythie 16fb90f4d2 chore: v1.2.0 2023-12-02 11:57:50 +11:00
Lucas Smith 39c01f4e8d fix: remove server actions (#684) 2023-12-02 09:38:24 +11:00
Nafees Nazik 792158c2cb feat: add two factor auth (#643)
Add two factor authentication for users who wish to enhance the security of their accounts.
2023-12-01 20:06:32 +11:00
Lucas Smith 9444e0cc67 fix: docker build requires smtp host (#672)
set a default for smtp host and add an action
for testing docker builds on each pull request
2023-11-22 16:26:39 +11:00
Nafees Nazik ca9c0d7bf0 chore: add some eslint rules (#344) 2023-11-15 13:10:17 +11:00
Nafees Nazik 3490e2a3a8 feat: add command menu and keyboard shortcuts (#337) 2023-11-09 13:33:56 +11:00
Mythie b0e3abffd6 chore: restore dangling changes from rebase 2023-11-06 14:47:46 +11:00
Mythie 7fa61c6bb6 chore: upgrade to next 14.0.0 2023-11-06 13:02:20 +11:00
Adithya Krishna c162cb3b2c chore: update zod to 3.22.4 (#563)
* chore: updated zod 

Signed-off-by: Adithya Krishna <aadithya794@gmail.com>

---------

Signed-off-by: Adithya Krishna <aadithya794@gmail.com>
2023-11-06 13:02:20 +11:00
Nafees Nazik 04fc9eb187 chore: upgrade to latest next.js version (#553)
* chore: upgrade next.js
* fix: canvas not found error
* chore: upgrade package for marketing
* feat: add isServer conditional
* fix: inverse isServer condition
* fix: normalize packages
* fix: upgrade ee package
* fix: depdency nightmares
* fix: failing seed script
2023-11-06 13:02:19 +11:00
Anik Dhabal Babu 02bb7e4d68 fix: update icons (#468)
* fix: update icons
2023-11-06 13:01:46 +11:00
David Nguyen 34232c79e5 feat: add single player mode 2023-11-06 13:01:43 +11:00
Mythie 49ce09f49b fix: support optimise imports 2023-11-06 13:01:14 +11:00
Mythie 53db1a5d19 fix: resolve issues with open graph asset loading 2023-11-06 13:01:14 +11:00
Mythie 3afc35c40c feat: universal upload
Implementation of a universal upload allowing for multiple storage backends
starting with `database` and `s3`.

Allows clients to put and retrieve files from either client or server using
a blend of client and server actions.
2023-11-06 13:01:13 +11:00
Mythie d7bd8fcd37 fix: add items from stash 2023-11-06 13:01:11 +11:00
David Nguyen a99efdc916 feat: add inbox 2023-11-06 13:01:11 +11:00
Mythie 289e3776fd fix: dependency ordering 2023-11-06 13:01:11 +11:00
Adithya Krishna 36b3b36ac8 feat: added sharp for image optimizations on nextjs
Signed-off-by: Adithya Krishna <adikrish@redhat.com>
2023-11-06 13:01:11 +11:00
nsylke 039cd11c49 fix: use -p cli option for next dev 2023-11-06 13:01:10 +11:00