Merge dev into docs_email-docs

This commit is contained in:
Konsti Wohlwend 2025-08-21 04:31:52 -07:00 committed by GitHub
commit cbb70157b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
48 changed files with 217 additions and 30 deletions

View File

@ -1,5 +1,13 @@
# @stackframe/stack-backend
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack-shared@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/stack-backend",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"scripts": {
"clean": "rimraf src/generated && rimraf .next && rimraf node_modules",

View File

@ -0,0 +1,23 @@
-- Grant team_admin permission to all users in the "internal" project for all teams they belong to
INSERT INTO "TeamMemberDirectPermission" ("id", "tenancyId", "projectUserId", "teamId", "permissionId", "createdAt", "updatedAt")
SELECT DISTINCT
gen_random_uuid() AS "id",
tm."tenancyId",
tm."projectUserId",
tm."teamId",
'team_admin' AS "permissionId",
CURRENT_TIMESTAMP AS "createdAt",
CURRENT_TIMESTAMP AS "updatedAt"
FROM "TeamMember" tm
INNER JOIN "ProjectUser" pu ON tm."tenancyId" = pu."tenancyId" AND tm."projectUserId" = pu."projectUserId"
INNER JOIN "Tenancy" t ON pu."tenancyId" = t."id"
WHERE t."projectId" = 'internal'
AND NOT EXISTS (
-- Don't create duplicate permissions
SELECT 1
FROM "TeamMemberDirectPermission" existing
WHERE existing."tenancyId" = tm."tenancyId"
AND existing."projectUserId" = tm."projectUserId"
AND existing."teamId" = tm."teamId"
AND existing."permissionId" = 'team_admin'
);

View File

