Skip to content

Commit 191dbaf

Browse files
Merge branch 'canary' into reafactor/misc-export-typescript-updates
2 parents ac3f837 + aa3377e commit 191dbaf

File tree

11 files changed

+113
-65
lines changed

11 files changed

+113
-65
lines changed

scripts/code-freeze.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ async function getCurrentRules() {
6666
required_approving_review_count:
6767
data.required_pull_request_reviews.required_approving_review_count,
6868
},
69-
restrictions: data.restrictions || {
70-
users: [],
71-
teams: [],
69+
restrictions: {
70+
users: data.restrictions.users?.map((user) => user.login) || [],
71+
teams: data.restrictions.teams?.map((team) => team.slug) || [],
7272
apps: [],
7373
},
7474
}

test/e2e/app-dir/actions/app-action-form-state.test.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,21 @@ createNextDescribe(
5353
return browser.elementByCss('#hydrated').text()
5454
}, 'hydrated')
5555
})
56+
57+
it('should send the action to the provided permalink with form state when JS disabled', async () => {
58+
const browser = await next.browser('/client/form-state/page-2', {
59+
disableJavaScript: true,
60+
})
61+
62+
// Simulate a progressively enhanced form request
63+
await browser.eval(
64+
`document.getElementById('name-input').value = 'test-permalink'`
65+
)
66+
await browser.eval(`document.getElementById('form-state-form').submit()`)
67+
68+
await check(() => {
69+
return browser.elementByCss('#form-state').text()
70+
}, 'initial-state:test-permalink')
71+
})
5672
}
5773
)
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
'use client'
2+
3+
import { experimental_useFormState } from 'react-dom'
4+
import { appendName } from '../actions'
5+
import { useEffect, useState } from 'react'
6+
7+
export default function Page() {
8+
const [state, appendNameFormAction] = experimental_useFormState(
9+
appendName,
10+
'initial-state',
11+
'/client/form-state'
12+
)
13+
14+
const [hydrated, setHydrated] = useState(false)
15+
useEffect(() => {
16+
setHydrated(true)
17+
}, [])
18+
19+
return (
20+
<>
21+
<form id="form-state-form" action={appendNameFormAction}>
22+
<p id="form-state">{state}</p>
23+
<input id="name-input" name="name" />
24+
<button id="submit-form" type="submit">
25+
log
26+
</button>
27+
</form>
28+
{hydrated ? <p id="hydrated">hydrated</p> : null}
29+
</>
30+
)
31+
}

test/e2e/app-dir/actions/app/client/form-state/page.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import { useEffect, useState } from 'react'
77
export default function Page() {
88
const [state, appendNameFormAction] = experimental_useFormState(
99
appendName,
10-
'initial-state'
10+
'initial-state',
11+
'/client/form-state'
1112
)
1213

1314
const [hydrated, setHydrated] = useState(false)

test/e2e/app-dir/set-cookies/app/api/app/edge/route.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export const runtime = 'edge'
22

3-
import cookies from '../../../../cookies'
3+
import cookies from '../../../../cookies.mjs'
44

55
export async function GET() {
66
const headers = new Headers()

test/e2e/app-dir/set-cookies/app/api/app/experimental-edge/route.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export const runtime = 'experimental-edge'
22

3-
import cookies from '../../../../cookies'
3+
import cookies from '../../../../cookies.mjs'
44

55
export async function GET() {
66
const headers = new Headers()

test/e2e/app-dir/set-cookies/app/api/app/node/route.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import cookies from '../../../../cookies'
1+
import cookies from '../../../../cookies.mjs'
22

33
export async function GET() {
44
const headers = new Headers()

test/e2e/app-dir/set-cookies/pages/api/pages/edge.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export const runtime = 'edge'
22

3-
import cookies from '../../../cookies'
3+
import cookies from '../../../cookies.mjs'
44

55
export default async function handler() {
66
const headers = new Headers()

test/e2e/app-dir/set-cookies/pages/api/pages/experimental-edge.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import cookies from '../../../cookies'
1+
import cookies from '../../../cookies.mjs'
22

33
export const runtime = 'edge'
44

test/e2e/app-dir/set-cookies/pages/api/pages/node.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import cookies from '../../../cookies'
1+
import cookies from '../../../cookies.mjs'
22

33
export default async function handler(_req, res) {
44
res.appendHeader('set-cookie', cookies)

test/turbopack-tests-manifest.json

Lines changed: 55 additions & 55 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)