Commit Graph
100 Commits
Author SHA1 Message Date
Giancarlo Buomprisco 5d0260c8fc Dependencies Update (#318)
* chore(dependencies): update package versions for improved compatibility

- Bumped `@ai-sdk/openai` from `1.3.23` to `2.0.11` for enhanced functionality.
- Updated `@tanstack/react-query` from `5.84.1` to `5.85.0` to incorporate the latest improvements.
- Incremented `ai` from `4.3.19` to `5.0.11` for better performance.
- Updated `lucide-react` from `0.536.0` to `0.539.0` for improved compatibility.
- Incremented `next` from `15.4.5` to `15.4.6` to leverage new features and fixes.
- Updated `@marsidev/react-turnstile` from `1.2.0` to `1.3.0` for enhanced functionality.
- Updated `@nosecone/next` from `1.0.0-beta.9` to `1.0.0-beta.10` for better integration.
- Updated `@supabase/supabase-js` from `2.53.0` to `2.55.0` for improved performance.
- Incremented `@markdoc/markdoc` from `0.5.3` to `0.5.4` for better integration.
- Updated `@next/bundle-analyzer` from `15.4.5` to `15.4.6` for enhanced compatibility.
- Updated `@types/node` from `24.2.0` to `24.2.1` for type safety improvements.
- Updated `@types/react` from `19.1.9` to `19.1.9` for consistency across packages.

* fix(logger): update import statement for pino to default import

- Changed the import of `pino` from named import to default import for consistency with the library's usage and to avoid potential issues with module resolution.
2025-08-13 02:10:16 +08:00
gbuomprisco 8391fc90d8 chore(dependencies): downgrade pino-pretty to version 13.0.0 for compatibility
- Updated `pino-pretty` from `13.1.1` to `13.0.0` in `package.json` files for both `dev-tool` and `web` applications to ensure compatibility across the codebase.
- Adjusted `pnpm-lock.yaml` to reflect the version change and removed references to the deprecated `secure-json-parse` and `strip-json-comments` versions.
2025-08-04 22:28:21 +02:00
Giancarlo Buomprisco 1bb9022c9e Updated dependencies (#315)
* chore(dependencies): update package versions for improved compatibility

- Bumped `typescript` from `5.8.3` to `5.9.2` across multiple packages for enhanced type safety and features.
- Updated `@tanstack/react-query` from `5.83.0` to `5.84.1` to incorporate the latest improvements.
- Incremented `lucide-react` from `0.534.0` to `0.536.0` for better performance and compatibility.
- Updated `react-hook-form` from `7.61.1` to `7.62.0` to leverage new features and fixes.
- Incremented `@stripe/react-stripe-js` from `3.8.1` to `3.9.0`, `@stripe/stripe-js` from `7.7.0` to `7.8.0`, and `stripe` from `18.3.0` to `18.4.0` for enhanced functionality.
- Updated `@markdoc/markdoc` from `0.5.2` to `0.5.3` for better integration.
- Incremented `@sentry/nextjs` from `9.43.0` to `10.1.0` to utilize the latest features and improvements.

* chore(dependencies): update eslint-related packages for improved compatibility

- Updated `@typescript-eslint/parser` from `8.38.0` to `8.39.0` to leverage the latest features and fixes.
- Adjusted dependencies in `eslint-import-resolver-typescript` and `eslint-plugin-import` to reflect the updated parser version, ensuring better integration and compatibility across the codebase.
2025-08-05 03:47:49 +08:00
Giancarlo Buomprisco 910cfd145d chore(dependencies): update package versions for improved compatibility (#314)
- Bumped `@manypkg/cli` from `0.24.0` to `0.25.0` for enhanced functionality.
- Updated `cross-env` from `7.0.3` to `10.0.0` to leverage new features and fixes.
- Incremented `next` from `15.4.3` to `15.4.5` for better performance and compatibility.
- Updated `react` and `react-dom` from `19.1.0` to `19.1.1` to ensure alignment with the latest improvements.
- Incremented `@types/node` from `24.0.15` to `24.1.0` for type safety enhancements.
- Updated various packages across the codebase to maintain consistency and compatibility.
2025-07-30 17:33:23 +08:00
Giancarlo Buomprisco f538fc791e chore(dependencies): update package versions to 15.4.3 and 2.31.8 (#309)
- Bumped `next` version from `15.4.2` to `15.4.3` across multiple packages for improved compatibility.
- Updated `react-i18next` from `15.6.0` to `15.6.1` in several packages to incorporate the latest features and fixes.
- Incremented `@stripe/react-stripe-js` from `3.7.0` to `3.8.0` and `@stripe/stripe-js` from `7.5.0` to `7.6.1` for enhanced functionality.
- Updated `@keystatic/core` from `0.5.47` to `0.5.48` for better integration.
- Incremented `supabase` from `2.30.4` to `2.31.8` to ensure the latest improvements and bug fixes are included.
2025-07-23 15:04:44 +08:00
gbuomprisco 0b53644dd9 chore(version): bump version to 2.12.2 and refactor password update logic
- Incremented version in package.json from 2.12.1 to 2.12.2.
- Updated the UpdatePasswordPage component to utilize the new requireUser function for improved user session handling.
- Refactored requireUser function to include a next parameter for redirecting after authentication failures, enhancing user experience.
- Introduced a helper function getRedirectTo for cleaner redirect logic.
2025-07-22 21:10:00 +02:00
Giancarlo Buomprisco 7e0c196adc chore(dependencies): update package versions for improved compatibility (#308)
- Bumped versions of several packages across the codebase, including:
  - Updated `@supabase/supabase-js` from `2.51.0` to `2.52.0`
  - Incremented `next` from `15.4.1` to `15.4.2`
  - Updated `@types/node` from `^24.0.13` to `^24.0.15`
  - Upgraded `ai` from `4.3.18` to `4.3.19`
  - Updated `@next/bundle-analyzer` from `15.4.1` to `15.4.2`
  - Incremented `@next/eslint-plugin-next` from `15.4.1` to `15.4.2`
  - Bumped `eslint-config-next` from `15.3.5` to `15.4.2`
  - Updated `@kit/prettier-config` and other related packages for consistency and compatibility improvements.
2025-07-19 19:23:36 +08:00
Giancarlo Buomprisco 25ab47afb1 Use getClaims in the middleware for faster requests (#305)
* chore(version): bump version to 2.12.1 and update auth middleware to use getClaims instead of getUser

- Incremented version in package.json from 2.12.0 to 2.12.1.
- Refactored middleware to replace supabase.auth.getUser() with supabase.auth.getClaims() for improved claims handling.
- Updated user checks in middleware to validate claims instead of user object.

* refactor(middleware): update user authentication to utilize getClaims for improved claims validation

- Replaced calls to supabase.auth.getUser() with supabase.auth.getClaims() in middleware for better claims handling.
- Adjusted user validation checks to ensure claims are used instead of the user object, enhancing security and consistency in authentication flow.

* refactor(auth): update VerifyPage to use getClaims for user validation

- Replaced the use of supabase.auth.getUser() with supabase.auth.getClaims() in the VerifyPage component for improved claims handling.
- Adjusted user validation logic to check for claims instead of the user object, enhancing security and consistency in the authentication flow.
2025-07-16 20:36:44 +08:00
Giancarlo Buomprisco 9104ce9a2c refactor(auth): migrate to new Supabase JWT Signing keys (#303)
* refactor(auth): replace Supabase `User` type with new `JWTUserData` type across the codebase

- Replaced usage of Supabase's `User` type with the newly defined `JWTUserData` type for better type mapping and alignment with JWT claims.
- Refactored session-related components and hooks (`useUser`, `requireUser`) to use the updated user structure.
- Updated Supabase client keys to use `publicKey` instead of `anonKey`.
- Adjusted multi-factor authentication logic and components to use `aal` and additional properties.
- Applied consistent naming for Supabase secret key functions.
- Incremented version to 2.12.0.

- Introduced a new `deprecated` property in the `EnvVariableModel` type to handle deprecated environment variables.
- Updated the `EnvList` component to display a warning badge for deprecated variables, including reason and alternative suggestions.
- Enhanced filtering logic to allow users to toggle the visibility of deprecated variables.
- Added new deprecated variables for Supabase keys with appropriate reasons and alternatives.

- Added support for filtering deprecated environment variables in the `FilterSwitcher` component.
- Updated the `Summary` component to display a badge for the count of deprecated variables.
- Introduced a button to filter and display only deprecated variables.
- Adjusted filtering logic to include deprecated variables in the overall state management.

add BILLING_MODE configuration to environment variables

- Introduced a new environment variable `BILLING_MODE` to configure billing options for the application.
- The variable supports two values: `subscription` and `one-time`.
- Marked as deprecated with a reason indicating that this configuration is no longer required, as billing mode is now automatically determined.
- Added validation logic for the new variable to ensure correct value parsing.
2025-07-16 17:17:10 +08:00
Giancarlo Buomprisco da8a3a903d Update billing page data handling and version bump to 2.12.0 (#300)
* Update billing page data handling and version bump to 2.12.0

- Refactored billing page components to streamline data loading for subscriptions and orders.
- Introduced `getProductPlan` function to encapsulate product plan resolution logic.
- Updated `package.json` version from 2.11.0 to 2.12.0.
2025-07-16 17:11:55 +08:00
Giancarlo Buomprisco abcf1ae3d7 chore(dependencies): update multiple dependencies to latest versions (#301)
- Upgraded `@supabase/supabase-js` to `2.51.0`
- Bumped `@tanstack/react-query` to `5.83.0`
- Incremented `next` and related packages to `15.4.1`
- Miscellaneous upgrades including `@react-email/components`, `eslint`, and `cssnano`.
2025-07-15 06:27:23 +08:00
Giancarlo Buomprisco 50337298fd Dependencies Updates, Sidebar fixes, default plan, Radix single package (#297)
* Refactor Radix UI imports and update package dependencies, fix Sidebar "group" references, add default value to plan picker to preselect a plan
2025-07-11 17:57:27 +08:00
Giancarlo Buomprisco 1d734e6818 chore(docker): add CURL installation in Dockerfile template (#293) 2025-06-26 14:43:10 +08:00
Giancarlo Buomprisco c1fda420e6 chore(dependencies): update libraries and added File Uploader component (#292)
- Bumped dependencies: `lucide-react`, `react-hook-form`, `@supabase/supabase-js`, `@tanstack/react-query`, `@sentry/nextjs`, and more.
- Added `react-dropzone` to `@kit/ui` for file upload support.
- Adjusted `reset-password.html` to streamline style usage and HTML structure.
- Added new translation keys for file upload functionality.
- Cleaned up import order in `existing-account-hint.tsx`.
2025-06-26 13:40:54 +08:00
Giancarlo Buomprisco 180e0e0c5e Enable manual account linking (#289) 2025-06-19 15:25:39 +08:00
Giancarlo Buomprisco cada76070f Fix healthcheck endpoint (#288)
* fix healthcheck db query
2025-06-18 23:25:51 +08:00
gbuomprisco b4c8c74bd0 chore(dependencies): update packages to latest versions
- Bumped `lucide-react` to `^0.516.0`
- Upgraded `react-hook-form` to `^7.58.0`
- Updated `zod` to `^3.25.67`
- Incremented `@sentry/nextjs` to `^9.29.0`
- Miscellaneous upgrades for `eslint`, `@tailwindcss/postcss`, and `supabase` dependencies.
2025-06-17 13:33:32 +08:00
Giancarlo Buomprisco 1032fb7f94 feat(auth): add MFA handling in team invitations flow (#285)
- Export `MultiFactorAuthError` from `require-user` for reuse.
- Implement MFA handling during team invitations' sign-in flow.
- Add E2E test for team invitation flow with MFA.
- Update components to improve i18n translation handling.
2025-06-17 08:25:01 +08:00
Giancarlo Buomprisco 698e570545 fix(accounts): handle deletion failure in deleteUser method (#283)
- Added error handling for the `deleteUser` method to throw an error if the response contains an error property.
2025-06-17 08:13:59 +08:00
Giancarlo Buomprisco 1143a01727 feat(auth): add invite token handling to OTP sign-in and update metho… (#280)
* feat(auth): add invite token handling to OTP sign-in and update method descriptions
2025-06-14 15:31:30 +08:00
gbuomprisco f95da27b8f refactor(translations): replace default namespaces with dynamic loading from filesystem 2025-06-14 00:00:10 +08:00
gbuomprisco ab0e1c9948 fix(docs): update migration reset command in database.mdc 2025-06-13 18:07:17 +08:00
Giancarlo Buomprisco 9033155fcd Add OTP sign-in option + Account Linking (#276)
* feat(accounts): allow linking email password
* feat(auth): add OTP sign-in
* refactor(accounts): remove 'sonner' dependency and update toast imports
* feat(supabase): enable analytics and configure database seeding
* feat(auth): update email templates and add OTP template
* feat(auth): add last sign in method hints
* feat(config): add devIndicators position to bottom-right
* feat(auth): implement comprehensive last authentication method tracking tests
2025-06-13 17:47:35 +08:00
Giancarlo Buomprisco 856e9612c4 Improve billing plan lookup (#270)
Retrieve plan from Stripe/LS if not found in billing configuration. Useful for legacy plans.
2025-06-13 17:45:55 +08:00
Giancarlo Buomprisco 2b21b7bed4 Enhance EmbeddedCheckoutPopup to prevent default behavior on escape key down (#278)
- Added an onEscapeKeyDown handler to the EmbeddedCheckoutPopup component to prevent default actions when the escape key is pressed, improving user experience and accessibility.
2025-06-13 10:59:51 +08:00
Giancarlo Buomprisco 406e683091 Add prev/next metadata on blog pages (#273)
* feat(web): add prev/next seo tags to blog
2025-06-09 21:55:43 +08:00
Giancarlo Buomprisco a416695400 feat(web): add mobile theme toggle (#274) 2025-06-09 21:55:26 +08:00
Giancarlo Buomprisco 2ae8e14158 Fix layout by removing unnecessary overflow-y-auto class from PageWithSidebar (#272) 2025-06-09 20:16:50 +08:00
gbuomprisco 81579fab72 Refactor documentation in AGENTS.md and CLAUDE.md for clarity and consistency
- Updated AGENTS.md and CLAUDE.md to enhance readability and organization.
- Streamlined project overview, multi-tenant architecture, and essential commands sections.
- Improved formatting and clarity in security guidelines and database operations.
- Added new entries to .prettierignore for .hbs and .md files to ensure proper formatting exclusions.
2025-06-09 16:47:40 +08:00
gbuomprisco 3b445169dd Merge branch 'main' of github.com:makerkit/next-supabase-saas-kit-turbo 2025-06-08 14:33:58 +08:00
Giancarlo Buomprisco 1c31e7ffab Update Calendar component and update dependencies and updated Agents MD files (#269)
* Update Calendar component and update dependencies

* Refactor AGENTS.md and CLAUDE.md for clarity and consistency

- Streamlined project overview and architecture sections in both AGENTS.md and CLAUDE.md to enhance readability.
- Updated command sections to reflect essential commands and improved formatting for better usability.
- Clarified multi-tenant architecture details and database operations, ensuring accurate representation of the project's structure.
- Enhanced component organization and security guidelines for better developer onboarding and adherence to best practices.

* Refactor code for consistency and readability

- Improved formatting in `env-variables-model.ts` for better description clarity.
- Enhanced readability of `current-plan-alert.tsx` and `current-plan-badge.tsx` by adjusting the status badge mapping.
- Standardized object syntax in `lemon-squeezy-webhook-handler.service.ts` for consistency.
- Refined className ordering in `account-selector.tsx` for better maintainability.
- Ensured proper syntax in `console.ts` with consistent object export.
- Reorganized imports in `calendar.tsx` for clarity and structure.
- Improved className formatting in `sidebar.tsx` for better readability.

* Update package version to 2.10.0 in package.json
2025-06-08 14:31:49 +08:00
gbuomprisco e852877d6d Merge branch 'main' of github.com:makerkit/next-supabase-saas-kit-turbo 2025-06-06 13:11:01 +08:00
Giancarlo Buomprisco 67663b32d9 Deps update + basic Claude.md and Agents.md (#268)
* Add comprehensive guides for OpenAI Codex and Claude Code

- Introduced `AGENTS.md` and `CLAUDE.md` files to provide detailed guidance for working with OpenAI Codex and Claude Code within the project.
- Updated project architecture and common commands sections to reflect the multi-tenant SaaS application structure and core technologies.
- Enhanced documentation on database operations, schema management, security guidelines, and development patterns to improve developer onboarding and project maintainability.

Additionally, updated various package dependencies across the codebase to their latest versions, ensuring compatibility and performance improvements.
2025-06-06 13:10:14 +08:00
gbuomprisco bc5ca295f8 Merge branch 'main' of github.com:makerkit/next-supabase-saas-kit-turbo 2025-06-01 20:11:07 +08:00
Giancarlo Buomprisco fc2fda595a Snyk report fixes + offcanvas sidebar fix (#263)
Refactor:
- Improved consistency and robustness by standardizing file encoding arguments from 'utf-8' to 'utf8' across various file read/write operations.
- Simplified status mapping logic in billing components and services by replacing switch statements with direct mapping objects for clearer and more maintainable code.
- Enhanced type conversion and error handling in billing and internationalization components for improved reliability.
- Updated sorting logic in team member tables for more predictable member ordering.
- Improved error logging with sanitized output to prevent formatting issues.
- Adjusted environment variable whitelisting to use a more flexible matching pattern.
- Fix variables for sidebar style handling

Style:
- Refined spacing and layout in account selector and sidebar header components for better visual consistency.
2025-06-01 20:10:39 +08:00
gbuomprisco e724c57261 Merge branch 'main' of github.com:makerkit/next-supabase-saas-kit-turbo 2025-05-28 09:28:14 +08:00
Giancarlo Buomprisco cb80e4fdcf Sign in fails when the next parameter is empty (#261)
* Refactor sign-in flow to ensure fallback return paths

Updated logic to use fallback values for `returnPath` to prevent potential undefined behavior. Improved consistency in handling default paths during sign-in and redirection processes.
2025-05-28 09:27:45 +08:00
Giancarlo Buomprisco 40afecde93 28 05 2025 deps update (#262)
* Update dependencies across all packages

Updated multiple dependencies to their latest versions to ensure compatibility, security, and performance improvements. This includes packages like @supabase/supabase-js, @tanstack/react-query, @types/react, and zod across various projects.

* Update selector for Stripe form submission button

Replaced the form button selector with a `data-testid` attribute selector for improved reliability and maintainability. This ensures the test is less prone to breaks from UI changes.
2025-05-28 09:26:28 +08:00
gbuomprisco 8e3a10dac0 Merge branch 'main' of github.com:makerkit/next-supabase-saas-kit-turbo 2025-05-21 20:28:26 +08:00
Giancarlo Buomprisco 2b07c5cc3d Markdoc table style (#258)
* Add styling for tables in Markdoc content

This commit introduces consistent styles for tables in Markdoc, including adjustments for headers, footers, rows, and cells. It ensures better alignment, spacing, and visual clarity across table elements, enhancing readability and usability.
2025-05-20 11:58:02 +08:00
Giancarlo Buomprisco 2ede13dec9 20 05 2025 deps update (#257)
* Update dependencies across packages

Upgraded various package dependencies, including `zod`, `@supabase/supabase-js`, `react-hook-form`, `lucide-react`, and others to their latest versions. Ensures compatibility, security, and access to new features.
2025-05-20 11:46:09 +08:00
Giancarlo Buomprisco ad1a673320 Revert radix slot (#256)
* Downgrade @radix-ui/react-slot to version 1.2.0

Pinned @radix-ui/react-slot to version 1.2.0 instead of using a caret (^). This ensures compatibility and avoids potential breaking changes from newer versions.
2025-05-18 22:29:36 +08:00
gbuomprisco 295ae0f864 Downgrade @radix-ui/react-slot to version 1.2.0
Pinned @radix-ui/react-slot to version 1.2.0 instead of using a caret (^). This ensures compatibility and avoids potential breaking changes from newer versions.
2025-05-18 22:18:06 +08:00
Giancarlo Buomprisco 6e28de759d Update dependencies across packages with minor version upgrades (#255)
Upgraded various dependencies to their latest minor versions, including `@types/react`, `@tanstack/react-query`, `lucide-react`, `@types/node`, and others. These updates aim to ensure compatibility, access to new features, and bug fixes.
2025-05-15 23:56:00 +08:00
gbuomprisco 804fb7fbe3 Handle trial periods for existing customers in Stripe checkout
Updated logic to skip trial periods for existing customers by setting `trialDays` to undefined when a customer is already provided. Modified subscription data and trial settings to use the adjusted `trialDays`. Additionally, added handling for metered billing line items and included a sample trial period configuration in the billing sample config.
2025-05-15 23:42:39 +08:00
Giancarlo Buomprisco b55b02e2f9 Refactor auth event handling with improved typing and callbacks (#254)
Simplify and enhance the `onEvent` logic by using `useCallback` for better performance and typing with `AuthChangeEvent` and `Session`. Add handling for the `INITIAL_SESSION` event, ensuring proper user identification and monitoring initialization.
2025-05-14 22:27:35 +08:00
gbuomprisco dd3d5ddf96 Merge branch 'main' of github.com:makerkit/next-supabase-saas-kit-turbo 2025-05-09 22:54:58 +08:00
gbuomprisco 66184b22b6 Fix formatting of generated script to ensure proper command execution 2025-05-09 22:46:47 +08:00
Giancarlo Buomprisco 3893806b4a Update dependencies to latest versions for improved stability and features (#253) 2025-05-09 21:57:02 +08:00
Giancarlo Buomprisco de347005b1 Upgrade dependencies across multiple packages for improved stability and features (#252)
- Updated `@manypkg/cli` from `^0.23.0` to `^0.24.0` for enhanced functionality.
- Upgraded `@tanstack/react-query` from `5.74.11` to `5.75.2` to incorporate the latest improvements.
- Incremented `lucide-react` from `^0.503.0` to `^0.507.0` for better compatibility.
- Updated `nodemailer` from `^6.10.1` to `^7.0.2` to leverage new features and fixes.
- Upgraded `react-hook-form` from `^7.56.1` to `^7.56.2` for bug fixes and enhancements.
- Updated `zod` from `^3.24.3` to `^3.24.4` for improved type definitions.
- Incremented `@types/node` from `^22.15.3` to `^22.15.9` for better type support.

These updates enhance the overall stability, performance, and compatibility of the application.
2025-05-06 10:03:57 +08:00
Giancarlo Buomprisco f66c269e79 Upgrade dependencies across packages for stability and features. (#250)
Updated various dependencies, including `@tanstack/react-query`, `@types/node`, `react-i18next`, and more to their latest compatible versions. This improves compatibility, fixes potential bugs, and ensures access to the latest features.
2025-05-01 17:37:35 +08:00
gbuomprisco dc55782a97 Remove language originally added for testing purposes. 2025-04-29 10:21:30 +08:00
gbuomprisco 19bfe7af0c Remove "ai" dependency from package.json and pnpm-lock.yaml 2025-04-29 10:18:52 +08:00
Giancarlo Buomprisco 4cfb4f936f Open-next Cloudflare / Docker / Setup (#248)
* Add Cloudflare generator with Wrangler and OpenNext support

This update introduces a new Cloudflare generator to streamline configuration and deployment via Wrangler and OpenNext. It registers the necessary templates, modifies project files, and adds Cloudflare-specific scripts and dependencies to the package.json. Additionally, .hbs files are updated in .prettierignore for formatting consistency.

* Add GitHub username prompt and improve setup scripts

Introduce a prompt for GitHub username to personalize project setup. Enhance the setup scripts by adding PNPM verification, configuring `upstream` remote, and removing the `origin` remote. Adjust health check and error handling for better reliability.

* Add Dockerfile generator to turbo generators

Introduced a new generator to create Dockerfile configurations for standalone Next.js applications. This includes modifying `next.config.mjs` for standalone output, updating dependencies in `package.json`, and adding a Dockerfile template. The generator is now registered in the turbo setup.

* Add console-based logger implementation. This is required for edge environments such as Cloudflare.

* Remove deprecated Supabase client utilities

The `server-actions-client`, `route-handler-client`, and `server-component-client` utilities have been removed in favor of `getSupabaseServerClient`. This simplifies and consolidates the API, ensuring consistency across server-side usage. Version bumped to 2.9.0 to reflect breaking changes.
2025-04-29 10:12:08 +08:00
Giancarlo Buomprisco 76bfeddd32 Dev Tools improvements (#247)
* Refactor environment variables UI and update validation logic

Enhanced the environment variables page layout for better responsiveness and structure by introducing new components and styles. Added `EnvListDisplay` for grouped variable display and adjusted several UI elements for clarity and consistency. Updated `NEXT_PUBLIC_SENTRY_ENVIRONMENT` validation to make it optional, aligning with updated requirements.

* Add environment variable validation and enhance page headers

Introduces robust validation for environment variables, ensuring correctness and contextual dependency checks. Updates page headers with titles and detailed descriptions for better usability and clarity.

* Refactor variable page layout and improve code readability

Rearranged className attributes in JSX for consistency and readability. Refactored map and enum validation logic for better formatting and maintainability. Applied minor corrections to types and formatting in other components.

* Refactor styles and simplify component logic

Updated badge variants to streamline styles and removed redundant hover states. Simplified logic in email page by extracting breadcrumb values and optimizing title rendering. Adjusted environment variables manager layout for cleaner rendering and removed unnecessary elements.

* Add real-time translation updates with RxJS and UI improvements

Introduced a Subject with debounce mechanism for handling translation updates, enhancing real-time editing in the translations comparison module. Improved UI components, including conditional rendering, better input handling, and layout adjustments. Implemented a server action for updating translations and streamlined type definitions in the emails page.

* Enhance environment variable copying functionality and improve user feedback

Updated the environment variables manager to copy structured environment variable data to the clipboard, improving usability. Adjusted toast notifications to provide clearer success and error messages during the copy process. Additionally, fixed a minor issue in the translations comparison component by ensuring proper filtering of keys based on the search input.

* Add AI translation functionality and update dependencies

Implemented a new action for translating missing strings using AI, enhancing the translations comparison component. Introduced a loading state during translation and improved error handling for translation updates. Updated package dependencies, including the addition of '@ai-sdk/openai' and 'ai' to facilitate AI-driven translations. Enhanced UI components for better user experience and streamlined translation management.
2025-04-29 10:11:12 +08:00
Giancarlo Buomprisco cea46b06a1 Update team member check in join page to use RPC call (#246)
* Update team member check in join page to use RPC call

Replaces direct API call with an RPC function to verify if a user is already a team member. This improves efficiency and ensures consistency with database operations.
2025-04-26 07:30:49 +08:00
gbuomprisco 2d4dc0fa5d Add "CONTACT_EMAIL" to turbo.json environment variables
This update includes "CONTACT_EMAIL" in the list of environment variables. It ensures proper handling of contact email within the application configuration.
2025-04-23 14:08:53 +08:00
Giancarlo Buomprisco a4cde64fff Update dependencies across multiple packages (#244)
- Upgraded `lucide-react` from `^0.501.0` to `^0.503.0` in various packages to ensure compatibility with the latest features and improvements.
- Updated `@types/node` from `^22.14.0` to `^22.14.1` across multiple packages for better type definitions and compatibility.
- Incremented `@types/react` from `19.1.0` to `19.1.2` in several packages to align with the latest type definitions.
- Upgraded `react-hook-form` from `^7.56.0` to `^7.56.1` in multiple packages to incorporate bug fixes and enhancements.
- Updated `babel-plugin-react-compiler` from `19.0.0-beta-ebf51a3-20250411` to `19.1.0-rc.1` for improved compatibility with React 19.1.0.
- Incremented `supabase` from `^2.20.12` to `^2.22.4` to leverage the latest features and fixes.

These updates enhance the overall stability and performance of the application.
2025-04-23 10:10:36 +08:00
gbuomprisco 34b703f7ee Refactor dev mocks to use no-op functions with debug logs
Replaced undefined exports with no-op functions that log debug messages when invoked, making it clear which mocked functionality was called during development. This improves traceability and maintains clarity while keeping the development environment lightweight.
2025-04-23 07:21:37 +08:00
Giancarlo Buomprisco db9ddab6ad Add Strict CSP Headers (#243)
* Add CSP nonce support and enhance security headers

Introduced secure headers and CSP nonce to improve app security by integrating `@nosecone/next`. Updated middleware, root providers, and layout to handle nonce propagation, enabling stricter CSP policies when configured. Also upgraded dependencies and tooling versions.

* 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.
2025-04-22 10:43:21 +08:00
Giancarlo Buomprisco 903ef6dc08 Update Stripe SDK to v18 and dependencies (#236)
* Update Stripe SDK and dependencies

1. Upgrade `stripe` package from version 17.7.0 to 18.0.0 in `package.json`.
2. Update `STRIPE_API_VERSION` in `stripe-sdk.ts` to '2025-03-31.basil'.
3. Refactor `StripeWebhookHandlerService` to retrieve subscription details using Supabase client, ensuring compatibility with the new Stripe version.
4. Introduce helper methods `getPeriodStartsAt` and `getPeriodEndsAt` for better handling of subscription periods based on the Stripe API changes.

These changes enhance the integration with the latest Stripe API and improve the overall reliability of the billing service.

* Refactor billing payload builders to remove config dependency

Removed direct dependency on `BillingConfig` in subscription payload builders.

Introduced `PlanTypeMap` to streamline plan type resolutions. Updated webhook handlers and event processing functions to handle plan types more efficiently and improve extensibility.

* Refactor Stripe subscription handling for improved accuracy
2025-04-22 10:42:12 +08:00
Giancarlo Buomprisco 4f41304be4 Allow super admin to create users and reset password (#238)
1. Add user creation and password reset dialog functionalities; added Junie guidelines

Introduced new `AdminCreateUserDialog` and `AdminResetPasswordDialog` components for managing user accounts in the admin panel. Updated the `AdminAccountsTable` page with a button for user creation and implemented backend logic for password resets with robust error handling.

2. Added Jetbrains AI guidelines
2025-04-22 07:36:34 +08:00
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 1030c84eee Update documentation rules for various contexts and functionalities (#235)
Update cusor rules for various contexts and functionalities
2025-04-16 10:11:20 +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
gbuomprisco 6a06d6ef8e Bump version to 2.6.0 2025-03-31 11:10:48 +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 7c4dd23e5d FIx metered subscriptions (#224) 2025-03-29 10:34:46 +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
gbuomprisco d415263b81 Remove webhooks check for the time being, as it needs more work to actually verify the secret 2025-03-13 12:13:43 +07: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 08cd6983f4 1. Adjusted gitignore path
2. Formatted files
2025-03-06 07:47:32 +07: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
gbuomprisco 15cb42cce3 Turbo: add missing env variables in turbo.json 2025-03-04 15:24:53 +07: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
Giancarlo Buomprisco 22f78b9a86 Cursor rules v2 (#200)
* Add new Cursor rules based on new format
2025-03-03 12:38:32 +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
Giancarlo Buomprisco 20f7fd2c22 Disable license check when offline (#198)
* Disable license check when offline. Fix issue with PNPM > 9 detection.
2025-03-01 17:28:25 +08:00