### Issues
<img width="937" alt="Screenshot 2568-04-18 at 00 45 30"
src="https://github.com/user-attachments/assets/6a94ceb6-d83f-489d-8ee5-26cbf7a7d287"
/>
<img width="937" alt="Screenshot 2568-04-18 at 00 46 40"
src="https://github.com/user-attachments/assets/0b12a962-f8c9-4009-bed6-62ae16778ee7"
/>
<!--
Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
-->
<!-- ELLIPSIS_HIDDEN -->
----
> [!IMPORTANT]
> Add methods for handling project permissions and update existing
methods to support both team and project permissions.
>
> - **Behavior**:
> - Add `grantProjectPermission` and `revokeProjectPermission` methods
to `StackServerInterface` for handling project permissions.
> - Update `grantPermission` and `revokePermission` methods in
`_StackServerAppImplIncomplete` to handle both team and project
permissions.
> - **Methods**:
> - Add `grantServerProjectPermission()` and
`revokeServerProjectPermission()` in `serverInterface.ts`.
> - Modify `grantPermission()` and `revokePermission()` in
`server-app-impl.ts` to support project permissions.
> - **Misc**:
> - Update `operationIDs` in `index.ts` to include project permission
endpoints.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for c3f61d1b46. It will automatically
update as commits are pushed.</sup>
<!-- ELLIPSIS_HIDDEN -->
Init API Keys docs updates.
<!-- ELLIPSIS_HIDDEN -->
----
> [!IMPORTANT]
> Add documentation and API handlers for creating and managing user and
team API keys.
>
> - **API Handlers**:
> - Updated `createApiKeyHandlers` in `handlers.tsx` to include metadata
for API key creation and validation.
> - `create` and `check` handlers now have descriptions, summaries, and
tags for API keys.
> - **Documentation**:
> - Added `api-keys.mdx` to explain API key creation, management, and
usage for users and teams.
> - Updated `docs-template.yml` to include API Keys in the navigation.
> - Added `sdk/types/api-key.mdx` for detailed API key type definitions
and usage.
> - Updated `sdk/types/team.mdx` and `sdk/types/user.mdx` to include API
key functions for teams and users.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 369b06e7a4. You can
[customize](https://app.ellipsis.dev/stack-auth/settings/summaries) this
summary. It will automatically update as commits are pushed.</sup>
<!-- ELLIPSIS_HIDDEN -->
---------
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
<!--
Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
-->
<!-- ELLIPSIS_HIDDEN -->
----
> [!IMPORTANT]
> Fix error on teams page by checking project config and improve display
name handling in `team-member-list-section.tsx`.
>
> - **Behavior**:
> - In `team-api-keys-section.tsx`, add `useStackApp` to check
`project.config.allowTeamApiKeys` before rendering API keys section.
> - In `team-member-list-section.tsx`, display "No display name set"
when `teamProfile.displayName` is not available.
> - **Permissions**:
> - Modify `TeamApiKeysSection` to return `null` if
`manageApiKeysPermission` is false or `teamApiKeysEnabled` is false.
> - **UI**:
> - Update `MemberListSectionInner` to show italicized, muted text when
display name is missing.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for ad84a474e8. You can
[customize](https://app.ellipsis.dev/stack-auth/settings/summaries) this
summary. It will automatically update as commits are pushed.</sup>
<!-- ELLIPSIS_HIDDEN -->
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
This PR addresses the issue where the /handler/forgot-password page
should not be accessible when password authentication is disabled.
Additionally, it improves the redirection behavior when a user is
already logged in.
### Changes:
Added a redirection check in the useEffect hook to ensure that logged-in
users are redirected to the appropriate page instead of staying on the
forgot-password page.
### Fixes:
Closes#292
### Test:
[Screencast from 2025-03-20
22-18-36.webm](https://github.com/user-attachments/assets/d626ba95-9d7f-46e6-b232-0320b171d130)
<!-- ELLIPSIS_HIDDEN -->
----
> [!IMPORTANT]
> Redirects logged-in users from `ForgotPassword` page and prevents
access when password authentication is disabled.
>
> - **Behavior**:
> - Redirects logged-in users from `ForgotPassword` page using
`useEffect` in `forgot-password.tsx`.
> - Prevents access to `ForgotPassword` when password authentication is
disabled.
> - **Functions**:
> - Adds `useEffect` hook in `ForgotPassword` to handle redirection.
> - **Fixes**:
> - Closes issue #292.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 9c93cb4078. It will automatically
update as commits are pushed.</sup>
<!-- ELLIPSIS_HIDDEN -->
---------
Co-authored-by: Zai Shi <zaishi00@outlook.com>
<!--
Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
-->
<!-- ELLIPSIS_HIDDEN -->
----
> [!IMPORTANT]
> Refactor permission handling by renaming functions and updating
references, enhance config handling, and improve domain sorting logic.
>
> - **Permissions**:
> - Rename `teamSystemPermissionStringToDBType` to
`systemPermissionStringToDBType` and
`teamDBTypeToSystemPermissionString` to `systemPermissionDBTypeToString`
in `permissions.tsx`.
> - Update all references to these functions in `crud.tsx`,
`team-memberships/crud.tsx`, `config.tsx`, and `projects.tsx`.
> - **Config Handling**:
> - Add `systemPermissionDBTypeToString` import in `config.tsx`.
> - Update `getEnvironmentConfigOverride` to include more detailed error
logging.
> - **Miscellaneous**:
> - Change domain sorting logic in `projects.tsx` from date-based to
string-based comparison.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 8d0a70429b. It will automatically
update as commits are pushed.</sup>
<!-- ELLIPSIS_HIDDEN -->

<!-- ELLIPSIS_HIDDEN -->
----
> [!IMPORTANT]
> Reworked Stack Auth demo with UI enhancements and code refactoring for
improved user experience and maintainability.
>
> - **UI Enhancements**:
> - Updated `global.css` to change background colors for light and dark
themes.
> - Added `Image` components in `page-client.tsx` and `header.tsx` for
visual elements.
> - Refactored `page-client.tsx` to use `Card`, `CardContent`,
`CardFooter`, and `CardHeader` for user information display.
> - **Code Refactoring**:
> - Removed `stack-scope` class from `SelectTrigger` in `select.tsx`.
> - Updated button layout and text in `page-client.tsx` for
sign-in/sign-up and user information.
> - Enhanced header layout in `header.tsx` with logo and theme toggle
improvements.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for c7a9f30371. It will automatically
update as commits are pushed.</sup>
<!-- ELLIPSIS_HIDDEN -->
<!-- ELLIPSIS_HIDDEN -->
> [!IMPORTANT]
> Adds `stack-scope` class to component variants across multiple files
for consistent styling.
>
> - **Styling Update**:
> - Adds `stack-scope` class to `alertVariants` in `alert.tsx`.
> - Adds `stack-scope` class to `badgeVariants` in `badge.tsx`.
> - Adds `stack-scope` class to `buttonVariants` in `button.tsx`.
> - Adds `stack-scope` class to `labelVariants` in `label.tsx`.
> - Adds `stack-scope` class to `navigationMenuTriggerStyle` in
`navigation-menu.tsx`.
> - Adds `stack-scope` class to `sheetVariants` in `sheet.tsx`.
> - Adds `stack-scope` class to `toastVariants` in `toast.tsx`.
> - Adds `stack-scope` class to `toggleVariants` in `toggle.tsx`.
> - Adds `stack-scope` class to `typographyVariants` in
`typography.tsx`.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for e0b4d17ba9. It will automatically
update as commits are pushed.</sup>
<!-- ELLIPSIS_HIDDEN -->
<!-- ELLIPSIS_HIDDEN -->
> [!IMPORTANT]
> Adds CLI authentication for NodeJS with new error handling and updates
dependencies.
>
> - **CLI Authentication**:
> - Adds `promptCliLogin()` method in `_StackClientAppImplIncomplete` to
handle CLI authentication, returning a refresh token or error.
> - Handles errors `CliAuthError`, `CliAuthExpiredError`, and
`CliAuthUsedError`.
> - **Error Handling**:
> - Adds `CliAuthError`, `CliAuthExpiredError`, and `CliAuthUsedError`
to `known-errors.tsx`.
> - **Dependencies**:
> - Adds `open` to `dependencies` in `package.json`.
>
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 98b0ccd0d2. It will automatically
update as commits are pushed.</sup>
<!-- ELLIPSIS_HIDDEN -->
---------
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>