Commit Graph

777 Commits

Author SHA1 Message Date
Giancarlo Buomprisco
fcb37e7d75 Improve overall responsiveness on mobile devices (#214) 2025-03-19 11:24:53 +08:00
Giancarlo Buomprisco
4bba67246b 1. Updated packages (#211)
1. Updated packages
2. Improved responsiveness
2025-03-18 20:07:10 +08:00
Giancarlo Buomprisco
a45fda44cf Deps Update, CSSNano, Sentry env (#210)
1. Update dependencies
2. Use cssnano for production
3. Assign an environment variable to Sentry's environment settings
4. `Pill` now accepts React Nodes so we can pass translations using Trans component
5. Switch to mailpit API during tests
6. Do not require Email Sender to be of type email and add proper error messages
2025-03-12 16:51:11 +08:00
Giancarlo Buomprisco
bd723dccce Validate special chars when creating a team (#209)
* Add validation for team account names

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

* Enhance team account name validation and slug generation

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

* Pass return path if a next query parameter is provided. Use home path otherwise.
2025-03-09 12:17:30 +08:00
gbuomprisco
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
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
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
Giancarlo Buomprisco
d31f3eb993 Add support for OTPs and enhance sensitive apis with OTP verification (#191)
One-Time Password (OTP) package added with comprehensive token management, including OTP verification for team account deletion and ownership transfer.
2025-03-01 17:35:09 +08:00
gbuomprisco
a5d3338950 Merge remote-tracking branch 'origin/main' 2025-02-23 07:47:23 +07:00
gbuomprisco
30e98ebb7d Updated dependencies 2025-02-23 07:46:47 +07:00
Giancarlo Buomprisco
68c6d51d33 Add MFA Flow also to Super Admin (#186)
* Add MFA flow to Super Admin checks
2025-02-23 08:44:15 +08:00
Giancarlo Buomprisco
59dfc0ad91 Update Email Templates. Use "autoComplete={'new-password'}" in password reset form. (#183) 2025-02-21 10:01:26 +08:00
Giancarlo Buomprisco
685b0920e5 Use plain image tag instead of Next.js (#184) 2025-02-21 10:01:15 +08:00
Giancarlo Buomprisco
fa3813e580 Only center logo below md (#179) 2025-02-20 08:43:01 +08:00
Giancarlo Buomprisco
e0975da387 Add DialogTitle using a hidden class to prevent runtime warnings (#178) 2025-02-20 08:40:34 +08:00
Giancarlo Buomprisco
c193f9fcb9 Update image uploader styling with object-contain and border (#173)
* Update image uploader styling with object-contain and border
* Fix avatar aspect ratio
2025-02-20 08:35:16 +08:00
Giancarlo Buomprisco
031e0810a6 Enhance password update error handling and localization (#175)
* Enhance password update error handling and localization
2025-02-19 16:38:05 +08:00
Giancarlo Buomprisco
0808b91e0d 171 bug allow passing refs to inputbutton components (#172)
* Refactor UI components to use ComponentPropsWithRef for improved type safety
* Updated dependencies and removed duplicate instance of Tslint since it's already provided in the Next.js config
2025-02-19 09:34:20 +08:00
gbuomprisco
cdf7cc6f00 Allow empty monitoring provider variable for retro-compatibility with previous env variables settings. 2025-02-18 21:46:17 +07:00
gbuomprisco
7ec22cc8e5 Merge remote-tracking branch 'origin/main' 2025-02-18 14:27:23 +07:00
gbuomprisco
bb4e318c54 Improve pricing table design 2025-02-18 14:26:57 +07:00
Giancarlo Buomprisco
227be11b8b Always display per month period because the pricing is displayed per month even if the period is yearly (#169) 2025-02-18 11:07:17 +08:00
Giancarlo Buomprisco
0478a6428d Adjust Auth Callback URL for self-hosted instances (#167)
* Adjust URL for local development during auth callback covering more scenarios
* Fix typechecking issues
2025-02-18 10:57:56 +08:00
gbuomprisco
23753065c7 Updated dependencies 2025-02-17 14:16:32 +07:00
Giancarlo Buomprisco
9785be7067 Update emails design (#165) 2025-02-15 16:14:03 +08:00
gbuomprisco
be88bdec6e Prevent flex container overflow with min-w-0 2025-02-14 21:47:15 +07:00
gbuomprisco
a4cb758ffa 1. Minor UI fixes
2. Updated packages
2025-02-14 11:10:20 +07:00
Giancarlo Buomprisco
9a6543e0a7 MFA fixes (#163)
1. Add a background to the QR code to improve scanning
2. Re-fetch MFA factor list after mutation
2025-02-13 09:56:11 +08:00
Giancarlo Buomprisco
e403a6cd75 EsLint speedup (#161)
* Updated packages
* Fix Turbo TURBO_SCM_BASE
* Disable type-aware rules
2025-02-12 14:58:56 +08:00
Giancarlo Buomprisco
f2c74bd11c Updated dependencies, reintroduced bundle analyzer (#159) 2025-02-11 11:48:28 +08:00
Giancarlo Buomprisco
f5a961f155 Clean up packages and old references to eslint config (#158)
* Update dependencies and configuration files

- Upgrade Lucide React to version 0.475.0
- Update Markdoc to version 0.5.0
- Bump ESLint to version 9.20.0
- Update Tailwind CSS to version 4.0.5
- Add import-in-the-middle to Sentry package
- Remove import-in-the-middle and require-in-the-middle from web app
- Update browserslist configuration
- Remove eslintConfig from web app package.json
- Add ESLint configuration template for package generator
2025-02-10 11:42:35 +08:00
Giancarlo Buomprisco
95d27aa85b Fix SidebarTrigger context handling to prevent null reference errors (#156) 2025-02-10 08:17:19 +08:00
gbuomprisco
92ad383567 Upgrade Prettier, Tailwind CSS, and related dependencies to latest versions 2025-02-10 06:40:48 +07:00
Giancarlo Buomprisco
6f9cf22fa8 EsLint v9 (#154)
* Upgrade ESLint and related configurations to version 9

- Update ESLint to version 9.19.0
- Migrate ESLint configurations to flat config format
- Remove deprecated ESLint config files
- Update package dependencies and configurations
- Simplify ESLint setup across packages
- Remove unnecessary ESLint config blocks from package.json files
- Improved CI caching with Turborepo tasks
- Removed duplicate styles
2025-02-07 11:38:29 +08:00
Giancarlo Buomprisco
e2f45cae49 Enhance DataTable component pagination and sorting UI (#152)
- Adjust pagination layout and styling for better readability
- Add support for optional sorting change event handler
- Improve sorting state management with flexible updater function
- Update text color and spacing in pagination component
2025-02-06 11:09:08 +08:00
Giancarlo Buomprisco
97e4bc9bad Refactor sidebar navigation menu item rendering and styling (#150)
- Improve sidebar menu item layout and responsiveness
- Extract and optimize classNames for link and span elements
- Remove conditional rendering of `renderAction`
- Enhance dynamic styling for collapsed and expanded sidebar states
2025-02-06 11:00:00 +08:00
Giancarlo Buomprisco
08d5b16123 Add optional sorting state to DataTable component (#148)
- Introduce `sorting` prop to allow initial sorting configuration
- Update DataTable to use provided initial sorting state
- Maintain default empty sorting state when no initial sorting is specified
2025-02-05 23:18:12 +08:00
Giancarlo Buomprisco
4a47df81db Registry API Refactoring (#144)
* Refactor core to use a flexible registry pattern

- Introduce a new registry mechanism for mailer providers
- Extract mailer provider enum to a separate file
- Implement dynamic mailer loading using a registry
- Update package dependencies and exports
- Improve modularity and extensibility of mailer implementation

* Refactor monitoring and billing services to use a flexible registry pattern

- Introduce a shared registry mechanism for dynamic service loading
- Replace static switch-based implementations with a registry-based approach
- Update instrumentation, CMS, and monitoring services to use the new registry
- Improve modularity and extensibility of service implementations
- Add Zod-based type-safe provider validation

* Simplify async registration in monitoring and billing services

- Remove unnecessary async wrappers for no-op registrations
- Update type definitions to support both async and sync registration functions
- Standardize registration approach for Paddle and Sentry providers

* Remove Tailwind package from packages where it is not being needed

* Remove Tailwind config references from pnpm-lock.yaml

* Update instrumentation registry to support dynamic monitoring providers

- Modify type definition to use NonNullable MonitoringProvider
- Import MonitoringProvider type from get-monitoring-provider
- Enhance type safety for instrumentation registration
2025-02-05 18:38:43 +08:00
Giancarlo Buomprisco
3140f0cf21 Improve PageHeader responsiveness for sidebar trigger and description (#146) 2025-02-05 18:03:20 +08:00
Giancarlo Buomprisco
3c1abbc453 Bump dependencies to latest versions (#139)
Update various dependencies:
- Sentry to v8.54.0
- Tailwind CSS to v4.0.3
- TypeScript ESLint to v8.23.0
- Node types to v22.13.1
- Various OpenTelemetry and other minor dependency updates
2025-02-04 10:21:14 +08:00
Giancarlo Buomprisco
fcdae7aa65 Improve reusability of the webhook handler to allow converting the route to a Pages Router API Route. (#110) 2025-02-04 09:46:52 +08:00
Giancarlo Buomprisco
2a157e8baa 134 improvement add a button that allows closing the sidebar (#135)
* Enhance sidebar navigation and layout configuration

- Added support for configurable sidebar collapsed style
- Updated layout components to use new sidebar configuration
- Added environment variable for sidebar trigger display
- Simplified page header and navigation components
- Improved sidebar responsiveness and user experience

* Refactor admin account page layout and action buttons

- Moved action buttons from sidebar to PageHeader for both personal and team account pages
- Updated button variants and styling for better visual hierarchy
- Improved spacing and layout of account page components
- Added border to PageHeader for better visual separation

* Update version updater dialog styling

- Replaced `space-x-4` with `gap-x-2` for better spacing
- Wrapped translation text in a `span` for improved layout
- Maintained consistent icon and text alignment in dialog title

* Refactor sidebar state management and configuration

- Simplified sidebar context and removed minimized state
- Updated layout components to use new sidebar open/closed state
- Modified sidebar navigation to handle collapsed state dynamically
- Added environment variable for sidebar trigger and collapsed style
- Improved sidebar responsiveness and rendering logic

* Remove sidebar configuration and environment variables

- Simplified sidebar context by removing `minimized` state in components
- Updated account selector components to use simplified sidebar state
- Removed unused helper functions in sidebar implementation
2025-02-04 09:45:16 +08:00
Giancarlo Buomprisco
b319ceb5bb Add hidden product option to billing components (#136)
- Introduced `hidden` field in product schema to control product visibility
- Updated PlanPicker and PricingTable to filter out hidden products
- Ensures hidden products are not displayed to users
2025-02-04 07:27:43 +08:00
Giancarlo Buomprisco
3553422e42 Add support for custom pricing plans in PricingItem component (#138)
- Introduced `custom` flag to handle custom pricing plan display
- Conditionally render custom plan label when `isCustom` is true
- Updated TypeScript type for plan to include optional `custom` property
2025-02-04 07:27:27 +08:00
Giancarlo Buomprisco
77131d886c Refactor sidebar navigation to improve render action placement (#133)
- Moved `renderAction` from conditional rendering to a dedicated `SidebarMenuAction` component
- Simplified sidebar menu item rendering logic
- Ensured consistent placement of additional actions within sidebar menu items
2025-02-03 13:28:20 +08:00
Giancarlo Buomprisco
f46286b503 Refactor billing components to improve price display and modularity (#132)
* Refactor billing components to improve price display and modularity
- Created new `PlanCostDisplay` component to centralize price formatting logic
- Simplified price rendering in plan picker and pricing table
- Removed redundant price calculation code
- Improved handling of metered and tiered pricing display
2025-02-03 13:06:40 +08:00
Giancarlo Buomprisco
001903ddac Refactor password sign-up flow and improve form usability (#131)
- Extracted sign-up logic into a new `usePasswordSignUpFlow` hook
- Simplified `EmailPasswordSignUpContainer` component
- Added `autoComplete="new-password"` to password input for better UX
- Converted `PasswordSignUpForm` props to a TypeScript interface
2025-02-03 12:34:26 +08:00