Commit Graph

561 Commits

Author SHA1 Message Date
Giancarlo Buomprisco
e193c94f06 Cookies validation and Security Guidelines (#242)
* Add OTP and security guidelines documentation and additional checks on client-provided values

- Introduced additional checks on client-provided values such as cookies
- Introduced a new OTP API documentation outlining the creation and verification of OTP tokens for sensitive operations.
- Added comprehensive security guidelines for writing secure code in Next.js, covering client and server components, environment variables, authentication, and error handling.

These additions enhance the project's security posture and provide clear instructions for developers on implementing secure practices.

* Add OTP API documentation and enhance security guidelines

- Introduced comprehensive documentation for the OTP API, detailing the creation and verification of OTP tokens for sensitive operations.
- Enhanced security guidelines for Next.js, emphasizing the importance of input validation, environment variable management, and error handling.
- Implemented additional checks for client-provided values to improve overall security posture.

These updates provide clear instructions for developers and strengthen the project's security framework.
2025-04-22 06:44:55 +08:00
Giancarlo Buomprisco
1327a8efb7 Upgrade dependencies across packages (#241)
Updated multiple dependencies to their latest versions, including `next` to `15.3.1`, `zod` to `3.24.3`, `@tanstack/react-query` to `5.74.4`, and others. This ensures compatibility, improves stability, and incorporates the latest bug fixes.
2025-04-20 20:48:08 +08:00
Giancarlo Buomprisco
53b09fcb8e Disable Team tests if required (#234)
1. Add env variables loader using dotenv to e2e tests
2. Skip Team account tests based on variable
3. Remove hardcoded instance of Makerkit in tests
2025-04-13 10:20:31 +08:00
gbuomprisco
765cef8736 2.7.1
Fix mocking dev modules in new Turbopack version
2025-04-10 14:02:02 +08:00
Giancarlo Buomprisco
af84676454 2.7.0 (#232)
1. Enable Turbopack for testing builds
2. Move turbopack configuration to new top-level config property
3. Bump package.json version
4. Add missing env in .env
5. Added more ignored paths to .cursorignore
2025-04-10 10:48:51 +08:00
Giancarlo Buomprisco
81f50777ea Supabase Declarative Schema (#230)
1. Added declarative schemas to Supabase
2. Added Cursor Ignore to ignore some files from Cursor
3. Added Prettier Ignore to ignore some files from Prettier
4. Formatted files so that PG Schema diff won't return any changes
2025-04-10 08:41:46 +08:00
Giancarlo Buomprisco
a149c52b99 Next.js 15.3.0 (#231)
1. Upgrade to Next.js 15.3.0
2. Formatted files
2025-04-10 08:41:07 +08:00
Giancarlo Buomprisco
c5828325a2 Updated dependencies (#229) 2025-04-09 10:15:47 +08:00
Giancarlo Buomprisco
15b316dd7b Updated dependencies (#228) 2025-04-05 10:39:43 +08:00
Giancarlo Buomprisco
39fc9497db Update dependencies across multiple packages (#226)
- Bump versions for `@hookform/resolvers`, `@tanstack/react-query`, `lucide-react`, `tailwindcss`, and `@types/node` to their latest compatible versions.
- Update `babel-plugin-react-compiler` to a newer beta version.
- Adjust `@supabase/supabase-js` and `@stripe/react-stripe-js` to their latest versions.
- Increment `sonner` and `tailwind-merge` versions for improved functionality.
- Update `@react-email/components` to the latest version for email templates.

This update ensures compatibility with the latest features and fixes across the codebase.
2025-04-02 23:54:34 +08:00
gbuomprisco
7b1e261750 Add RootProviders to global-error.tsx 2025-03-31 14:06:55 +08:00
Giancarlo Buomprisco
7a1903d0c2 Links prefetching (#225)
1. Marketing Layout: speed up rendering by retrieving user session from cookies instead of using server side request
2. Use "redirecting" state when signing in to keep displaying a loading state while Next.js redirects to home page
3. Use "useCallback" to prevent double tracking when switching pages
4. Add links pre-fetching in marketing navigation
5. Add new pending state to MFA verification form
6. Pre-fetch sign-in/sign-up pages
7. Fix i18n when using regional languages
8. currency formatter should default to the region if it exists
9. Update packages
2025-03-31 11:06:37 +08:00
Giancarlo Buomprisco
dd5219e445 New Data Loader + Improvement to accounts filtering in admin
1. Update data loaders (#223)
2. Use new data loader functionality to allow filtering by both name and email in Super Admin
3. Update test to use email filtering
2025-03-28 17:23:05 +08:00
Giancarlo Buomprisco
e7f17dd34f Deps Update and minor changes (#222)
1. Revert Card changes
2. Use X logo instead of Twitter
3. Update Dependencies

* Remove reference to pg_sodium as new Supabase CLI doesn't play well with it
2025-03-28 11:51:38 +08:00
Giancarlo Buomprisco
6fbc5cf6e5 Dependencies cleanup (#216)
1. Updated dependencies
2. Disable Next.js Telemetry by default
3. Cleaned up unused dependencies
4. Refactored NPM scripts
2025-03-25 10:26:32 +08:00
Giancarlo Buomprisco
a3c37d0e7c 1. Updated dependencies (#215)
2. Conditionally render childAction
2025-03-24 11:24:48 +08:00
Giancarlo Buomprisco
fcb37e7d75 Improve overall responsiveness on mobile devices (#214) 2025-03-19 11:24:53 +08:00
Giancarlo Buomprisco
4bba67246b 1. Updated packages (#211)
1. Updated packages
2. Improved responsiveness
2025-03-18 20:07:10 +08:00
Giancarlo Buomprisco
a45fda44cf Deps Update, CSSNano, Sentry env (#210)
1. Update dependencies
2. Use cssnano for production
3. Assign an environment variable to Sentry's environment settings
4. `Pill` now accepts React Nodes so we can pass translations using Trans component
5. Switch to mailpit API during tests
6. Do not require Email Sender to be of type email and add proper error messages
2025-03-12 16:51:11 +08:00
Giancarlo Buomprisco
bd723dccce Validate special chars when creating a team (#209)
* Add validation for team account names

- Prevent creating teams with reserved names like 'billing' and 'settings'
- Add regex validation to block team names with special characters
- Update localization for new error messages
- Extend E2E tests to cover various invalid team name scenarios

* Enhance team account name validation and slug generation

- Add comprehensive tests for account slug generation in Supabase
- Improve team name validation schema to handle special characters
- Add form validation message display in update team account name form
- Refine slug generation to handle various edge cases like special characters, non-ASCII text, and mixed case
2025-03-11 10:58:21 +08:00
Giancarlo Buomprisco
b265f596da Set default oAuth scopes for azure and keycloak. Allow passing custom… (#207)
* Set default oAuth scopes for azure and keycloak. Allow passing custom query parameters from the OauthProviders component.

* Pass return path if a next query parameter is provided. Use home path otherwise.
2025-03-09 12:17:30 +08:00
gbuomprisco
723fb1743e 1. Added more tests to OTP schema
2. Alter default values for verifying nonces: verification time is reduced to 15 minutes, max attempts before a nonce expires is set to 1 when using the service
2025-03-05 12:49:08 +07:00
Giancarlo Buomprisco
a5b7b0a06b Create a migration to set missing search paths (#203)
* Create a migration to set missing search paths to existing OTP functions to avoid warnings in the Supabase linter
2025-03-05 10:58:12 +08:00
Giancarlo Buomprisco
c41d88b2e6 Dependencies Update (#201)
* Updated packages
* Adjust package.json scripts quotes so they work well on Windows
2025-03-04 14:30:08 +08:00
gbuomprisco
784682a0f5 Rename MFA migration to respect the order of creation based on the commit date. 2025-03-02 11:36:24 +07:00
gbuomprisco
fb14fcb36e Remove null values from mfa_factors seed 2025-03-02 11:17:37 +07:00
Giancarlo Buomprisco
d14d19f330 Dependencies + Next.js 15.2.0 (#193)
- Updated All dependencies
- Updated Next.js 15.2.0
- Updated Stripe API version
- Remove Sentry replayIntegration by default
- Added IMPROVEMENT.yml file
- Bump version to 2.5.1
2025-03-02 11:41:12 +08:00
Giancarlo Buomprisco
131b1061e6 Enforce RLS when user opted in to MFA. (#188)
* Allow Super Admin to view tables using RLS
* Replace previous usages of the Admin client using the authed client using the new RLS
* Enforce MFA for Super Admin users
* Enforce RLS when user opted in to MFA.
* Add Super Admin Access Policies and Update Database Types
* Consolidate super admin logic into a single function that uses the RPC is_super_admin
* Added Super Admin E2E tests
* Fixes and improvements
* Bump version to 2.5.0
2025-03-02 11:21:01 +08:00
gbuomprisco
9cf7bf0aac Rename new migration to the correct timestamp 2025-03-01 16:56:32 +07:00
Giancarlo Buomprisco
d31f3eb993 Add support for OTPs and enhance sensitive apis with OTP verification (#191)
One-Time Password (OTP) package added with comprehensive token management, including OTP verification for team account deletion and ownership transfer.
2025-03-01 17:35:09 +08:00
gbuomprisco
a5d3338950 Merge remote-tracking branch 'origin/main' 2025-02-23 07:47:23 +07:00
gbuomprisco
30e98ebb7d Updated dependencies 2025-02-23 07:46:47 +07:00
Giancarlo Buomprisco
68c6d51d33 Add MFA Flow also to Super Admin (#186)
* Add MFA flow to Super Admin checks
2025-02-23 08:44:15 +08:00
Giancarlo Buomprisco
c185bcfa11 2.3.0 Dev Tools (#180)
* 2.3.0 - Added new Dev Tools app
2025-02-21 14:29:42 +08:00
Giancarlo Buomprisco
59dfc0ad91 Update Email Templates. Use "autoComplete={'new-password'}" in password reset form. (#183) 2025-02-21 10:01:26 +08:00
Giancarlo Buomprisco
031e0810a6 Enhance password update error handling and localization (#175)
* Enhance password update error handling and localization
2025-02-19 16:38:05 +08:00
Giancarlo Buomprisco
0808b91e0d 171 bug allow passing refs to inputbutton components (#172)
* Refactor UI components to use ComponentPropsWithRef for improved type safety
* Updated dependencies and removed duplicate instance of Tslint since it's already provided in the Next.js config
2025-02-19 09:34:20 +08:00
gbuomprisco
bb4e318c54 Improve pricing table design 2025-02-18 14:26:57 +07:00
gbuomprisco
9a503412e5 Capture exceptions in DB Webhook route 2025-02-17 14:19:14 +07:00
gbuomprisco
23753065c7 Updated dependencies 2025-02-17 14:16:32 +07:00
Giancarlo Buomprisco
9785be7067 Update emails design (#165) 2025-02-15 16:14:03 +08:00
gbuomprisco
a4cb758ffa 1. Minor UI fixes
2. Updated packages
2025-02-14 11:10:20 +07:00
Giancarlo Buomprisco
9a6543e0a7 MFA fixes (#163)
1. Add a background to the QR code to improve scanning
2. Re-fetch MFA factor list after mutation
2025-02-13 09:56:11 +08:00
Giancarlo Buomprisco
e403a6cd75 EsLint speedup (#161)
* Updated packages
* Fix Turbo TURBO_SCM_BASE
* Disable type-aware rules
2025-02-12 14:58:56 +08:00
Giancarlo Buomprisco
f2c74bd11c Updated dependencies, reintroduced bundle analyzer (#159) 2025-02-11 11:48:28 +08:00
Giancarlo Buomprisco
f5a961f155 Clean up packages and old references to eslint config (#158)
* Update dependencies and configuration files

- Upgrade Lucide React to version 0.475.0
- Update Markdoc to version 0.5.0
- Bump ESLint to version 9.20.0
- Update Tailwind CSS to version 4.0.5
- Add import-in-the-middle to Sentry package
- Remove import-in-the-middle and require-in-the-middle from web app
- Update browserslist configuration
- Remove eslintConfig from web app package.json
- Add ESLint configuration template for package generator
2025-02-10 11:42:35 +08:00
gbuomprisco
92ad383567 Upgrade Prettier, Tailwind CSS, and related dependencies to latest versions 2025-02-10 06:40:48 +07:00
gbuomprisco
9b7f6f18d2 Remove monitoring provider variable defaulted to an empty string as it would fail validation. This variable must be added manually. 2025-02-07 11:33:39 +07:00
Giancarlo Buomprisco
6f9cf22fa8 EsLint v9 (#154)
* Upgrade ESLint and related configurations to version 9

- Update ESLint to version 9.19.0
- Migrate ESLint configurations to flat config format
- Remove deprecated ESLint config files
- Update package dependencies and configurations
- Simplify ESLint setup across packages
- Remove unnecessary ESLint config blocks from package.json files
- Improved CI caching with Turborepo tasks
- Removed duplicate styles
2025-02-07 11:38:29 +08:00
Giancarlo Buomprisco
6127fe957c Update TeamAccountsModal to include selected account prop and improve account switching (#142) 2025-02-05 14:46:50 +08:00