Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions docs/reference/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 0 additions & 29 deletions docs/reference/functions/AuthCheck.md

This file was deleted.

29 changes: 0 additions & 29 deletions docs/reference/functions/ClaimsCheck.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/reference/functions/preloadUser.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/reference/functions/useIdTokenResult.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/reference/functions/useSigninCheck.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/reference/functions/useUser.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 0 additions & 33 deletions docs/reference/interfaces/AuthCheckProps.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/reference/interfaces/ClaimCheckErrors.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 0 additions & 45 deletions docs/reference/interfaces/ClaimsCheckProps.md

This file was deleted.

4 changes: 2 additions & 2 deletions docs/reference/interfaces/ClaimsValidator.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions docs/reference/interfaces/SignInCheckOptionsBasic.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions docs/reference/interfaces/SignInCheckOptionsClaimsObject.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/reference/type-aliases/SigninCheckResult.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 26 additions & 0 deletions docs/upgrade-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,32 @@

ReactFire v5 contains breaking changes. This section lists them as they land; add an entry here in any PR that changes public behavior.

## `AuthCheck` and `ClaimsCheck` removed

Both components were deprecated in v4 (May 2021) in favor of the `useSigninCheck` hook, which shipped in the same release. They have been removed in v5.

They only ever worked with `<FirebaseAppProvider suspense={true}>`, and in non-suspense mode they logged a deprecation warning and rendered anyway. If you used them without suspense, you have been seeing that warning.

**If you use either component**, replace it with `useSigninCheck`:

```tsx
// Before
<AuthCheck fallback={<SignInForm />} requiredClaims={{ admin: true }}>
<AdminPage />
</AuthCheck>

// After
const { status, data: signInCheckResult } = useSigninCheck({ requiredClaims: { admin: true } });

if (status === 'loading') return <LoadingSpinner />;

return signInCheckResult.signedIn && signInCheckResult.hasRequiredClaims ? <AdminPage /> : <SignInForm />;
```

`useSigninCheck` also gives you the failed-claim details through `signInCheckResult.errors`, which the components never exposed, and it works in both suspense and non-suspense mode.

The exported `AuthCheckProps` and `ClaimsCheckProps` types are gone with them. **`ClaimCheckErrors` remains**, since it is part of the `useSigninCheck` result shape.

## Error handling behavior change

Previously, errors from any reactfire hook were thrown unconditionally, making `status: 'error'` unreachable in practice. In v5, error handling depends on the mode:
Expand Down
Loading
Loading