1
0
mirror of https://github.com/immich-app/immich.git synced 2025-08-09 23:17:29 +02:00

fix(web): websocket over ipv6 (#11508)

This commit is contained in:
Michel Heusschen
2024-08-01 13:36:31 +02:00
committed by GitHub
parent 2c05ceaf50
commit 1f0f880ecb
3 changed files with 30 additions and 5 deletions

View File

@@ -424,12 +424,12 @@ export const utils = {
createPartner: (accessToken: string, id: string) => createPartner({ id }, { headers: asBearerAuth(accessToken) }),
setAuthCookies: async (context: BrowserContext, accessToken: string) =>
setAuthCookies: async (context: BrowserContext, accessToken: string, domain = '127.0.0.1') =>
await context.addCookies([
{
name: 'immich_access_token',
value: accessToken,
domain: '127.0.0.1',
domain,
path: '/',
expires: 1_742_402_728,
httpOnly: true,
@@ -439,7 +439,7 @@ export const utils = {
{
name: 'immich_auth_type',
value: 'password',
domain: '127.0.0.1',
domain,
path: '/',
expires: 1_742_402_728,
httpOnly: true,
@@ -449,7 +449,7 @@ export const utils = {
{
name: 'immich_is_authenticated',
value: 'true',
domain: '127.0.0.1',
domain,
path: '/',
expires: 1_742_402_728,
httpOnly: false,

View File

@@ -0,0 +1,25 @@
import { LoginResponseDto } from '@immich/sdk';
import { expect, test } from '@playwright/test';
import { utils } from 'src/utils';
test.describe('Websocket', () => {
let admin: LoginResponseDto;
test.beforeAll(async () => {
utils.initSdk();
await utils.resetDatabase();
admin = await utils.adminSetup();
});
test('connects using ipv4', async ({ page, context }) => {
await utils.setAuthCookies(context, admin.accessToken);
await page.goto('http://127.0.0.1:2283/');
await expect(page.locator('#sidebar')).toContainText('Server Online');
});
test('connects using ipv6', async ({ page, context }) => {
await utils.setAuthCookies(context, admin.accessToken, '[::1]');
await page.goto('http://[::1]:2283/');
await expect(page.locator('#sidebar')).toContainText('Server Online');
});
});