diff --git a/frontend/vue-app/e2e/.auth/user-cc.json b/frontend/vue-app/e2e/.auth/user-cc.json index 019706f..2e6780b 100644 --- a/frontend/vue-app/e2e/.auth/user-cc.json +++ b/frontend/vue-app/e2e/.auth/user-cc.json @@ -2,20 +2,20 @@ "cookies": [ { "name": "refresh_token", - "value": "uCNPqnIUbEDv2aKdtv1Lh-zEZxS5tE0gpk9LmsfHVs4", + "value": "yQZhoeeYUidDfolHE467zNEWguWXzMIinFT1LNLU5yM", "domain": "localhost", "path": "/api/auth", - "expires": 1784492401.030393, + "expires": 1784509278.633774, "httpOnly": true, "secure": true, "sameSite": "Strict" }, { "name": "access_token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZS1jY0B0ZXN0LmNvbSIsInVzZXJfaWQiOiI2MDI3NTUyZS02MDJmLTQ0ZWQtYWNkMS01OTM0MzU3OGY5YTEiLCJ0b2tlbl92ZXJzaW9uIjowLCJleHAiOjE3NzY3MTczMDB9.DtQwu705IbWt94Dt40heWrL7aVvvC3MtKWr3pCrIiDY", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZS1jY0B0ZXN0LmNvbSIsInVzZXJfaWQiOiI4ZmZkYTMyNC01MDE1LTRiYjktODY3Yi1jZjFlNTU1NjBjMzciLCJ0b2tlbl92ZXJzaW9uIjowLCJleHAiOjE3NzY3MzQxNzh9.YvFGLV1bdoRpRb8z5YtO19dpD7vkC0p5XMhGJgSJol8", "domain": "localhost", "path": "/", - "expires": 1776717301.029539, + "expires": 1776734178.633726, "httpOnly": true, "secure": true, "sameSite": "Lax" @@ -27,11 +27,11 @@ "localStorage": [ { "name": "authSyncEvent", - "value": "{\"type\":\"logout\",\"at\":1776716400739}" + "value": "{\"type\":\"logout\",\"at\":1776733278500}" }, { "name": "parentAuth", - "value": "{\"expiresAt\":1776889201330}" + "value": "{\"expiresAt\":1776906078798}" } ] } diff --git a/frontend/vue-app/e2e/.auth/user-delete.json b/frontend/vue-app/e2e/.auth/user-delete.json index 4e159dc..acee641 100644 --- a/frontend/vue-app/e2e/.auth/user-delete.json +++ b/frontend/vue-app/e2e/.auth/user-delete.json @@ -2,20 +2,20 @@ "cookies": [ { "name": "refresh_token", - "value": "dRU7FVos5Nre63rKcSXsiGog4IKVkqtodoMq0OpovGI", + "value": "j90QCKu8d9QvNG-k-m31G5PoxU0yBuz-wyx8NPYCOG8", "domain": "localhost", "path": "/api/auth", - "expires": 1784492401.312877, + "expires": 1784509278.541961, "httpOnly": true, "secure": true, "sameSite": "Strict" }, { "name": "access_token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZS1kZWxldGVAdGVzdC5jb20iLCJ1c2VyX2lkIjoiZWUxMWMzNzYtMzcwZi00YmYyLTg0NGEtYmU4MzI1ZGNjZjc5IiwidG9rZW5fdmVyc2lvbiI6MCwiZXhwIjoxNzc2NzE3MzAxfQ.LyGI4KtvUl7dyukrKSidfW__-EDDXdTrLNhpuYkkp4U", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZS1kZWxldGVAdGVzdC5jb20iLCJ1c2VyX2lkIjoiNzA3ZGYwYmUtOWQxMy00MGVlLWI3M2QtYzYwZmFmNDg2NmU2IiwidG9rZW5fdmVyc2lvbiI6MCwiZXhwIjoxNzc2NzM0MTc4fQ.cEKtxo4zVTd7kBZzfjjI_uxqez32gUxmZYuUa8-RYdc", "domain": "localhost", "path": "/", - "expires": 1776717301.312238, + "expires": 1776734178.541918, "httpOnly": true, "secure": true, "sameSite": "Lax" @@ -27,11 +27,11 @@ "localStorage": [ { "name": "authSyncEvent", - "value": "{\"type\":\"logout\",\"at\":1776716400993}" + "value": "{\"type\":\"logout\",\"at\":1776733278395}" }, { "name": "parentAuth", - "value": "{\"expiresAt\":1776889201788}" + "value": "{\"expiresAt\":1776906078675}" } ] } diff --git a/frontend/vue-app/e2e/.auth/user.json b/frontend/vue-app/e2e/.auth/user.json index d57fabb..f8f5152 100644 --- a/frontend/vue-app/e2e/.auth/user.json +++ b/frontend/vue-app/e2e/.auth/user.json @@ -2,20 +2,20 @@ "cookies": [ { "name": "refresh_token", - "value": "1LfvXeXfo3c9Svs6ZosxyUL4DIhj0IrF3NnIF3PSId8", + "value": "RETiHvb_RUs2-0xb-klx8BwvSwr2TMtz1D-NmB5825Y", "domain": "localhost", "path": "/api/auth", - "expires": 1784507076.922515, + "expires": 1784509276.929905, "httpOnly": true, "secure": true, "sameSite": "Strict" }, { "name": "access_token", - "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZUB0ZXN0LmNvbSIsInVzZXJfaWQiOiJmOTY4MDNhNy00OTQ1LTRlMmMtOTliYy01M2VlODk0MmUxNTYiLCJ0b2tlbl92ZXJzaW9uIjowLCJleHAiOjE3NzY3MzE5NzZ9.zfkdccp4rDbdfkD8m4VsBRwLnTBA7TO2mNHY6LRS8sA", + "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImUyZUB0ZXN0LmNvbSIsInVzZXJfaWQiOiJhNjZmYjdjNy04ZDI5LTRkNjAtYmVjNi0zMmEzODg1MGI1OGIiLCJ0b2tlbl92ZXJzaW9uIjowLCJleHAiOjE3NzY3MzQxNzZ9.WSka-ZbN1ZKbD_Q4UpoP9qfN1i73G51nrx88F2TbbOE", "domain": "localhost", "path": "/", - "expires": 1776731976.922024, + "expires": 1776734176.929863, "httpOnly": true, "secure": true, "sameSite": "Lax" @@ -27,11 +27,11 @@ "localStorage": [ { "name": "authSyncEvent", - "value": "{\"type\":\"logout\",\"at\":1776731076713}" + "value": "{\"type\":\"logout\",\"at\":1776733276784}" }, { "name": "parentAuth", - "value": "{\"expiresAt\":1776903877103}" + "value": "{\"expiresAt\":1776906077058}" } ] } diff --git a/frontend/vue-app/e2e/seed.spec.ts b/frontend/vue-app/e2e/seed.spec.ts index 6cc7068..ef5ce4c 100644 --- a/frontend/vue-app/e2e/seed.spec.ts +++ b/frontend/vue-app/e2e/seed.spec.ts @@ -1,3 +1,7 @@ -export default async function seed(page: any): Promise { - // no-op seed -} +import { test, expect } from '@playwright/test'; + +test.describe('Test group', () => { + test('seed', async ({ page }) => { + // generate code here. + }); +}); diff --git a/frontend/vue-app/src/services/pushSubscription.ts b/frontend/vue-app/src/services/pushSubscription.ts index ce600c0..7d321fd 100644 --- a/frontend/vue-app/src/services/pushSubscription.ts +++ b/frontend/vue-app/src/services/pushSubscription.ts @@ -179,7 +179,12 @@ export function getPushPermissionState(): NotificationPermission | 'unsupported' export async function isSubscribedToPush(): Promise { if (!('serviceWorker' in navigator) || !('PushManager' in window)) return false try { - const registration = await navigator.serviceWorker.ready + const registration = await Promise.race([ + navigator.serviceWorker.ready, + new Promise((_, reject) => + setTimeout(() => reject(new Error('SW ready timeout')), 3_000), + ), + ]) const subscription = await registration.pushManager.getSubscription() return subscription !== null } catch {