@ -146,7 +146,7 @@ async function seed() {
},
}
}
})
});
await updatePermissionDefinition(
globalPrismaClient,
@ -173,13 +173,12 @@ async function seed() {
data: {
id: "team_admin",
description: "2",
contained_permission_ids: ["$read_members", "$update_team"],
contained_permission_ids: ["$read_members", "$remove_members", "$update_team"],
}
}
);
const internalTeam = await internalPrisma.team.findUnique({
where: {
tenancyId_teamId: {

View File

@ -1,5 +1,15 @@
# @stackframe/stack-dashboard
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack-shared@2.8.33
- @stackframe/stack-ui@2.8.33
- @stackframe/stack@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/stack-dashboard",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"scripts": {
"clean": "rimraf .next && rimraf node_modules",

View File

@ -10,7 +10,7 @@ import { strictEmailSchema, yupObject } from "@stackframe/stack-shared/dist/sche
import { groupBy } from "@stackframe/stack-shared/dist/utils/arrays";
import { wait } from "@stackframe/stack-shared/dist/utils/promises";
import { stringCompare } from "@stackframe/stack-shared/dist/utils/strings";
import { Button, Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, toast, Typography } from "@stackframe/stack-ui";
import { Button, Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, Typography, toast } from "@stackframe/stack-ui";
import { UserPlus } from "lucide-react";
import { Suspense, useEffect, useMemo, useState } from "react";
import * as yup from "yup";
@ -122,10 +122,13 @@ function TeamAddUserDialog(props: {
}) {
const users = props.team.useUsers();
const { quantity } = props.team.useItem("dashboard_admins");
const router = useRouter();
const onSubmit = async (values: yup.InferType<typeof inviteFormSchema>) => {
if (users.length + 1 > quantity) {
toast({ variant: "destructive", title: "You have reached the maximum number of dashboard admins. Please upgrade your plan to add more admins." });
alert("You have reached the maximum number of dashboard admins. Please upgrade your plan to add more admins.");
const checkoutUrl = await props.team.createCheckoutUrl("team");
window.open(checkoutUrl, "_blank", "noopener");
return "prevent-close-and-prevent-reset";
}
await props.onSubmit(values.email);

View File

@ -65,7 +65,7 @@ export default function RootLayout({
}
return (
<html suppressHydrationWarning lang="en" className={`${GeistSans.variable} ${GeistMono.variable}`} style={{ contain: 'paint' }}>
<html suppressHydrationWarning lang="en" className={`${GeistSans.variable} ${GeistMono.variable}`}>
<head>
<link rel="preconnect" href="https://fonts.gstatic.com" />
<StyleLink href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded&display=block" />

View File

@ -1,5 +1,11 @@
# @stackframe/dev-launchpad
## 2.8.33
### Patch Changes
- Various changes
## 2.8.32
## 2.8.31

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/dev-launchpad",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"scripts": {
"dev": "serve -p 8100 -s public",

View File

@ -1,5 +1,14 @@
# @stackframe/e2e-tests
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack-shared@2.8.33
- @stackframe/js@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/e2e-tests",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"type": "module",
"scripts": {

View File

@ -1,5 +1,11 @@
# @stackframe/mock-oauth-server
## 2.8.33
### Patch Changes
- Various changes
## 2.8.32
## 2.8.31

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/mock-oauth-server",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"main": "index.js",
"scripts": {

View File

@ -1,5 +1,14 @@
# @stackframe/stack-docs
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack-shared@2.8.33
- @stackframe/stack@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/stack-docs",
"version": "2.8.32",
"version": "2.8.33",
"description": "",
"main": "index.js",
"private": true,

View File

@ -1,5 +1,13 @@
# @stackframe/example-cjs-test
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/example-cjs-test",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"scripts": {
"dev": "next dev --port 8110",

View File

@ -1,5 +1,15 @@
# @stackframe/example-demo-app
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack-shared@2.8.33
- @stackframe/stack-ui@2.8.33
- @stackframe/stack@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/example-demo-app",
"version": "2.8.32",
"version": "2.8.33",
"description": "",
"private": true,
"scripts": {

View File

@ -1,5 +1,15 @@
# @stackframe/docs-examples
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack-shared@2.8.33
- @stackframe/stack-ui@2.8.33
- @stackframe/stack@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/docs-examples",
"version": "2.8.32",
"version": "2.8.33",
"description": "",
"private": true,
"scripts": {

View File

@ -1,5 +1,13 @@
# @stackframe/e-commerce-demo
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/e-commerce-demo",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"scripts": {
"dev": "next dev --port 8111",

View File

@ -1,5 +1,13 @@
# @stackframe/js-example
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/js@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/js-example",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"description": "",
"main": "index.js",

View File

@ -1,5 +1,13 @@
# @stackframe/example-middleware-demo
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/example-middleware-demo",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"scripts": {
"dev": "next dev --port 8112",

View File

@ -1,5 +1,13 @@
# @stackframe/example-partial-prerendering
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/example-partial-prerendering",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"scripts": {
"dev": "next dev --port 8109",

View File

@ -1,5 +1,13 @@
# react-example
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/react@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,7 +1,7 @@
{
"name": "react-example",
"private": true,
"version": "2.8.32",
"version": "2.8.33",
"type": "module",
"scripts": {
"dev": "vite --force --port 8120",

View File

@ -1,5 +1,13 @@
# @stackframe/example-supabase
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/example-supabase",
"version": "2.8.32",
"version": "2.8.33",
"private": true,
"scripts": {
"dev": "next dev --turbo --port 8115",

View File

@ -1,5 +1,13 @@
# @stackframe/init-stack
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack-shared@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/init-stack",
"version": "2.8.32",
"version": "2.8.33",
"description": "The setup wizard for Stack. https://stack-auth.com",
"main": "dist/index.js",
"type": "module",

View File

@ -1,7 +1,7 @@
{
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY",
"name": "@stackframe/js",
"version": "2.8.32",
"version": "2.8.33",
"sideEffects": false,
"main": "./dist/index.js",
"types": "./dist/index.d.ts",

View File

@ -1,7 +1,7 @@
{
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY",
"name": "@stackframe/react",
"version": "2.8.32",
"version": "2.8.33",
"sideEffects": false,
"main": "./dist/index.js",
"types": "./dist/index.d.ts",

View File

@ -1,5 +1,11 @@
# @stackframe/stack-sc
## 2.8.33
### Patch Changes
- Various changes
## 2.8.32
## 2.8.31

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/stack-sc",
"version": "2.8.32",
"version": "2.8.33",
"exports": {
"./force-react-server": {
"types": "./dist/index.react-server.d.ts",

View File

@ -1,5 +1,11 @@
# @stackframe/stack-shared
## 2.8.33
### Patch Changes
- Various changes
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/stack-shared",
"version": "2.8.32",
"version": "2.8.33",
"scripts": {
"build": "rimraf dist && tsup-node",
"typecheck": "tsc --noEmit",

View File

@ -1,5 +1,13 @@
# @stackframe/stack-ui
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack-shared@2.8.33
## 2.8.32
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@stackframe/stack-ui",
"version": "2.8.32",
"version": "2.8.33",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
"sideEffects": false,

View File

@ -1,7 +1,7 @@
{
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY",
"name": "@stackframe/stack",
"version": "2.8.32",
"version": "2.8.33",
"sideEffects": false,
"main": "./dist/index.js",
"types": "./dist/index.d.ts",

View File

@ -1,5 +1,15 @@
# @stackframe/stack
## 2.8.33
### Patch Changes
- Various changes
- Updated dependencies
- @stackframe/stack-shared@2.8.33
- @stackframe/stack-sc@2.8.33
- @stackframe/stack-ui@2.8.33
## 2.8.32
### Patch Changes

View File

@ -11,7 +11,7 @@
"//": "NEXT_LINE_PLATFORM template",
"private": true,
"version": "2.8.32",
"version": "2.8.33",
"sideEffects": false,
"main": "./dist/index.js",
"types": "./dist/index.d.ts",

View File

@ -2,7 +2,7 @@
"//": "THIS FILE IS AUTO-GENERATED FROM TEMPLATE. DO NOT EDIT IT DIRECTLY",
"name": "@stackframe/template",
"private": true,
"version": "2.8.32",
"version": "2.8.33",
"sideEffects": false,
"main": "./dist/index.js",
"types": "./dist/index.d.ts",