2.23.0: Enforce Policies API for invitations and creating accounts; added WeakPassword handling; Fix dialog open/closed states (#439)

* 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.
This commit is contained in:
Giancarlo Buomprisco
2026-01-07 17:00:11 +01:00
committed by GitHub
parent 5237d34e6f
commit d5dc6f2528
41 changed files with 2896 additions and 1922 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -9,6 +9,21 @@ interface Credentials {
captchaToken?: string;
}
const _WeakPasswordReasons = ['length', 'characters', 'pwned'] as const;
export type WeakPasswordReason = (typeof _WeakPasswordReasons)[number];
export class WeakPasswordError extends Error {
readonly code = 'weak_password';
readonly reasons: WeakPasswordReason[];
constructor(reasons: WeakPasswordReason[]) {
super('weak_password');
this.name = 'WeakPasswordError';
this.reasons = reasons;
}
}
export function useSignUpWithEmailAndPassword() {
const client = useSupabase();
const mutationKey = ['auth', 'sign-up-with-email-password'];
@@ -25,6 +40,15 @@ export function useSignUpWithEmailAndPassword() {
});
if (response.error) {
// Handle weak password errors specially (AuthWeakPasswordError from Supabase)
if (response.error.code === 'weak_password') {
const errorObj = response.error as unknown as {
reasons?: WeakPasswordReason[];
};
throw new WeakPasswordError(errorObj.reasons ?? []);
}
throw response.error.message;
}