mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-04 21:04:37 +08:00
<!--
Make sure you've read the CONTRIBUTING.md guidelines:
https://github.com/stack-auth/stack-auth/blob/dev/CONTRIBUTING.md
-->
<!-- ELLIPSIS_HIDDEN -->
----
> [!IMPORTANT]
> Add Convex integration with new auth helpers, update access token
handling, and include documentation, examples, and tests for the new
features.
>
> - **Features**:
> - Add Convex integration with new auth helpers for Convex clients and
HTTP in `client-app-impl.ts` and `server-app-impl.ts`.
> - Support for Convex context in user APIs and partial user retrieval.
> - Access tokens now include `is_anonymous` for better anonymous
handling in `tokens.tsx`.
> - **Documentation**:
> - Add Convex integration guide in `docs/templates/others/convex.mdx`.
> - Update docs navigation in `docs/docs-platform.yml` and
`docs/templates/meta.json`.
> - **Examples**:
> - Add Convex + Next.js example app in `examples/convex` with auth
wiring, functions, schema, and UI.
> - **Tests**:
> - Add E2E tests for Convex auth flows in `convex.test.ts`.
> - Update JWT payload checks in `backend-helpers.ts` and
`anonymous-comprehensive.test.ts`.
> - **Chores**:
> - Add Convex dependencies in `package.json` files.
> - Update CI steps for example environments in `e2e-api-tests.yaml` and
`e2e-source-of-truth-api-tests.yaml`.
>
> <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 aa0983a8b7. You can
[customize](https://app.ellipsis.dev/stack-auth/settings/summaries) this
summary. It will automatically update as commits are pushed.</sup>
----
<!-- ELLIPSIS_HIDDEN -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Convex integration: auth helpers for Convex clients/HTTP, Convex-aware
user APIs, and partial-user retrieval (token/convex).
- Access tokens now surface is_anonymous for clearer anonymous handling.
- **Documentation**
- Added Convex integration guide and nav entries.
- **Examples**
- New Convex + Next.js example app with auth wiring, backend functions,
schema, and UI.
- **Tests**
- Added E2E tests covering Convex auth flows and JWT payload checks.
- **Chores**
- Added Convex deps, CI env steps, and workspace/test config updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
293 lines
8.5 KiB
YAML
293 lines
8.5 KiB
YAML
# Platform-specific content filtering configuration
|
|
# Explicit page-by-page listing approach
|
|
#
|
|
# NOTE: Changes to this file automatically update the smart platform navigation system.
|
|
# The src/lib/platform-navigation.ts file is auto-generated from this data during build.
|
|
|
|
pages:
|
|
# Root pages
|
|
- path: overview.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: faq.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
# SDK Reference
|
|
- path: sdk/index.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
# Components
|
|
- path: components/index.mdx
|
|
platforms: ["next", "react"] # Only React-like platforms
|
|
|
|
# Getting Started
|
|
- path: getting-started/setup.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: getting-started/components.mdx
|
|
platforms: ["next", "react"] # Only React-like platforms
|
|
|
|
- path: getting-started/users.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: getting-started/example-pages.mdx
|
|
platforms: ["js"] # Only vanilla JS
|
|
|
|
# Auth Providers - Available for all platforms since OAuth is universal
|
|
- path: concepts/auth-providers/index.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/github.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/google.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/facebook.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/microsoft.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/spotify.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/discord.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/gitlab.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/apple.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/bitbucket.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/linkedin.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/auth-providers/x-twitter.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
# Advanced auth methods - More frontend-focused
|
|
- path: getting-started/auth-providers/passkey.mdx
|
|
platforms: ["next", "react", "js"] # No Python (frontend feature)
|
|
|
|
- path: getting-started/auth-providers/two-factor-auth.mdx
|
|
platforms: ["next", "react", "js"] # No Python (frontend feature)
|
|
|
|
- path: getting-started/production.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
# Concepts
|
|
- path: concepts/stack-app.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: concepts/custom-user-data.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: concepts/user-onboarding.mdx
|
|
platforms: ["next", "react"] # No JS or Python
|
|
|
|
- path: concepts/oauth.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: concepts/orgs-and-teams.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: concepts/team-selection.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: concepts/permissions.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: concepts/api-keys.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: concepts/webhooks.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: concepts/backend-integration.mdx
|
|
platforms: ["next", "react", "js", "python"]
|
|
|
|
- path: concepts/emails.mdx
|
|
platforms: ["next", "react", "js"] # No Python (server-side email functionality)
|
|
|
|
# Components (React-like only)
|
|
- path: components/overview.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/user-button.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/selected-team-switcher.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/account-settings.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/sign-in.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/sign-up.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/credential-sign-in.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/credential-sign-up.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/magic-link-sign-in.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/forgot-password.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/password-reset.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/oauth-button.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/oauth-button-group.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/stack-handler.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/stack-provider.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: components/stack-theme.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
# Customization (React-like only)
|
|
- path: customization/dark-mode.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: customization/custom-styles.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: customization/internationalization.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: customization/custom-pages.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: customization/page-examples/index.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: customization/page-examples/sign-in.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: customization/page-examples/sign-up.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: customization/page-examples/forgot-password.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
- path: customization/page-examples/password-reset.mdx
|
|
platforms: ["next", "react"]
|
|
|
|
# SDK Reference
|
|
- path: sdk/overview.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/overview-new.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/objects/stack-app.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/objects/stack-app-test.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/api-key.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/connected-account.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/contact-channel.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/project.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/team.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/team-permission.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/team-profile.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/team-user.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/user.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: sdk/types/email.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
# SDK Hooks (React-like only)
|
|
- path: sdk/hooks/use-stack-app.mdx
|
|
platforms: ["next", "react"] # No JS or Python
|
|
|
|
- path: sdk/hooks/use-user.mdx
|
|
platforms: ["next", "react"] # No JS or Python
|
|
|
|
# Snippets (utility files - exclude from Python)
|
|
- path: snippets/always-tab-codeblock.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: snippets/big-divider.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: snippets/divider.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: snippets/get-user-or-parameter.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: snippets/make-full-page.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: snippets/stack-app-constructor-options-after-ssk.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: snippets/stack-app-constructor-options-before-ssk.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: snippets/use-on-server-callout.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
# Others
|
|
- path: others/self-host.mdx
|
|
platforms: ["next", "react", "js", "python"] # All platforms
|
|
|
|
- path: others/supabase.mdx
|
|
platforms: ["next"] # Next only
|
|
|
|
- path: others/convex.mdx
|
|
platforms: ["next", "react", "js"] # No Python
|
|
|
|
- path: others/cli-authentication.mdx
|
|
platforms: ["python"] # Python only
|
|
|
|
# Python-specific content from templates-python/
|
|
# Authentication section
|
|
|
|
- path: concepts/user-authentication.mdx
|
|
platforms: ["python"] # python only
|
|
|
|
- path: concepts/teams-management.mdx
|
|
platforms: ["python"] # python only
|
|
|
|
|
|
|