Skip to content

Commit e28bc39

Browse files
committed
use pushState for redirects
1 parent e7f44dc commit e28bc39

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

packages/kit/src/runtime/client/renderer.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -335,11 +335,10 @@ export class Renderer {
335335
});
336336
} else {
337337
if (this.router) {
338-
this.router.goto(
339-
new URL(navigation_result.redirect, info.url).href,
340-
{ replaceState: true },
341-
[...chain, info.url.pathname]
342-
);
338+
this.router.goto(new URL(navigation_result.redirect, info.url).href, {}, [
339+
...chain,
340+
info.url.pathname
341+
]);
343342
} else {
344343
location.href = new URL(navigation_result.redirect, location.href).href;
345344
}

packages/kit/test/apps/basics/test/test.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1635,14 +1635,17 @@ test.describe.parallel('searchParams', () => {
16351635
});
16361636

16371637
test.describe.parallel('Redirects', () => {
1638-
test('redirect', async ({ baseURL, page, clicknav }) => {
1638+
test('redirect', async ({ baseURL, page, clicknav, back }) => {
16391639
await page.goto('/redirect');
16401640

16411641
await clicknav('[href="/redirect/a"]');
16421642

16431643
await page.waitForURL('/redirect/c');
16441644
expect(await page.textContent('h1')).toBe('c');
16451645
expect(page.url()).toBe(`${baseURL}/redirect/c`);
1646+
1647+
await back();
1648+
expect(page.url()).toBe(`${baseURL}/redirect`);
16461649
});
16471650

16481651
test('prevents redirect loops', async ({ baseURL, page, javaScriptEnabled }) => {

0 commit comments

Comments
 (0)