ROOT CAUSE FIX: All server-side Supabase clients (server-client, middleware-client,
server-admin-client) now use SUPABASE_INTERNAL_URL (http://supabase-kong:8000)
when available, with cookieOptions.name set to match the external URL's cookie key
(e.g. sb-myeasycms-auth-token). This gives us:
- Reliable Docker-internal networking (no hairpin NAT through Traefik)
- Correct session cookie matching between browser and server
- No more 500 errors on SSR pages that query Supabase
Reverted per-page try/catch workarounds since root cause is now fixed.
SSR pages crash with 500 when Supabase queries fail (expired session,
network issues). Now catch errors and render with empty data instead
of crashing the entire page.
Wrap getUser() calls in proxy.ts with try/catch so the proxy doesn't
crash when the Supabase client can't connect. Without this, the proxy
fails silently and Next.js returns 404 for all locale-dependent routes
(/auth/sign-in, /join, etc.) because the locale rewrite never happens.
The middleware was deleted in the Next.js 16 upgrade but is still required
by next-intl to handle locale detection and URL rewriting. Without it,
/auth/sign-in can't resolve to [locale=de]/auth/sign-in → 404.
Uses createMiddleware from next-intl/middleware with the shared routing config.
- Updated version to 3.1.1 in package.json.
- Refactored mobile navigation components to enhance structure and usability.
- Adjusted layout components to improve responsiveness and visual consistency.
- Introduced shared mobile navigation components for better code reuse.
* chore: bump version to 3.1.0 and update dependencies in package.json, pnpm-lock.yaml, and pnpm-workspace.yaml; enhance billing services with support for hosted checkout page in Stripe integration
* Enhance error handling in billing services to log error messages instead of objects; update documentation for Stripe integration to clarify publishable key requirements based on UI mode.
* Refactor localization keys to use dot notation for consistency across documentation and components
* chore: bump version to 3.0.1 in package.json
* Remove console log from SidebarLayout and update migration documentation for AlertDialog usage within Dropdowns
* Update dashboard image to improve visual assets
Version 3 of the kit:
- Radix UI replaced with Base UI (using the Shadcn UI patterns)
- next-intl replaces react-i18next
- enhanceAction deprecated; usage moved to next-safe-action
- main layout now wrapped with [locale] path segment
- Teams only mode
- Layout updates
- Zod v4
- Next.js 16.2
- Typescript 6
- All other dependencies updated
- Removed deprecated Edge CSRF
- Dynamic Github Action runner
* 2.24.1
- Updated dependencies
- MCP Server: better compatibility with Windows
- MCP Server: allow using a custom root for better flexibility
- Version Check: use package.json version instead of number of commits
- Prettier: reformatted some files
- Add SSH_AUTH_SOCK to dev passThroughEnv to solve SSH issues; handle execSync errors
- Use GIT_SSH to fix SSH issues on Windows
- Updated Stripe version
- Updated application version from 2.24.0 to 2.24.1 in package.json.
- Enhanced error handling in billing services to include error causes for better debugging.
* MCP Server 2.0
- Updated application version from 2.23.14 to 2.24.0 in package.json.
- MCP Server improved with new features
- Migrated functionality from Dev Tools to MCP Server
- Improved getMonitoringProvider not to crash application when misconfigured
- Updated application version from 2.23.13 to 2.23.14 in package.json.
- Refactored error handling components in web app to utilize a new ErrorPageContent component for improved code organization and readability.
- Simplified error and not found page layouts by removing redundant code and enhancing localization keys for better user experience.
* chore: bump version to 2.23.13 and update dependencies
- Updated application version from 2.23.12 to 2.23.13 in package.json.
- Upgraded several dependencies including @marsidev/react-turnstile to 1.4.2, @next/bundle-analyzer to 16.1.6, @next/eslint-plugin-next to 16.1.6, and others for improved functionality and security.
- Adjusted package versions in pnpm-lock.yaml and pnpm-workspace.yaml for consistency across the project.
- Removed unused AI translation functionality from translations-comparison component to streamline the codebase.
* refactor: clean up code formatting and update Stripe API version
- Removed unnecessary blank lines in LineItemDetails component for improved readability.
- Enhanced formatting in PricingItem component for better clarity.
- Updated Stripe API version from '2025-12-15.clover' to '2026-01-28.clover' for compatibility with the latest features.
- Adjusted i18n initialization in email templates for consistency.
- Reformatted props in AdminReactivateUserDialog for better structure.
- Cleaned up type imports in ImageUploadInput component.
* chore: bump version to 2.23.12 and update billing localization
- Updated application version from 2.23.11 to 2.23.12 in package.json.
- Added new localization key for billing: "perUnitShort" to enhance user clarity in billing plans.
- Improved unit label handling in LineItemDetails and Tiers components for better internationalization support.
- Adjusted pricing table to conditionally display unit labels based on item type.
* fix(billing): update pluralization in billing localization and component logic
- Adjusted the localization key for "fromPreviousTierUpTo" to include pluralization support for unit labels.
- Enhanced the LineItemDetails component to calculate and display the range count between previous and current tiers, improving clarity in billing information.
* chore: bump version to 2.23.10 and enhance workspace loading logic
- Updated application version from 2.23.9 to 2.23.10 in package.json.
- Refactored workspace loading functions to use async/await for improved error handling and added redirects for missing workspaces or users.
- Updated sidebar layout components to handle asynchronous data fetching and redirection more effectively.
- Minor adjustments to personal account dropdown styles for consistency.
* refactor: remove unused import from load-user-workspace.ts
- Removed the unused 'forbidden' import from the load-user-workspace.ts file to clean up the code and improve readability.
* refactor: remove debug log from workspaceLoader function
- Removed the console.log statement for workspace and user in the load-user-workspace.ts file to clean up the code and improve performance.
* chore: bump version to 2.23.11 and update dependencies
- Updated application version from 2.23.10 to 2.23.11 in package.json.
- Upgraded prettier to version 3.8.1.
- Updated various dependencies including @next/bundle-analyzer to 16.1.4, @next/eslint-plugin-next to 16.1.4, @react-email/components to 1.0.6, @stripe/stripe-js to 8.6.4, and @supabase/supabase-js to 2.91.1.
- Improved type support by upgrading @types/node to 25.0.10 and @types/react to 19.2.9.
- Enhanced i18next to version 25.8.0 for better localization support.
* chore: update dependencies and improve package configurations
- Bumped versions of several packages including @turbo/gen and turbo to 2.7.6, @next/bundle-analyzer and @next/eslint-plugin-next to 16.1.5, and @stripe/react-stripe-js to 5.5.0.
- Updated @supabase/supabase-js to 2.93.1 and added @sentry/nextjs to the workspace.
- Changed nodemailer and related types to use catalog references for better dependency management.
- Refactored global styles to include tw-animate-css and removed the old tailwindcss-animate plugin.
- Enhanced type definitions for eslint and related packages.
* chore: update pnpm-lock.yaml with new dependencies and version adjustments
- Added new dependencies: @sentry/nextjs (10.37.0), @types/eslint (9.6.1), @types/nodemailer (7.0.9), eslint (9.39.2), and eslint-config-turbo (2.7.6).
- Updated nodemailer to version 7.0.12 and adjusted its specifier to use catalog references.
- Changed the specifier for several packages to 'catalog:' for improved dependency management.
- Removed outdated references to eslint-community/eslint-utils version 4.9.0.
* feat: enhance user dialog components with success callbacks
- Added state management for open/close functionality in AdminBanUserDialog and AdminReactivateUserDialog.
- Updated BanUserForm and ReactivateUserForm to accept an onSuccess prop, allowing the dialog to close upon successful user action.
* chore: bump version to 2.23.10 and enhance workspace loading logic
- Updated application version from 2.23.9 to 2.23.10 in package.json.
- Refactored workspace loading functions to use async/await for improved error handling and added redirects for missing workspaces or users.
- Updated sidebar layout components to handle asynchronous data fetching and redirection more effectively.
- Minor adjustments to personal account dropdown styles for consistency.
- Updated application version from 2.23.7 to 2.23.8 in package.json.
- Upgraded various dependencies including @turbo/gen to 2.7.5, prettier to 3.8.0, and turbo to 2.7.5.
- Updated package versions in pnpm-lock.yaml and pnpm-workspace.yaml for consistency.
- Enhanced @next/bundle-analyzer, @next/eslint-plugin-next, and other related packages to their latest versions.
- Improved @types/node and @types/react versions for better type support.
* refactor: consolidate AGENTS.md and CLAUDE.md files, update tech stack and architecture details
- Merged content from CLAUDE.md into AGENTS.md for better organization.
- Updated tech stack section to reflect the current technologies used, including Next.js, Supabase, and Tailwind CSS.
- Enhanced monorepo structure documentation with detailed directory purposes.
- Streamlined multi-tenant architecture explanation and essential commands.
- Added key patterns for naming conventions and server actions.
- Removed outdated agent files related to Playwright and PostgreSQL, ensuring a cleaner codebase.
- Bumped version to 2.23.7 to reflect changes.
* feat(billing): add i18n pluralization support for billing unit names
Use i18next plural feature to properly translate and pluralize unit names
in billing plans (e.g., "member" vs "members"). This ensures correct
grammar for phrases like "Up to 4 members included in the plan" and
enables proper translation of unit names in non-English locales.
* fix(billing): handle 'unlimited' tier values in pluralization
Add getSafeCount helper to safely convert tier values to numbers,
preventing NaN when 'unlimited' values are passed to pluralization.
Falls back to plural form for 'unlimited' or invalid values.
---------
Co-authored-by: Claude <noreply@anthropic.com>
- Updated application version from 2.23.2 to 2.23.3 in package.json.
- Upgraded various dependencies including @faker-js/faker to 10.2.0, @react-email/components to 1.0.4, and updated supabase-related packages to 2.90.1.
- Adjusted node-html-parser version to 7.0.2 and totp-generator to 2.0.1.
- Updated i18next and related packages to the latest versions for improved localization support.
* chore: bump version to 2.23.2 and enhance team account creation
- Updated application version from 2.23.1 to 2.23.2 in package.json.
- Enhanced team account creation to support slugs for non-Latin names, including validation and UI updates.
- Updated localization files to reflect new slug requirements and error messages.
- Refactored related schemas and server actions to accommodate slug handling in team account creation and updates.
* refactor: remove old trigger and function for adding current user to new account
- Dropped the trigger "add_current_user_to_new_account" and the associated function from the database schema.
- Updated permissions for the function public.create_team_account to ensure proper access control.
* chore: bump version to 2.22.1 and update dependencies
- Updated application version from 2.22.0 to 2.22.1 in package.json.
- Updated various dependencies including @marsidev/react-turnstile to 1.4.1, @stripe/react-stripe-js to 5.4.1, @stripe/stripe-js to 8.6.1, and react-hook-form to 7.70.0.
- Adjusted lucide-react version to be referenced from the catalog across multiple package.json files.
- Enhanced consistency in pnpm-lock.yaml and pnpm-workspace.yaml with updated package versions.
* chore: bump version to 2.23.0 and update dependencies
- Updated application version from 2.22.1 to 2.23.0 in package.json.
- Upgraded turbo dependency from 2.7.1 to 2.7.3 in package.json and pnpm-lock.yaml.
- Enhanced end-to-end testing documentation in AGENTS.md and CLAUDE.md with instructions for running tests.
- Updated AuthPageObject to use a new secret for user creation in auth.po.ts.
- Refactored team ownership transfer and member role update dialogs to close on success.
- Improved error handling for weak passwords in AuthErrorAlert component.
- Adjusted database schemas and tests to reflect changes in invitation policies and role management.
- Updated application version from 2.21.18 to 2.21.19 in package.json.
- Improved invitation validation by handling cases where the invitation is not found and ensuring email comparison is case insensitive.
* feat: add validation for team names to restrict non-Latin characters
- Implemented a new test case to ensure team accounts cannot be created using non-Latin characters, including Cyrillic, Chinese, Japanese, Arabic, and emoji.
- Updated the team name schema to include a regex validation for Latin characters only.
- Added corresponding error message in the localization file for non-Latin character restrictions.
* chore: bump version to 2.21.18 in package.json
* - Replaced Supabase local environment variables
- Updates packages
- Force Zod v3 if peer deps require Zod v4
- Updated Dev Tool
* Use correct field for pnpm overrides
* Fix inaccuracies in the Agents files; fix type casting in `useForm`
* Updated lock file
* Be more specific when intercepting POST request in flaky e2e test
* chore: bump version to 2.21.13 and update dependencies
- Updated application version from 2.21.12 to 2.21.13 in package.json.
- Upgraded dependencies including @next/bundle-analyzer and @next/eslint-plugin-next to 16.0.8.
- Incremented @supabase/supabase-js to version 2.87.1 across multiple package.json files.
- Updated @types/node to version 24.10.2 for consistency in pnpm-lock.yaml and pnpm-workspace.yaml.
- Adjusted various package.json files to reflect updated versions for @ai-sdk/openai and @marsidev/react-turnstile.
* refactor: enhance invitation form submission handling
- Updated the invitation form submission process to wait for the response from the server after clicking the submit button, ensuring that the request is completed before proceeding.
- Cleaned up the locator for the continue button for improved readability.
* chore: bump version to 2.21.12 and implement safe redirect path validation
- Updated application version from 2.21.11 to 2.21.12 in package.json.
- Introduced `getSafeRedirectPath` and `isSafeRedirectPath` utility functions to validate user-supplied redirect URLs, enhancing security against open redirect attacks.
* fix: address page reload issue in Admin tests for CI
- Bumped versions for @next/bundle-analyzer and @next/eslint-plugin-next to 16.0.7.
- Updated react and react-dom versions to 19.2.1 across multiple package.json files.
- Incremented supabase version to 2.65.3 in pnpm-lock.yaml and pnpm-workspace.yaml.
- Adjusted various package.json files to utilize catalog dependencies for improved management.
- Updated application version from 2.21.8 to 2.21.9 in package.json.
- Upgraded dependencies including prettier to version 3.7.4, @supabase/supabase-js to version 2.86.0, and @tanstack/react-query to version 5.90.11.
- Adjusted various package.json files to reflect updated versions for lucide-react, react-hook-form, and nodemailer.
- Enhanced pnpm-lock.yaml and pnpm-workspace.yaml for consistency in package versions.
- Refactored import statements in several components for improved readability.
- Updated application version from 2.21.7 to 2.21.8 in package.json.
- Modified "verifyingCaptcha" message in auth.json for clearer user feedback during captcha verification.
- Enhanced conditional rendering for captcha loading states in PasswordSignInForm and PasswordSignUpForm components to improve user experience during authentication processes.
- Updated application version from 2.21.4 to 2.21.6 in package.json.
- Added "verifyingCaptcha" message to auth.json for improved user feedback during captcha verification.
- Enhanced captcha handling in various authentication components, including MagicLinkAuthContainer, PasswordResetRequestContainer, and SignUpContainer, to reflect loading states and improve user experience.
* refactor: streamline sign-in and sign-up methods containers for improved conditional rendering
- Updated SignInMethodsContainer and SignUpMethodsContainer to conditionally render the separator and "or continue with" text only when applicable authentication methods are available.
- Enhanced code readability by removing redundant div elements and improving the structure of conditional rendering.
* refactor: enhance UI components with improved styling and structure
- Updated PlanIntervalSwitcher to include hover effects and adjusted button size for better user interaction.
- Refined PersonalAccountDropdown by removing unnecessary animation classes for cleaner code.
- Modified Footer component to standardize padding across different screen sizes.
- Adjusted Pill component's height and padding for a more consistent appearance.
* refactor: enhance admin members and memberships tables with date rendering and sorting adjustments
- Removed User ID column from both AdminMembersTable and AdminMembershipsTable for a cleaner interface.
- Added date rendering functionality for Created At and Updated At columns, displaying time in a user-friendly format.
- Disabled sorting for Name, Email, Role, Created At, and Updated At columns to improve usability.
* fix: update account linking messages and redirect logic
- Changed the success message for account linking to indicate that a request has been sent and to prompt the user to wait.
- Added a redirect path to the PersonalAccountSettingsContainer for improved navigation after account linking.
- Removed the unused useUnlinkIdentity hook to clean up the codebase.
* chore: update package versions and dependencies across multiple files
- Bumped application version to 2.21.4 in package.json.
- Updated @supabase/supabase-js to version 2.84.0 and @tanstack/react-query to version 5.90.10.
- Incremented various dependencies including lucide-react to version 0.554.0, react-hook-form to version 7.66.1, and react-i18next to version 16.3.5.
- Adjusted @types/nodemailer to version 7.0.4 for consistency.
- Refactored package.json files to utilize catalog dependencies for improved management.
* chore: update Stripe API version to 2025-11-17.clover in stripe-sdk.ts
* fix: update wording for password recovery prompt in auth.json
* chore: update package versions and dependencies across multiple files
- Bumped application version to 2.21.3 in package.json.
- Updated dependencies including turbo to version 2.6.1, @next/bundle-analyzer and @next/eslint-plugin-next to version 16.0.3, and @supabase/supabase-js to version 2.81.1.
- Adjusted @types/node, @types/react, and @types/react-dom versions for consistency.
- Refactored package.json files to utilize catalog dependencies for improved management.
- Incremented various other dependencies such as react-i18next to version 16.3.3 and tailwind-merge to version 3.4.0.
* chore: downgrade @next/bundle-analyzer and @next/eslint-plugin-next to version 16.0.2 and update next to version 16.0.2 in pnpm-lock.yaml and pnpm-workspace.yaml
- Updated package versions for consistency across the project.
- Adjusted the overflow property in the PageWithSidebar component for improved layout handling.
* feat: add sorting functionality to DataTable header
- Implemented click handler for sortable headers in the DataTable component, allowing users to toggle sorting between ascending and descending order.
- Enhanced user interaction by updating the header's visual state based on the current sorting direction.
* fix: update layout and structure in UserHomePage and DashboardDemo components
- Added a new div structure within the PageBody of UserHomePage for improved layout.
- Simplified the grid structure in DashboardDemo by adjusting the number of columns for better responsiveness.
- Enhanced the PageWithSidebar component to ensure proper flex behavior and layout consistency.
* refactor: simplify PageBody structure in UserHomePage
- Removed unnecessary div elements within the PageBody of UserHomePage for cleaner layout.
- Enhanced readability and maintainability of the component structure.
- Incremented application version from 2.21.0 to 2.21.2 in package.json.
- Added logic to conditionally show email option in account settings based on enabled authentication methods.
- Updated PersonalAccountSettingsContainer to utilize the new showLinkEmailOption feature flag.
- Refactored migration script to correct delimiter usage for better parsing of migration lines.