The commit updates the Next.js package version in the pnpm lockfile from 14.2.0 to 14.2.1. The version update includes all dependencies that specify Next.js.
The commit changes the expected text for billing status in both 'user-billing.spec.ts' and 'team-billing.spec.ts' from 'active' to 'Active'. In addition, the waiting time for the page to return to home in 'billing.po.ts' has been increased from 500ms to 1000ms to improve testing reliability.
The commit adds detailed error messages for missing environment variables across different configuration files. It updates the zod schema validations in different files, such as feature-flags.config.ts, personal-accounts-server-actions.ts, and others to provide more informative error messages when environment variables are not provided.
The code now supplies a detailed error message when an invalid Supabase Service Role Key is provided. The error message prompts the user to check the SUPABASE_SERVICE_ROLE_KEY environment variable ensuring clearer debugging.
Updated the user billing process to add a return to home function and redirect users to their specific account page after payment. Enhanced error handling in the billing event handler to handle scenarios where no account id is found in the subscription. Removed unused billing page object from the stripe page object.
Code for billing process was refactored in end-to-end tests for clean code and better structure. In the described tests, related codes and classes have been moved to a new class named BillingPageObject. All corresponding calls were updated accordingly.
This commit introduces end-to-end tests for the user and team billing features. It also enhances existing billing configurations, logging, and error handling mechanisms. Refactoring has been done to simplify the code and make it more readable. Adjustments have also been made in the visual aspects of some components. The addition of these tests will help ensure the reliability of the billing features.
The join page's redirect functionality has been replaced with permanentRedirect. Adjustments were also made for handling conditional authentication and user account verification. Package upgrades were performed and the i18n client now checks if an instance is already initialized. The process tends to deliver performance benefits and enhancing the code readability.
Removed 'mr-2' from avatar styling in 'account-selector.tsx' and enhanced alignment within the group. Several environment variables were added in the GitHub workflow, improving the security and consistency of the test job. The names for 'typescript' and 'test' jobs are also standardized for better readability.
This commit modifies the `deleteAfter` flag from `false` to `true` in the E2E tests for invitations. This change helps to ensure that invitation emails are deleted after being confirmed during testing, keeping the test environment cleaner.
The playwright.config.ts file has been updated to comment out the part that runs the local dev server during end-to-end tests. Additionally, an action has been added in the GitHub workflow to specifically run the app. Also, a trivial modification to the 'startTransition' function in the 'invite-members-dialog-container.tsx' file has been made.
Improved the clarity of console logs within e2e tests for better debugging. Changed the timeout timing for webhook requests from 1000ms to 5000ms in the supabase seed.sql. The "deleteAfter" option of the visitConfirmEmailLink and getInviteEmail functions in the e2e tests has been set to "false" for email persistence.
The code now includes success and error messages for team member invitation completion. It validates entered email addresses for duplicates and sets a limit on the number of invitations that can be sent at once to avoid server spam. Also, visual changes have been made to the form - label placement, form message, button types, etc.
The refactoring includes the moving of the `getSupabaseClientKeys()` and `getServiceRoleKey()` function calls to the module scope and the addition of a `warnServiceRoleKeyUsage()` function, used to display a warning when the Supabase Service Role is accessed. The change aims to improve code readability and maintainability.
The e2e test configuration has been modified to take screenshots only on failure and the dev server code has been adjusted for better project directory handling. The "supabase:reset" command in package.json no longer starts the server after reset. Default roles 'owner' and 'member' are also now seeded into the roles table, and constraints in the roles table and its associated functions have been updated to manage hierarchy levels and role naming more effectively.
Updated the Playwright End-To-End test configurations to run the local dev server before starting the tests. Removed unnecessary page load wait states in the invitation tests. Also, updated the parameters passed in the `visitMailbox` method used in the authentication tests.
The command to run the app in the .github/workflows/workflow.yml file has been updated. "pnpm run dev" now runs in the background, allowing it to progress alongside subsequent commands in the workflow. This change is expected to enhance the efficiency of the workflow process.
Environment files have been updated; a typo corrected in .env.development, and new variables added in .env.test. Sequence of variables were also reorganized in .env.test for better readability. Additionally, the name of an SQL trigger in seed.sql file has been changed to align with naming convention. Lastly, the application running command in workflow.yml has been modified for efficiency.
Added new paths and other configurations to .env files for production, test, and development environments. Removed the requirement for email confirmation from all .env files. In addition, unnecessary spacing in the update-member-role-dialog component was removed for better code readability.
This commit adds data testing attributes to key elements in the team account invitations features. It also modifies e2e tests to make use of these attributes. Additionally, it introduces minor tweaks to other parts of the system to better facilitate testing, such as adjustments in timeouts and update of some log messages.
This commit refines the warning text in the 'deleteAccountDescription' in locales and associated Supabase service role warning. Additionally, the E2E test for account deletion has been updated to include a response check for a redirection status, improving the reliability of the test outcome.
The update simplifies accessing environment keys and role warnings in Supabase clients by moving them to new functions 'getSupabaseClientKeys' and 'getServiceRoleKey'. The redundancy in the code is reduced promoting clearer and more maintainable code. The '@epic-web/invariant' import has been removed from files as it is no longer needed.
Changed the `.github/workflows/workflow.yml` to run the application in the background during Github Actions workflow. This change will allow the Playwright tests to run while the app is still running, providing better efficiency and time management in the CI/CD process.
Upgraded '@makerkit/data-loader-supabase-nextjs' to version 1.1.0 and replaced 'autoprefixer' with a newer version. Added new scripts to 'packages.json' and '.env.test' file for test environment. The changes also include removal of unnecessary 'eslint' dependencies and modifications for 'postcss' related dependencies.
This commit adds e2e testing for the user invitation process in the app. It introduces data-test attributes to key components in the invitation flow, assisting in test case creation. Newly created tests validate user invitation functionality including form filling, role selection, and submission.
A broad range of dependency versions have been updated in numerous packages. This includes updates to major libraries such as supabase-js, react, i18next and multiple typescript definitions. The version specifier has been standardized for some packages to maintain consistency.
Modified the e2e test for account deletion. Rather than redirecting to the sign-in page after the account is deleted, the change ensures that the system waits for a local URL. This should improve test coverage by making sure the browser is redirected to the correct URL instead of automatically going
Removed unnecessary response wait in `auth.po.ts` and a redundant output property in `turbo.json`. The code is now simpler with less redundancy, which makes it easier to read and maintain. Removed files are either not used or not necessary for the project to behave as expected.
The commit introduces a message to indicate the account deletion process. It also enhances the tests by reducing code redundancy in the e2e tests, creating a more random name for team accounts, and improving the navigation process after account deletions. The commit also includes code cleanup tasks, such as the removal of unused imports.
Multiple updates are made to refine the account management features, including updating the 'Your Teams' text to show the number of teams, and modifying the form data validation process in the 'deletePersonalAccountAction' service. Additionally, improvements have been made in test configurations including updating the test timeout settings, taking screenshots when a test fails, and adjusting the location for saving Playwright reports.
Adjusted the parallel test limit on CI from 1 to 2 in playwright configuration and updated the test script to stop after the first failure. These changes will allow CI to run tests more efficiently and stop running further tests when a failure is encountered.
This commit involves updating the version of @makerkit/data-loader-supabase-nextjs to ^1.0.0 across multiple components. The end-to-end tests for team-accounts have also been refactored to improve their reliability and accuracy. Additionally, a new `.env.test` file has been added for improved testing.
The Next.js version has been updated across multiple dependencies in the pnpm-lock file. This ensures consistency, removes instances of the canary version, and aligns all packages to use the stable 14.2.0 release.
The changes made are primarily related to updating the layout and style of the site headers and buttons. A significant chunk of modifications were made to the pricing-table.tsx file, including tweaks to the styling, padding, highlighting, and addition of new properties. Also, the site-header-account-section.tsx and site-page-header.tsx files have seen a few changes, focusing mainly on buttons and heading style. A new locale message was added to facilitate better user interaction.
The commit has made key changes to enhance the efficiency of end-to-end tests. The password generation logic and random email creation method have been modified to use bigger random numbers, ensuring
The UI layout for the site header, site footer, and account section was updated to improve visual spacing and arrangement. In addition, the authentication test for email confirmation was enhanced, specifically by adding checking that the response from visiting the mailbox is not null. This improves the robustness and reliability of the test.
Renamed several components related to account settings and updated corresponding data-test selectors for more clarity. Adjusted e2e tests to reflect these changes and added tests for new functionalities, like changing password and deleting account. In addition, generator description in monorepo configuration was simplified. Minor changes were also made to e2e test utilities for better error handling.
The code to retrieve Playwright's version in the GitHub action workflow has been updated. Previously, it was using `npm ls` but now it has been modified to use `pnpm ls` with the `--filter web-e2e` option. This change will ensure a more accurate retrieval of the Playwright test version specific to web end-to-end testing.
The commit modifies end-to-end testing for the authentication process. It replaces the explicit waitForURL method with the waitForTimeout method and makes the navigation checks less strict. Aside from this, it configures the page navigation methods to wait until there is no network activity
This commit introduces caching for Playwright browsers in the GitHub Actions workflow. It first stores the Playwright version as an environment variable, then attempts to cache the browsers for this specific version. Browsers are only installed if they aren't found in the cache.
Introduced a waitForResponse function in the authentication end-to-end test file. This helps to ensure that the test doesn't proceed until a response from the auth URL is received, adding robustness to the test flow.
This update changes the number of retries in the Playwright configuration. Additionally, solid improvements have been made in the account settings, including better data semantics for testing, changes to email confirmation, and adding a new E2E test suite for accounts. The sign-up flow was updated and problems with multi-language support logic were fixed.
Updated README.md and scripts to separate the 'web application' and 'Supabase server' in the development process. Modified package.json to include specific scripts for starting, stopping, and generating the Supabase schema. Also adjusted GitHub workflow to start Supabase server before running the app and reduced retention of Playwright report artifacts from 30 to 7 days.
This commit introduces a new step in the GitHub actions workflow file. 'Run App' step, which runs the development server, has been included right before running the Playwright tests. This change is essential for seeing a real-time reflection of changes in the dev server during the testing phase.
The pnpm version used in the GitHub actions workflow has been updated from 6.32.9 to 8. This change will ensure that our GitHub actions use the latest pnpm version for setting up the environments and building our project.
This commit updates the workflow configuration to use the 'pnpm/action-setup' GitHub Action. This eliminates the need for a separate step to globally install pnpm, simplifying the dependency installation process. Both the setup and the use of pnpm have been streamlined.
Enhancements have been made to the GitHub Actions workflow. The fetch depth has been updated and a cache has been added. Node.js dependencies are now setup with 'pnpm' cache and the 'test' timeout minutes have been reduced to 15. Also, Playwright Browsers are now installed before running Playwright tests.
This commit updates the versions of the 'lucide-react' and '@tanstack/react-query' dependencies across various packages. It also removes the step to install Playwright Browsers in the GitHub workflow. Updating these versions ensures that we are using the latest features and bug fixes of these libraries. This change could potentially improve the functionality, compatibility, and security of our application.
The nanoid package was deleted from the pnpm-lock.yaml file as it is not needed anymore. This commit also updates the status of the dev flag for the package natural-compare@1.4.0.
The commit introduces Playwright configuration for End-to-End testing and modifies several files to optimize the project's structure. It also modifies the middleware to interact with Next.js and fix URL creation. Changes in database types were made to refine their structure.
This commit includes an update of the language setting in the DocsPage and BlogPage functions in the marketing app to make it more dynamic. Additionally, the package versions of next, @makerkit/data-loader-supabase-nextjs, and various Next packages in the Supabase package have been updated.
The lucide-react library version has been updated in both billing/gateway and features/team-accounts packages. This update moves from version 0.363.0 to 0.367.0, incorporating any changes or improvements made in the intervening versions.
Refactored several Supabase client functions and updated them to use generics. Also, the '@kit/supabase-config' package was removed from the project and all references were replaced accordingly. The project's dependencies were updated as well, including the Supabase package which was upgraded to the latest version.
Enhanced the documentation pages by updating the layout with aesthetic adjustments and adding better navigation elements. New documentation content was added: 'Authentication', 'Getting Started', and their child pages. This ensures users have a clearer path when viewing, navigating, and accessing the information they need. "Read more" fallback label was added to the documentation cards for better accessibility.
A new component, BlogPagination, has been added to the blog section of the website. This component includes buttons for navigating to the next and previous pages of blog posts. The BlogPagination component has been integrated into the main blog page, resulting in a more user-friendly browsing experience.
Several changes have been made in this commit. Firstly, updates have been made to the site-header-account-section and the pricing-table components to enhance UI aesthetics. Secondly, billing services have been significantly improved. A new method for retrieving plan information by an ID has been introduced. This method is available for all strategy services, including Stripe and Lemon-Squeezy. Furthermore, the way context and logging are handled during the billing process has been streamlined for better readability and efficiency.
Modified several animation settings within the Home function. The changes include adjusting space size, altering the animation duration, and adding a delay. These modifications aim to improve the visual appeal and engagement level of the home page.
This commit refactors the logger usage in various files to make it more streamlined and consistent. It also introduces a new 'enableDiscountField' feature for the checkout that can be toggled on specific products. This allows customers to apply discounts at checkout if the product or subscription plan has the 'enableDiscountField' set to true.
This commit refactors the logger usage in various files to make it more streamlined and consistent. It also introduces a new 'enableDiscountField' feature for the checkout that can be toggled on specific products. This allows customers to apply discounts at checkout if the product or subscription plan has the 'enableDiscountField' set to true.
Renamed 'LanguageDropdownSwitcher' to 'LanguageSelector' for better representation of the component's functionality. Removed unnecessary dependencies and optimized function declarations. Updated site routing to include new pages like 'contact', 'terms-of-service', and 'privacy-policy'. Also made adjustments for multi-language support, providing better user experience.
The 'Div' and 'Link' elements visibility within AuthButtons component have been updated. Previously, they were hidden for smaller screens or at lower resolutions, now it has been adjusted to be visible for such instances allowing better user interface for all types of devices.
This commit focuses on refining UI/UX across various components and pages of the application. Changes include adjusting padding and spacing to enhance the overall readability and user interaction, amending hyperlink styling, modifying dropdown menus for optimized mobile experience, and adjusting key UI elements. Other modifications include revising imports for better maintainability, and adding enhancements to several UI components to improve their visual presentation.
The Next.js version was updated in the 'pnpm-lock.yaml' file which resulted in changes to multiple dependencies. Also, the '_components/grid-list.tsx' file was deleted as it was deemed no longer necessary. Additional small changes were made to the blog page and 'marketing.json' file.
The changes involved modifying the implementation of `getContentItems` across multiple files, specifically in the CMS-related codebase. This method now returns an object containing the total count of items and the items themselves. The updates also included necessary adjustments in the code where `getContentItems` is called to accommodate the new structure of the returned result.
The code changes involve a significant update to the configuration of our CMS client. The nature of retrieving content items has been refactored to be more granular, allowing for the identification and fetching of content from specified collections rather than general categories. These modifications improve the efficiency and specificity of content queries. Furthermore, other changes were made to provide a better alignment of our content structure, including the reorganization of content files and renaming of image paths in various components for consistency.
The code changes introduce more detailed logging in the invitation webhook service. These logs provide comprehensive information about invitation webhooks events being handled, potential errors during fetching inviter or team details, as well as the
The order of import statements has been adjusted to ensure 'server-only' is imported first in 'admin-auth-user.service.ts' and 'index.ts'. This aims to prevent any potential conflicts and ensure smoother execution of the code.
Renamed the admin actions to have a more uniform approach with "Action" suffixed. This makes the action function's purpose clear in the codebase. Also, moved the `assertUserIsNotCurrentSuperAdmin` method to a more suitable place in the code, arranging it in a private scope. This helps in maintaining clean code architecture and enhances readibility.
The 'vercel-email' package was added as a dependency to facilitate sending emails using Cloudflare workers. The CloudflareMailer class has been updated to leverage 'vercel-email' for sending emails. Instructions for setting up the 'vercel-email' package with the Cloudflare provider were added to the README.md file. The
This commit updates diverse packages such as "@makerkit/data-loader-supabase-core" and "@makerkit/data-loader-supabase-nextjs" to the new versions in the package.json files. Also, several refactorings were done in logging within services and loaders by progressing 'server-only' imports and improving context handling. Additionally, type annotations have been added to several exported functions for better code readability and maintainability.
The account deletion process has been refactored to send account deletion emails from the AccountWebhooksService instead of from the deletePersonalAccount service. This has resulted in the addition of the AccountWebhooksService and modification of the seeds.sql file to trigger a webhook after account deletion. Along with this, the account invitation functionalities within the accountInvitations service have been considerably enhanced, making it much clearer and easier to use.
The code updates the action called when submitting the form in the 'AdminDeleteUserDialog' component. Instead of triggering 'deleteAccount', it now calls 'deleteUser'. Additionally, after a user or an account is deleted, the admin is redirected to the '/admin/accounts' route instead of receiving a 'success: true' message.
This commit includes several changes to the admin functionality. Most notably, it updates the actions deleteUser and banUser to deleteAccount and updates the UI for admin actions. It also includes new variants for badges, and adds new icons to buttons. In addition, it updates the user schemas to match these changes.
The "Back to Blog" button, a link to the main blog page, has been removed from the post header component in the marketing blog module. This changes the page navigation and streamlines the post header design, making it cleaner and less cluttered.
This commit updates various dependencies in pnpm-lock file and introduces enhancements to the admin account page. This includes adding several new functionality like 'Delete User', 'Ban User', 'Impersonate User' and 'Delete Account'. Various UI components are also added for these features.
Several changes have been made to improve the user interface and enhance the user experience. This includes redesigning Auth buttons, modifying website layouts and routing, tweaking heading and text sizes for clarity, and revamping the marketing, documentation, and pricing pages. These changes collectively contribute to a cleaner, more concise and navigable interface.
The commit modifies various components across the marketing site to update layout and styling. The changes include adjustments to shadowing, spacing, and button configurations. It also updates the text and image assets, enhancing the overall visual representation of the website. Some buttons and components have also been removed or replaced for a more streamlined interface.
Refined both admin and marketing layouts for a clearer design. Newly added components for the admin page include admin-account-page, admin-members-table and admin-memberships-table. Also included in this update are route renaming, minor text edits and corrections in the code.
The AdminGuard component has been added to the AccountPage, AccountsPage, and AdminPage in the web app. This server-side implementation ensures that these pages are only accessible to super-admin users. If a user is not a super-admin, the guard will trigger a redirect to a 404 page.
Removed 'admin-header.tsx' and 'admin-sidebar.tsx' components and added 'admin-dashboard.loader.ts' to handle loading data for the admin dashboard. Updated 'admin-dashboard.tsx' and 'page.tsx' to use this loader. Package dependencies were also updated in 'pnpm-lock.yaml' and 'package.json' files of relevant packages. This commit prioritizes loading dashboard data effectively and managing package dependencies.
The AdminSidebar function has been updated to include user authentication. If user authentication fails, a redirect is initiated. Additionally, a ProfileAccountDropdownContainer has been included in the sidebar to display user information. This improves the user experience and security of the admin sidebar.
This commit replaces the use of Logger with getLogger in various parts of the code to handle logging. The Logger has been replaced with getLogger, which assists in getting logs in an asynchronous manner. In addition to this, it updates the next version in pnpm-lock.yaml from next@14.2.0-canary.61 to next@14.2.0-canary.62 and various other dependencies. Also made minor annotations and comments to the function 'isBrowser' and 'formatCurrency' in the 'utils.ts' file.
This commit adds new Admin and Accounts pages, while also improving code by refactoring various portions such as extracting services from the join page and dynamically importing packages in logging and monitoring code. The build command is also removed from the WordPress package, and SWC minification is enabled in the Next.js configuration. Updated marketing content is also included in this commit.
Modified the logic in create-billing-schema.ts so if a plan contains more than one line item, it no longer returns true but false. In plan-picker.tsx, added a condition to check if a product is selected before setting the 'planId'. Also, the 'planId' is now set based on the selected plan's id rather than an empty string.
Updated the billing provider in the environment configuration to use 'stripe' instead of 'lemon-squeezy'. Multiple changes were also made to UI components related to pricing, including better data handling for different billing tiers and enhanced visualization of selected options. These revisions aim to both enhance the user experience and ensure compatibility with the new billing provider.
This commit updates all instances of 'base' line item type to 'flat'. It modifies the BillingIntervalSchema, the validation rules for one-time plans, and the function to get the primary line item for a plan. Furthermore, it adjusts the display and filtering of line items in the pricing table component and the plan picker component. The SQL migration script and the sample billing configuration are also updated to reflect this change.
This commit provides the addition of a new enhanced route handler functionality for Next.js utilities. The handler facilitates additional functionality, allowing more control over HTTP requests. Changes also include improved code where 'zodParseFactory' functionality moved to utils for better code reuse and organization.
The CSS classes used across different web pages in the web application have been updated. This change mainly consists of adjustments to spacing on various elements to improve the visual layout. The alterations should enhance the readability and user experience of the mentioned pages.
The project's README file has been updated to mark the completion of the Beta release phase. The roadmap section now accurately reflects the current status of the project, providing up-to-date information about the completed and pending milestones.
This commit introduces checkbox formatting for project's roadmap dates in the README, enhancing readability and visibility. Also, new details about the '@kit/database-webhooks', '@kit/cms', '@kit/next' packages, and the CMS additions to the application are included to provide clearer understanding of project's structure and functionality.
Deleted unnecessary schema files and reorganized their imports into more logical order. Modified the package script structure to align more accurately with standard conventions. Also refactored the team-billing.service file to improve action structure, making it easier to understand and edit. Furthermore, upgraded various dependencies, reflecting their new versions in the lockfile.
The update includes the implementation of captcha support during the sign-in and sign-up process for user accounts. The process ensures a better level of security against bot-based attacks. Also, the code has been refactored to separate error and success alerts and unnecessary useEffect hooks have been removed. Moreover, some logic concerning the authentication rendering has been simplified.
Enhanced the TeamBillingService class by including several logging statements and added error-handling surrounding the creation of a checkout session and a billing portal session. The logging statements provide more context about the processes such as the associated user and account, adding a layer of transparency and traceability.
Next.js version has been upgraded from 14.2.0-canary.58 to 14.2.0-canary.60 for performance and stability improvements. Additionally, account session handling has been improved by fetching the session data during server-side processing and passing it to various components, thus optimizing the user experience.