From 391d9235f1350add7999f701d8228c7942afd244 Mon Sep 17 00:00:00 2001 From: Myx Date: Sat, 11 Apr 2026 16:48:26 +0200 Subject: [PATCH] test: Add playwright main usage test --- .agents/skills/playwright-e2e/SKILL.md | 123 +-- .../playwright-e2e/reference/project-setup.md | 26 +- .gitignore | 4 + e2e/fixtures/base.ts | 4 + e2e/fixtures/multi-client.ts | 202 +++++ e2e/fixtures/test-tone.wav | Bin 0 -> 5760078 bytes e2e/helpers/seed-test-endpoint.ts | 77 ++ e2e/helpers/start-test-server.js | 107 +++ e2e/helpers/webrtc-helpers.ts | 717 ++++++++++++++++++ e2e/pages/chat-messages.page.ts | 143 ++++ e2e/pages/chat-room.page.ts | 390 ++++++++++ e2e/pages/login.page.ts | 29 + e2e/pages/register.page.ts | 45 ++ e2e/pages/server-search.page.ts | 65 ++ e2e/playwright.config.ts | 39 + e2e/tests/chat/chat-message-features.spec.ts | 295 +++++++ e2e/tests/screen-share/screen-share.spec.ts | 396 ++++++++++ e2e/tests/voice/voice-full-journey.spec.ts | 260 +++++++ electron/ipc/system.ts | 22 + electron/preload.ts | 2 + package-lock.json | 64 ++ package.json | 7 +- server/src/db/database.ts | 10 +- .../platform/electron/electron-api.models.ts | 1 + .../shell/native-context-menu.component.ts | 7 +- 25 files changed, 2968 insertions(+), 67 deletions(-) create mode 100644 e2e/fixtures/base.ts create mode 100644 e2e/fixtures/multi-client.ts create mode 100644 e2e/fixtures/test-tone.wav create mode 100644 e2e/helpers/seed-test-endpoint.ts create mode 100644 e2e/helpers/start-test-server.js create mode 100644 e2e/helpers/webrtc-helpers.ts create mode 100644 e2e/pages/chat-messages.page.ts create mode 100644 e2e/pages/chat-room.page.ts create mode 100644 e2e/pages/login.page.ts create mode 100644 e2e/pages/register.page.ts create mode 100644 e2e/pages/server-search.page.ts create mode 100644 e2e/playwright.config.ts create mode 100644 e2e/tests/chat/chat-message-features.spec.ts create mode 100644 e2e/tests/screen-share/screen-share.spec.ts create mode 100644 e2e/tests/voice/voice-full-journey.spec.ts diff --git a/.agents/skills/playwright-e2e/SKILL.md b/.agents/skills/playwright-e2e/SKILL.md index a9c10b6..5bbc233 100644 --- a/.agents/skills/playwright-e2e/SKILL.md +++ b/.agents/skills/playwright-e2e/SKILL.md @@ -31,14 +31,14 @@ If missing, scaffold it. See [reference/project-setup.md](./reference/project-se ## Step 2 — Identify Test Category -| Request | Category | Key Patterns | -|---------|----------|-------------| -| Login, register, invite | **Auth** | Single browser context, form interaction | -| Send message, rooms, chat UI | **Chat** | May need 2 clients for real-time sync | +| Request | Category | Key Patterns | +| ------------------------------- | ---------------- | ---------------------------------------------- | +| Login, register, invite | **Auth** | Single browser context, form interaction | +| Send message, rooms, chat UI | **Chat** | May need 2 clients for real-time sync | | Voice call, mute, deafen, audio | **Voice/WebRTC** | Multi-client, fake media, WebRTC introspection | -| Camera, video tiles | **Video** | Multi-client, fake video, stream validation | -| Screen share | **Screen Share** | Multi-client, display media mocking | -| Settings, themes | **Settings** | Single client, preference persistence | +| Camera, video tiles | **Video** | Multi-client, fake video, stream validation | +| Screen share | **Screen Share** | Multi-client, display media mocking | +| Settings, themes | **Settings** | Single client, preference persistence | For **Voice/WebRTC** and **Multi-client** tests, read [reference/multi-client-webrtc.md](./reference/multi-client-webrtc.md) immediately. @@ -52,17 +52,17 @@ import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ testDir: './tests', - timeout: 60_000, // WebRTC needs longer timeouts + timeout: 60_000, // WebRTC needs longer timeouts expect: { timeout: 10_000 }, retries: process.env.CI ? 2 : 0, - workers: 1, // Sequential — shared server state + workers: 1, // Sequential — shared server state reporter: [['html'], ['list']], use: { baseURL: 'http://localhost:4200', trace: 'on-first-retry', screenshot: 'only-on-failure', video: 'on-first-retry', - permissions: ['microphone', 'camera'], + permissions: ['microphone', 'camera'] }, projects: [ { @@ -72,28 +72,28 @@ export default defineConfig({ launchOptions: { args: [ '--use-fake-device-for-media-stream', - '--use-fake-ui-for-media-stream', + '--use-fake-ui-for-media-stream' // Feed a specific audio file as fake mic input: // '--use-file-for-fake-audio-capture=/path/to/audio.wav', - ], - }, - }, - }, + ] + } + } + } ], webServer: [ { command: 'cd server && npm run dev', port: 3001, reuseExistingServer: !process.env.CI, - timeout: 30_000, + timeout: 30_000 }, { command: 'cd toju-app && npx ng serve', port: 4200, reuseExistingServer: !process.env.CI, - timeout: 60_000, - }, - ], + timeout: 60_000 + } + ] }); ``` @@ -125,14 +125,14 @@ expect(text).toBe('Saved'); ### Anti-Patterns -| ❌ Don't | ✅ Do | Why | -|----------|-------|-----| -| `page.waitForTimeout(3000)` | `await expect(locator).toBeVisible()` | Hard waits are flaky | -| `expect(await el.isVisible())` | `await expect(el).toBeVisible()` | No auto-retry | -| `page.$('.btn')` | `page.getByRole('button')` | Fragile selector | -| `page.click('.submit')` | `page.getByRole('button', {name:'Submit'}).click()` | Not accessible | -| Shared state between tests | `test.beforeEach` for setup | Tests must be independent | -| `try/catch` around assertions | Let Playwright handle retries | Swallows real failures | +| ❌ Don't | ✅ Do | Why | +| ------------------------------ | --------------------------------------------------- | ------------------------- | +| `page.waitForTimeout(3000)` | `await expect(locator).toBeVisible()` | Hard waits are flaky | +| `expect(await el.isVisible())` | `await expect(el).toBeVisible()` | No auto-retry | +| `page.$('.btn')` | `page.getByRole('button')` | Fragile selector | +| `page.click('.submit')` | `page.getByRole('button', {name:'Submit'}).click()` | Not accessible | +| Shared state between tests | `test.beforeEach` for setup | Tests must be independent | +| `try/catch` around assertions | Let Playwright handle retries | Swallows real failures | ### Test Structure @@ -191,14 +191,14 @@ export class LoginPage { **Key pages to model (match `app.routes.ts`):** -| Route | Page Object | Component | -|-------|-------------|-----------| -| `/login` | `LoginPage` | `LoginComponent` | -| `/register` | `RegisterPage` | `RegisterComponent` | -| `/search` | `ServerSearchPage` | `ServerSearchComponent` | -| `/room/:roomId` | `ChatRoomPage` | `ChatRoomComponent` | -| `/settings` | `SettingsPage` | `SettingsComponent` | -| `/invite/:inviteId` | `InvitePage` | `InviteComponent` | +| Route | Page Object | Component | +| ------------------- | ------------------ | ----------------------- | +| `/login` | `LoginPage` | `LoginComponent` | +| `/register` | `RegisterPage` | `RegisterComponent` | +| `/search` | `ServerSearchPage` | `ServerSearchComponent` | +| `/room/:roomId` | `ChatRoomPage` | `ChatRoomComponent` | +| `/settings` | `SettingsPage` | `SettingsComponent` | +| `/invite/:inviteId` | `InvitePage` | `InviteComponent` | ## Step 5 — MetoYou App Architecture Context @@ -206,35 +206,35 @@ The agent writing tests MUST understand these domain boundaries: ### Voice/WebRTC Stack -| Layer | What It Does | Test Relevance | -|-------|-------------|----------------| -| `VoiceConnectionFacade` | High-level voice API (connect/disconnect/mute/deafen) | State signals to assert against | -| `VoiceSessionFacade` | Session lifecycle, workspace layout | UI mode changes | -| `VoiceActivityService` | Speaking detection (RMS threshold 0.015) | `isSpeaking()` signal validation | -| `VoicePlaybackService` | Per-peer GainNode (0–200% volume) | Volume level assertions | -| `PeerConnectionManager` | RTCPeerConnection lifecycle | Connection state introspection | -| `MediaManager` | getUserMedia, mute, gain chain | Track state validation | -| `SignalingManager` | WebSocket per signal URL | Connection establishment | +| Layer | What It Does | Test Relevance | +| ----------------------- | ----------------------------------------------------- | -------------------------------- | +| `VoiceConnectionFacade` | High-level voice API (connect/disconnect/mute/deafen) | State signals to assert against | +| `VoiceSessionFacade` | Session lifecycle, workspace layout | UI mode changes | +| `VoiceActivityService` | Speaking detection (RMS threshold 0.015) | `isSpeaking()` signal validation | +| `VoicePlaybackService` | Per-peer GainNode (0–200% volume) | Volume level assertions | +| `PeerConnectionManager` | RTCPeerConnection lifecycle | Connection state introspection | +| `MediaManager` | getUserMedia, mute, gain chain | Track state validation | +| `SignalingManager` | WebSocket per signal URL | Connection establishment | ### Voice UI Components -| Component | Selector | Contains | -|-----------|----------|----------| -| `VoiceWorkspaceComponent` | `app-voice-workspace` | Stream tiles, layout | -| `VoiceControlsComponent` | `app-voice-controls` | Mute, camera, screen share, hang-up buttons | -| `FloatingVoiceControlsComponent` | `app-floating-voice-controls` | Floating variant of controls | -| `VoiceWorkspaceStreamTileComponent` | `app-voice-workspace-stream-tile` | Per-peer audio/video tile | +| Component | Selector | Contains | +| ----------------------------------- | --------------------------------- | ------------------------------------------- | +| `VoiceWorkspaceComponent` | `app-voice-workspace` | Stream tiles, layout | +| `VoiceControlsComponent` | `app-voice-controls` | Mute, camera, screen share, hang-up buttons | +| `FloatingVoiceControlsComponent` | `app-floating-voice-controls` | Floating variant of controls | +| `VoiceWorkspaceStreamTileComponent` | `app-voice-workspace-stream-tile` | Per-peer audio/video tile | ### Voice UI Icons (Lucide) -| Icon | Meaning | -|------|---------| -| `lucideMic` / `lucideMicOff` | Mute toggle | -| `lucideVideo` / `lucideVideoOff` | Camera toggle | -| `lucideMonitor` / `lucideMonitorOff` | Screen share toggle | -| `lucidePhoneOff` | Hang up / disconnect | -| `lucideHeadphones` | Deafen state | -| `lucideVolume2` / `lucideVolumeX` | Volume indicator | +| Icon | Meaning | +| ------------------------------------ | -------------------- | +| `lucideMic` / `lucideMicOff` | Mute toggle | +| `lucideVideo` / `lucideVideoOff` | Camera toggle | +| `lucideMonitor` / `lucideMonitorOff` | Screen share toggle | +| `lucidePhoneOff` | Hang up / disconnect | +| `lucideHeadphones` | Deafen state | +| `lucideVolume2` / `lucideVolumeX` | Volume indicator | ### Server & Signaling @@ -256,6 +256,7 @@ After generating any test: ``` If the test involves WebRTC, always verify: + - Fake media flags are set in config - Timeouts are sufficient (60s+ for connection establishment) - `workers: 1` if tests share server state @@ -276,7 +277,7 @@ npx playwright codegen http://localhost:4200 # Record test ## Reference Files -| File | When to Read | -|------|-------------| +| File | When to Read | +| ---------------------------------------------------------------------- | ------------------------------------------------------------------ | | [reference/multi-client-webrtc.md](./reference/multi-client-webrtc.md) | Voice/video/WebRTC tests, multi-browser contexts, audio validation | -| [reference/project-setup.md](./reference/project-setup.md) | First-time scaffold, dependency installation, config creation | +| [reference/project-setup.md](./reference/project-setup.md) | First-time scaffold, dependency installation, config creation | diff --git a/.agents/skills/playwright-e2e/reference/project-setup.md b/.agents/skills/playwright-e2e/reference/project-setup.md index 92f2fe0..7e4c701 100644 --- a/.agents/skills/playwright-e2e/reference/project-setup.md +++ b/.agents/skills/playwright-e2e/reference/project-setup.md @@ -97,7 +97,31 @@ Create `e2e/fixtures/multi-client.ts` — see [multi-client-webrtc.md](./multi-c Create `e2e/helpers/webrtc-helpers.ts` — see [multi-client-webrtc.md](./multi-client-webrtc.md) for helper functions. -### 7. Add npm Scripts +### 7. Create Isolated Test Server Launcher + +The app requires a signal server. Tests use an isolated instance with its own temporary database so test data never pollutes the dev environment. + +Create `e2e/helpers/start-test-server.js` — a Node.js script that: +1. Creates a temp directory under the OS tmpdir +2. Writes a `data/variables.json` with `serverPort: 3099`, `serverProtocol: "http"` +3. Spawns `ts-node server/src/index.ts` with `cwd` set to the temp dir +4. Cleans up the temp dir on exit + +The server's `getRuntimeBaseDir()` returns `process.cwd()`, so setting cwd to the temp dir makes the database go to `/data/metoyou.sqlite`. Module resolution (`require`/`import`) uses `__dirname`, so server source and `node_modules` resolve correctly from the real `server/` directory. + +Playwright's `webServer` config calls this script and waits for port 3099 to be ready. + +### 8. Create Test Endpoint Seeder + +The Angular app reads signal endpoints from `localStorage['metoyou_server_endpoints']`. By default it falls back to production URLs in `environment.ts`. For tests, seed localStorage with a single endpoint pointing at `http://localhost:3099`. + +Create `e2e/helpers/seed-test-endpoint.ts` — called automatically by the multi-client fixture after creating each browser context. The flow is: +1. Navigate to `/` (establishes the origin for localStorage) +2. Set `metoyou_server_endpoints` to `[{ id: 'e2e-test-server', url: 'http://localhost:3099', ... }]` +3. Set `metoyou_removed_default_server_keys` to suppress production endpoints +4. Reload the page so the app picks up the test endpoint + +### 9. Add npm Scripts Add to root `package.json`: diff --git a/.gitignore b/.gitignore index 1df3392..4171d5c 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,10 @@ testem.log /typings __screenshots__/ +# Playwright +test-results/ +e2e/playwright-report/ + # System files .DS_Store Thumbs.db diff --git a/e2e/fixtures/base.ts b/e2e/fixtures/base.ts new file mode 100644 index 0000000..afa0492 --- /dev/null +++ b/e2e/fixtures/base.ts @@ -0,0 +1,4 @@ +import { test as base } from '@playwright/test'; + +export const test = base; +export { expect } from '@playwright/test'; diff --git a/e2e/fixtures/multi-client.ts b/e2e/fixtures/multi-client.ts new file mode 100644 index 0000000..f093231 --- /dev/null +++ b/e2e/fixtures/multi-client.ts @@ -0,0 +1,202 @@ +import { + test as base, + chromium, + type Page, + type BrowserContext, + type Browser +} from '@playwright/test'; +import { spawn, type ChildProcess } from 'node:child_process'; +import { once } from 'node:events'; +import { createServer } from 'node:net'; +import { join } from 'node:path'; +import { installTestServerEndpoint } from '../helpers/seed-test-endpoint'; + +export interface Client { + page: Page; + context: BrowserContext; +} + +interface TestServerHandle { + port: number; + url: string; + stop: () => Promise; +} + +interface MultiClientFixture { + createClient: () => Promise; + testServer: TestServerHandle; +} + +const FAKE_AUDIO_FILE = join(__dirname, 'test-tone.wav'); +const CHROMIUM_FAKE_MEDIA_ARGS = [ + '--use-fake-device-for-media-stream', + '--use-fake-ui-for-media-stream', + `--use-file-for-fake-audio-capture=${FAKE_AUDIO_FILE}` +]; +const E2E_DIR = join(__dirname, '..'); +const START_SERVER_SCRIPT = join(E2E_DIR, 'helpers', 'start-test-server.js'); + +export const test = base.extend({ + testServer: async ({ playwright: _playwright }, use: (testServer: TestServerHandle) => Promise) => { + const testServer = await startTestServer(); + + await use(testServer); + await testServer.stop(); + }, + + createClient: async ({ testServer }, use) => { + const browsers: Browser[] = []; + const clients: Client[] = []; + const factory = async (): Promise => { + // Launch a dedicated browser per client so each gets its own fake + // audio device - shared browsers can starve the first context's + // audio capture under load. + const browser = await chromium.launch({ args: CHROMIUM_FAKE_MEDIA_ARGS }); + + browsers.push(browser); + + const context = await browser.newContext({ + permissions: ['microphone', 'camera'], + baseURL: 'http://localhost:4200' + }); + + await installTestServerEndpoint(context, testServer.port); + + const page = await context.newPage(); + + clients.push({ page, context }); + return { page, context }; + }; + + await use(factory); + + for (const client of clients) { + await client.context.close(); + } + + for (const browser of browsers) { + await browser.close(); + } + } +}); + +export { expect } from '@playwright/test'; + +async function startTestServer(retries = 3): Promise { + for (let attempt = 1; attempt <= retries; attempt++) { + const port = await allocatePort(); + const child = spawn(process.execPath, [START_SERVER_SCRIPT], { + cwd: E2E_DIR, + env: { + ...process.env, + TEST_SERVER_PORT: String(port) + }, + stdio: 'pipe' + }); + + child.stdout?.on('data', (chunk: Buffer | string) => { + process.stdout.write(chunk.toString()); + }); + + child.stderr?.on('data', (chunk: Buffer | string) => { + process.stderr.write(chunk.toString()); + }); + + try { + await waitForServerReady(port, child); + } catch (error) { + await stopServer(child); + + if (attempt < retries) { + console.log(`[E2E Server] Attempt ${attempt} failed, retrying...`); + continue; + } + + throw error; + } + + return { + port, + url: `http://localhost:${port}`, + stop: async () => { + await stopServer(child); + } + }; + } + + throw new Error('startTestServer: unreachable'); +} + +async function allocatePort(): Promise { + return new Promise((resolve, reject) => { + const probe = createServer(); + + probe.once('error', reject); + probe.listen(0, '127.0.0.1', () => { + const address = probe.address(); + + if (!address || typeof address === 'string') { + probe.close(); + reject(new Error('Failed to resolve an ephemeral test server port')); + return; + } + + const { port } = address; + + probe.close((error) => { + if (error) { + reject(error); + return; + } + + resolve(port); + }); + }); + }); +} + +async function waitForServerReady(port: number, child: ChildProcess, timeoutMs = 30_000): Promise { + const readyUrl = `http://127.0.0.1:${port}/api/servers?limit=1`; + const deadline = Date.now() + timeoutMs; + + while (Date.now() < deadline) { + if (child.exitCode !== null) { + throw new Error(`Test server exited before becoming ready (exit code ${child.exitCode})`); + } + + try { + const response = await fetch(readyUrl); + + if (response.ok) { + return; + } + } catch { + // Server still starting. + } + + await wait(250); + } + + throw new Error(`Timed out waiting for test server on port ${port}`); +} + +async function stopServer(child: ChildProcess): Promise { + if (child.exitCode !== null) { + return; + } + + child.kill('SIGTERM'); + + const exited = await Promise.race([once(child, 'exit').then(() => true), wait(3_000).then(() => false)]); + + if (!exited && child.exitCode === null) { + child.kill('SIGKILL'); + await once(child, 'exit'); + } +} + +function wait(durationMs: number): Promise { + return new Promise((resolve) => { + setTimeout(resolve, durationMs); + }); +} diff --git a/e2e/fixtures/test-tone.wav b/e2e/fixtures/test-tone.wav new file mode 100644 index 0000000000000000000000000000000000000000..17c47ccae75d86e6658eecbb8c286e8ea5a40d18 GIT binary patch literal 5760078 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

cJ)w5sX9yGL$OFjF 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

)$$?g* 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¥JMEnfYf3?uwklD#}VE3_4a?0~xsf%9~-Un+2ONRpFKA1!L zI3u8sQ_o~EpMXBjYcYMC4N@ORx%}!W<9#NFX$SZjI!S&8miQUg5I;k{>=(sA=7I=E z`9(9i%G?sRn(P6U(!cSIoAAA!v zLKnFia3B1Nt;;T9N=4lVcbUDWhfJ-EYTRFyJbv|3V3dD8*|(SXJPZ5w1I`DWBS{}; z(+&DK%I8-_euksqXD9=HhD`7?)F6Ev11^gbaW_00AHy~IDc~1p13!262L55=#wi`@v!OY1z+EN%AvXlKMDP1y+o{59Ye(N_}U2;G*1j91 zBEM)w$uD|0`Bf83x_N;q#~2U&L3R1tDZf(o{)+M|%CAnF)xfWc{0#qK-Yw>57(o0C z+oJpo$w77Tt7}@Lwvwh!I2rcsLtx*&%D3O^C4SKl!7rK+&R1 z+F#$--TSs@qg!-6?i%Mj=%D)ra3h7HEqratBd7Qbba zb*QbXeY?FEgP9TRRkjD06V-S2!ted)zVlk{8R$Fzi}amW+Ku)U+eg+@mU5QX<{_qe z#`T6Hq>occTSt==jvxQkZ%i7w4}Qlns57|_{*EF)nFsxjwxKzw3*ylCTnd-Zrn48A z&df%8Is5CjHP)+^>XuaVBvZC=x1m6<*H_XdYM<7038#lLf*%CF^B?iKy;Z%>c{1EN zF0Jc1=jRTcqrZ4o=qVKNY*}W%C9KD(lIaF*V*X)O1b_k%CD5YzbYyGs>mfMJd0!kzbVZt30L+L-`fuS7iz1VR3c*PdpKC!=?EC{6W5zuwD44cwWqK zJnB5yGM z`Bl;PRWj75X@> zV){5r-(MZkY|$>$&C(ACKSN!U*?b)Q475K;`PBsdLej@M5xyMKhAPT^oUNpfljd3r zeVndQeVmTacm5J9X@3>*i{83Fs5X9e0Q!T4euj-V@H1%PFYEHqY3)h;qID&|s6)tv zzBAolscC=JA>3S3OIubK(4E)k8kQKxn+pA++16KVrS0qO9T~d6;@LM?fq8}b#s08; zgl&seV=Za#2kHJQAAf>hgch>4)KdB_x&K{SCM@?>hZ-zkv8f@9{iC{Gya!9m6&F$>105BNPz7=vqfNCkuYj z_uSn*b-*ur-nWDFoyUawgga@T)IO?H-}^ze@vBX~5B=iK%j}gyKf@#i&k)_xIUKsqVr_G=t}U5J{jW|9e|gEU$h;+GRiMX_g7A% z^7dD6IqSNvy1sQ!^mO(n`0T{b@B{HPjMMZ3KSQ$^Kf?poQ{ZQ45#wjr2YqK{@vAgV zCv6K|4e&EuGwivEpFv&xYKY`#xW)_zKf_BgegEYXjW+F=-$%zGCXCx zANn}C(8qaE>f-S$0c(oL3E$Ur~PLmHN z{wvC_{*L}2-CxD;{)+OeGj7VSn&342IsQZHTl2D62Q;UT=FvGFo z)wRExVU3sm;GN=E$#=}(PWM;wyT7Vc;`~>oOPs$w_WNoBTbuh&{q2-rDVtyYc^}LJ zKZ7n*N%k}RHU4(WuV$FLS>kdNRnq>nR)^l<{v$D#YH zE{G+4oD0y$$tQgry1%mf>U&@I%ysW~m2vfSe(fmb7%g5B`U)cd4*w`m`PIG7J*1Bl zAN=aX|JWa-`zyM?I?E-ZVJI6NLf23b-bV817+QlyqbE=S_bykB`;x84E@coCU;C>x z-3$5##4ozn^ocpWm|t`O_(ex?$G|T-Aj&T)fM4`mG@kfHmBp{-K!5PuZTo|iU!Blh z)9SSqHMPS@(03jTedm?F1708LJ1>I1b7EBA`3OINFU@bq8TdI|6Lat$UXRP-y0{yD zAII#`s02Nqy&^NZ(l<{`Qi@ucmPqxCUqxe0Ll} znD`km_!+X%a8wWaIGJ2!ZV6jW?&I9NKd7$vgOp$G5+nQedcszzk24DTI1hniP7AKN z3b>)v$9V$!I0n+kd5`pQ=>BS{=|+8=czHh<`M#=2{0y%P7l@x>jU&~`fuCWP`z22T z@iVB4Uu|%Wb+_}}>lM8Fd|&$K2F3(m4|NQ;0KaHCT@d`DKS%jRS6E-Rm9nn`zvy|U zFX=n4<5-kJ`p)N}?OfD%o(p|v%CA~#Q#Av^6GQWZYXiId1wP8JjPTphF87@+a^E>g zJSq-@zBA=lf2Y5Fp=Nb>Tj+T3YQPeB#NWm@(7VvH+x^$}2kHJw`THxi@T){06XjVn3)h^!I!a3I=Lf`q2&=LC1 zBl*gt@7z)9JL^f`IR#ILzH?Q6Ea^L+68eZC@e@aTXUJLfeItckE4Tfb)=8ei}Z04p^u}q{nZ7rgP1F{6^_DvungP> zGvPj1gWLxVa34&R?t_$HQGV49{GtZ%i@u9C%YM=PVt&z4tjP3ccG|1iM?xPbY-wys zH!m>d7|$Al`U?64U3~DXcdSp@cw4leVF?%F+M##QMsx4#dg42#`=t9oVldEA5`D|s-*C%?!F1&7d;JrhAys8WWVTq*)N(6 ze$f^&e$jNi0{o(F`Rpja=w-R@ybSuzDZa<0zVku3@BEtn8AENO75dI!lfH9E>O0Sc zzVqj7MQ$QT_gCZXcklfmY-*^*zB@~f+`EGyc#zlj>5i`)#@w|~XfWtT9NUnz%QHRf{J zcI+1BdOyPe<4ow|Y>VmRsEc1=twCE!Qzx7Z`}QHQZ(rrx@AZ;>`-iY^Pk?y)L+Sf!k$*xUjr4J9Y05$$=K}O`zKZJOER_2=$4MVY zIs9shzki@(uxY4zxU43uxu`v)+o1o*Fvi%`lwb~;b1jr#Ek=FO!{{J4lrwR&ScV

&)ur#NmGFI4&3)Ouk$hj>x&0L~)ib_eNY`iTKG3ewYzrTUK8`+k zf1ok+an#ALp7#&(WqG%Hu)C%^&9&AUc64=Y79SNq7itLW_>R0Ee~E|Tr*Rc*B`fes zxX>?pN%D(Mjq-~oxis!v_gqh!H`!O!uMb=d91Q*tS{9z88Ly@Lt3K#c=sRBmvLAxK zKu?pt^WF7dZFcl`Rsp~0V)sB#lDASZzvzq5$Egl|9BkNolRggRS9weuW~JR|PqBSu zJ!L6pX>A^2nrB>ZIHJFzGw3R5>uBQT{op!#2j({>jqKaM;~3PL?A!nE{&u>*Dk=Lb z%CG8+xnggJ9s15ATn*hJ_dd_(-f_Mj{-i+7VChgGR1iL_$&U*n zGoAta_9{H(SCn5VZ+{gGU(_7Y=IEB_ryBYiWBm+MB|pP<;%9Ji$tV-8Lnn~~E}sE( z8SO)qU!~{=>LzK`wZEeLit?-9aU<|E7>S=@7V$H@34P~lQr}rk`zy+?HW+6Uzo;Ml zqC=&=GiF9W-?>Lj-`NYl_oMqbYq@9SzBA=l^!;Fb_^&i<^uArq`>XfOIdC7ezUcknXSMYRBnb*S9zP!)Sqh`!{6Y9+vj)S+H+k%vOMX`x)XF zT>*a4c-vnkxwP(|-C1xSO!8In>jDMxeQ+Gy2RrB+62Is^)2HVC#r&f4!7n zCcu3#h3wlYzp4XFP7hmYgp2m=6|UR2)BTka_g9l$ZQP|jzk1e5eun138lf`K$5AK0 zD!LCYgZtocxDVDfQU6sCT<1s7N;Cr11;6Md?p|&w`-top)!W)wGc4=P|2CFntL5Nl=^`=uvcn zdy^~0eZW>^r!x+FNBdHnU~OO>V)?>+$mBELZ)|Faul?1JwsbqgEN1GktJ#OR>Cne% z2u;37ABTsZjPk38Os$N6?%S2guYO>gOZP$Qzxu(O@43hGjGOW++8@j!eH_ZKD8Hin zD<$u*BHvd_r0=U{@O?E%H~A*}cD3-Uh@Zg_d?3&S{0tMpFM0<2qA9MAWxwb=*)O^h z{Gw0B_(ccc<=_`>$FGd?i(ZobqLg1#UBg?`bgvS0KN`y%vln#g^e-4>nYF>?=7hH{FTqE8v`hdxd&^l@Hmz>AMc@}r1ixs$)WpgaXocUhC-Q zWTEf;p1ZrJ4(U7Z@Mi~R2gii^gga@T)IO>!t#|8B8t(4V-be&!msD2>Lk6=2si7LnJ@LHD);Y8D5IMfueT zp~x?~0Qxxf;cbi&UjNwTK8{81<0Oek#bMCL+2f@Ait?*?dOuj&o#(zY{XxpFiu%r5 zqWaE{2|w~L@p^teegn70^!;G`_}kUSuOfbioA(DPzxwa{gGzcoIMGqddCEE8mFj-j z@l`Z&!(HK30Zis|Fjfj-U-%iGqZVtwcTOMg&F?*}QrdJFdL3(3A+w0DsA z?R0-d_g887b4>Zwve4|X68Be>U$xNI)RobD$bE1Q@rwp5>f%?qh9$=FrcUOEEEg>+ ztS{S2+1J@SGUu7Tq>rZimrc1bgi1MpBxI3u>*;)!@0F2(ob z5Av;q?ZQ9B^WsFuqtf?PHTb^T4c}LHW`8x_yvlT#^quQK-#Jw~5cNjw+5RqFYclzbf)GboajP*%;*)okRShCdn`QF@6m{fh!UV zrw#tTZiPqU@34kX<#YH%VUe$fT2y7pJIZ7uBQ>~As_b~>x)266kj2hrct zA5_=-LCUWl#iiiiYCY-Wq~Ph$$EnJXC4J{pLZ9pU&Z2j}?@NC?ydSIreufP9mMA~N zS)u1`{0tSZ^NU`AzH_>}k<@qo&_6!VhxDCmYRW<1xd8gkUrT*w%C9b>UFak9D!LEt z}Hj}0Ns_6Slnf`XVzoPpqy1!ET`$4twt5p0xK89=ZQ+Uk3E?gk{_BD=FCkOlX zS?-rS31r{Co$TA+BKvlw^Q)k9gKMn2o#$S!;N1t`S96J@@Om9i{sf*tjP3ccG|1iN7}Yn!f-leXNTXh(%IWp&3)Ou(KE~2&qw)H$UYbPIG?i>p^tNx^l`GG zk8=&YULo*%9RttTXhh!+ZrA2%u7-8t3ZaBx>p*XRrf<3TuijrJ_!#gr91i>tjNAvu zYWjkop{f3%D8FbG>uD?HSI?j@w~R~X4ziuW&(K)*GwhQ544L3(*aCirYg)awqNa8@ zDbzJMI6(PTyz;A5^CVMtvHM^;xetElkMsvAztZ98`(Xc=`ykz4#rB=2+3Eg@?yt6m zssGB4zrsUtGOhx>NG)8fDZjd#{HhN48D0vE^3NxJhVq{Ora!1Geluj7B0LGUV!`HSJHj36!dWx%6**Uq>s~%Tg@5J^XOf) z87Z4zy={G}*uH%U7vkEXchE+31{`x?aLrwWH@k)R!C$yE&JXv&Fca-(c*a8cmD2gu z&HSS3+h29_O_2PeU0k2Ye$n}|Uo;#1qAgJ)Pe;N;yV}mxO+T$iKrs${)wG$-ccTR6f*&y|Cnv*_G9<<&fX0NMqA19Ba{EG6cPCVsTdmVqb|LO@Ymu<^#Wok1s?fJF_ zwl}RCEZ59c%4{9TFu(iGTXexly9^eYZ#LCsk(vMOwEGus?d+YqJ4XO zz8?%ifAFB(AB=oo-L5~VE`F77LZ*7g7Yyn8Ox;558cpH%l|FcXps`<_{HlK7dH*0^ zmUpWMyKB1BTx*?SM_0#Y@lo+}p@y)I?+D*lU*ci-Y56`_N%D(clKi4mWBj5TcdmP` zC(WDetLoPWE(Q(;e+VrL&(Vz6rs-bLH!xH%I*ofxpO`7XI*rz&$*2|ba36Dp-&b31 z@O?GVI19e7ev-eh{#t)~j-x;Ei+<)F=t=TcD&`k`5&WXn!7qvpdyQ)2SGDetzg&Ze`qwq{z^oBwU%$oEx$_`do;{=T{s{lSBw&EXZAx!Q5M*Y)iU z|1eriznZ==kFz9O!`82DJ?tTS7VO&>vlU?9eunJZSHQmgD*R+c`}Q|cBXp6Q0ezgW z*t+ZzrWEPpl(luWW?6Qby{6c{b6)szNEfOUd@S%B`M%mhzOVYY*1-2wYSi}?d?kJt^l>`j!hO4r_!&Cm8Q^EA!jB<-hLb{?X~ph?Q|+}#A7?x1;0dEw>3R-cNSonQa*L6+qJFDmYAmvwocYiQm_*E(UclHjZ27XnzZ?7b- z6k9tkk$rm^=;JK+jPZ8%HSkvqgaQ|W>fl$&E{*$Vcb2D*H_2DUuL~5&_rY;+AMBuS zNbZCCOrM(j7xRnGXE|;(cO3f81Ec!RBJ`cVK@&*dc^;R@ZDO0T-!Km_R)Ug(}r1PH`+VfKC+&+l()1t z4>8R%t~VUkU(p$Lm9>%YtCY}y;FJL6S9O5N>0t$qa4p;cPr*BJ1@Mc~{Z%-okCOm> zoLuPRDChm)Zqgqt<@wdKPTIFO57r2k2~&PGhr7x(Bm4FfNFY}3jGWn!p*@iT2>b*<`>Pjz5;z5b@8jG%>TW=o${+40j2M+ zW}9=!zP+X)3HI%Sw3A@pzB;r`-nSR|+ts$eD(d4Hp^r1mc@FwGpF$sJ#&vxh6A%L{ zegG%oA$TqJ;tu?`{3GBORT{sVFWfJz=G*fQyb}BjPsaEe2H@r3XJ{w+87RL}Gry`D zzoPrAj&k4m3-ck9&v?JFsUbx_P)FYn-Y0!u-D&?-WZ(Y3``gv^ zevtC3=E5%iRo=#L#$$1NaMm#JcZ>m-$MtbfJRhINb@^Gmj~^;HgiP^X2jy3kU&Y)0 zYK7!yIPKl!yLo?*@~ennG`2rjlJ-}WUr~OgPJUJ7XZS<%GrSY!XHe_@YP7TNZT45{ z;#cp7#)i{0oxsmf1N;ov47YkeNcmMs-CwDXUsa5o{@~xYzbf=Iobd<1&(Ov@+_TJm z&h@ZspmUp}ierlC7XI{$E&#u1efZlfVllAGeo>3;7flk6io=Lsbh4|Bo9?e(wN|wq zvb|-m%&cV^v)@a8(Rklqy$Ailw*K0IvO#|^pZFP8NPdQ=jQ4||As74%FM^-pNANQ+ z#LuuA{0!5<&(IK>d~2Z1$CG8*HSja6L?cjL@H0%}?&X%UkH~%oy{(Nk1N;n1dOt|{ zRbT5eY2Tho_U)^6YU5Y!O*ivj(ft(%OKCmyaq8l3r0-mVpA3EHK0*QMJFj(gbF$EP ze$U4Kn<3_)sEoc_%fXwJi?pf{>tE~N12j)D} zm-rdh$$p0O;AV*SGq9wOa{>A|`J|6ip7e39S!zHZXR>K!Oy5~){OU)p7ss=sSdr~VN@d6)X$_V*8T3^ohZfPH%?#?Md({0vIwSHt`%f#!dEe~|94 z;&*@btK@Hw{=O>ox99)I{`Po(KUglx-`?8znqh)|p>C~qyXJa-yBhgbrf-G!kVo%n z;vVg~x&Nvp@vFN0Oy0{6fqi=h?Atdx`jI})=k7tCWN&4;k5lsYSL)(dzv*`vmKevI zI+-7`T(qpPz6^ebb>J7J{Ho;etJ2nIE#u8AO^1z6Lm5LIeM?=mUsRp@t8Kym7jXDX z`|JB?e^84p;Acq2L&4ABBYuWz;Af~V`9)WPU$mP0vU{UPefz7D$FFAJwm+yge)Ybs zh5cNVpJ6}v8Tz14!Ow6BmJ=aZQ2bx|gLHqD=$!1x7dwc#LR;YoKY%aIZ^s$?Tfmm`iG+YqE)P?t(0FqgTmZ0E}1*Xb_Ty_W7#jdOY)0m z62IsP=sWAR6*aZPNziv59C#P{&Ii0c(sy12eP_zA;)P#zjoPU%$^rv23q_)kB> zQ{oYEDDg8)akX`q_MG#qhdvJFSFwHuCGxA;y0`Sb3{Mh2!w&E>bOJxaHt;jB#Lut> z{0!4L%C837b8TwgU-gsy3^(f!Dt~`9&^XhOt>320(_Yo+H5J2kLQe-@3cTSj^fQ!) zKF&1P0p|nGk&Y8$OL3EMyUd%X2N~22DuL! zz|W9~Q;DCUCO-xI46h3ph@WANBh|@)pJA5!B~JqJGi)b*hPQ~Hp@p`lu8iKJKWW%t zoMY-^ZeXGODt`G@hfvdSO-(s%NP9uIPydzSePg;Q$y~}p`PEMJ5qcHfhkoJGI6s@o zhMB?4aeICH6x#tSNHV=9IO+>h7E1UF|vR zuHf$C`oxJH?Hy~y`^EXff9`Kr62FT08NS5BU?*1vdPb27a*?0m(hdBglwZv-ce7A_ zwFym=`#6+esbhad`Bhn0Pv-j3|C<@7Xp9kG4QCqi5j7c+zhT7_Z3^0 zUBZ-ND8HioihHY_N)%Q~eo;I4MMt>=&&W zr2I;0`>S9eKX@>-IlMwMS36Gky1u>PA4ZGmSJOAlN!_ z+jDkof14@K&SyDpGsvD@y)GP?E3aQI~rLO%|$>UeLP^Dn~!1Mk=zAW!n4~9NY8uW3(j;@Z);-li{ zLJeUZ>EqD-)tk_FzUKPYP5ITHm_82WS9weuW~JR|PqBSuJ!L6pX>A^2nrB>ZIHJFz zGw9-lU%hNY#4q|AlScYD-^qQP-;p<_kHe8ZPCoQ;E|5M>Inu|uYN>9a{EG6cF_`YJ zD8Gs?e$|#Q>fu*OF0K1#;%7+mRq^Wr z1(Kg(j%J)TP1ix+&``nXH10D|e&s-?(0Vi(wL~87W9|tqmu<^#Wok1s?fJF_wl}RC zEZ59c%tlsy7lwVPPHH<&SKQH?k8appLm%IAA8+y#%Gu}@eI@yxF( zJ9j%LyV|%*d4Bb*13$x1(#NS0Dic;Czp6?4gBQYwH96YIzWwj)4^n;=&+iAL_wBpQ zUeiOSR>oK5KF*2o<&fI=)f(LnZJy?8SQoAkN(i$xX*)^hB1P=2+gVgBgW5Avi4VM<5&GnPnnVBgk?c7zv%z1KS=ji zI|6in)d>8eM&cK(3VzWyqWq%qyT7XLzcc>!`0-yY5bhUN^X+*DUWo_dC-Hq?orstx z?!ztc0K6OvnDVP-VRiGXPT&`PFv>6bfc2DhHuQ0Ri|XU-gFa3g`V9Iwe?T863_AnL zuPDD#Hoxi;9uUd|zvw#uQSgga1;1#fJ15F7dPeAR8^34;@QYG@6^`jUCqUmh*YdXY zDI0HFXm7~uWIC{vU&YJ*s$}x3h+p(a@QX6UFS;81qSLtxTthS(yamU=Ul2k;bPXLr zE71s47oFoKarbgd+33D=8>`y(S8Cx`-=OiRIl|mLE`j@jZ7%KGkHNmZuk061HI6o9 z=_$Y3cmuzv7W_34zi3a%FFK3&@k62SoC$sB97liBcmB*h(39k?B=?k!MW`h%2TQGQkO_E*a0R}Z*OyJGu;OM~x|@2gJm zeN_X#udW&P7?+yfB=^DHG5dC}>}Oa6euj&L%oX|>rpkWNL+p#t$7v$>adu06oD3u7 zSMkiRE-)#~Mtga(Z@*@#VM&eZ<5ZIRIBMcozZydNiuy$GGo)$;geS^=20QUH%ysW~ zl>xu#*Wec&4SvzSl3(-$oe(U$md>7dFU`2*5-cGx@0edjNvzH?KdJVW-kzaH)dIA-2 z?}A_SOST@nG{!HgP8F$- zqilYa3Vw#$^#>`x`oz)R8It`BqIbXSXXp@a4t|ERI?AtRq8z#Jd_nFzZ{>P%Jo^Sq z_g8d(Mfp{4*Te2h?oFOq-hR^eRUmkQd|zd2@67&ct>!1<7c~SQ2s8n|=tS=-&l%|B zq_{qo`#9>^U;XK4NR|Bz>xrM?D?IcDeVjjT*vBb}?*}QrdIc$)Up;;Y`h$1hf7OvW z&-5jJhIO1Bbw;z%kLWz|#P}Il;%B%({0wU1S3S`^=tuH>HHsCP-po#Wp8HS@@7|!sp|U@oV@AxDT4h zzWqViw~vh4x37}?qBii04tF&Gzv$j5zi1ig<0$9-U=kjJ*J3a3z<-I!HSS{GzMDFPax{_)Gii`?`6jcs962R|D60=Rrpu z$6V1MPJr*L56Jfw-Ct$H_toFUug-CqT;-U3yY7blLCUWvzj}}O8AgL&^s3|+P4L?LfJYbH*QlK296&@M3)&CG)H3@2l?Kw>`!CgKFYeMt3XMOy@aAQ^#jw zX>qzxM)-nH=C9x{a9`XMSH@;yF?ax%Jbv|ovxBQN_(hk2Uo^${IQT_FfeY95aZ1+y zit?+7Uvx{1UzGAI%CA!Jbm-$$<;Rjf&MBdf)W?ZWe)W7YKf_s}=WYB96~WJNl7B(= zi#Bmyajua3qNl+x`k{Y(pbz*(n}us?%4tK|0^L6S*M|3v^!*@xKbS-MIPt)*>Y7aE zG}E#_acOZEg;Cm1|D+?RiLqrE~yYMF*sPdmh=hFC_bR(cZzX zp7(>4Uv1aqNq*7C0?&~?&X%Y?j(YZ2lcM~hTciA<^@OdGUvw1li`w98-voZqhLT_O z3Gj;=h+mZQE2Y05r2J|H_!&w;ABXZQ%CCz0&dTCfGyhNhLCUYx&aa-t_e*3h;ulTF zE3Wg4UUpD^wHNw0>6W@teP_zAD8EVy(f5Pz;Eqz?Sx@@T@x-rgwvYJ@Iw zGr-UA75EvJ#P}I@kv>jq<7;vshw`h!J`UwqYWH7Jex+=F)hGBusHt=xya4yXui!qI zZb~wjvgBD77VG1*<5qJ9^gMbOZI=BE`NYqlr1ygX@_qHc`rFmCzbbkB>OSMG{a5PS zUv&dN!)ni2@H2FAeIolA<_q^peVlC4$59u*D%`h!iHF_5&v5C6eg=&@m-L;JeO3MX zz(uL=JX8 z23=)sf+jiKB{U#7CGeSltM9y*@iz4gcCU8v&KAzO4u{xNJS=n)&hR7o%KUCj`Bl8^ zuOfcYF9W;$1wMxOMYG%oTxG#8`VII+M}c3opX3)kj%O3UXj!Nv=rHA1vwg!z-?@6I zH1wSdG>5gDbzkV;G4wUIG*veLVgA-K(puMc&Nj_nllg&Z#s0)L2gCnoL4=`?lZ}R>deFyF&-+2juNZSfQ#YxPvt8;t-vfQ;Hqdvb z`zr>1>l;ZQruU8?I79DaMm9LKSOKpuws4&Pn2JDA^1ff$M+C2$4GwB zAENxCPl-pwp^kf9ZQZ3k=RE7ZlwT?T{UF_6C8A+y1v&(;J(b9>BKN`mG5hxN z?0lBvMsvr(FFG*FFDeqh=mgY)^qmvAO>8r%?|c;c&i&-RGv!w!9Vf(=;-(w)o#T~X zWkP>&i#|_xO>5Lv($onjhq^)^XNG^3Z@<^;sp;wI{?JAF)eP`6RN==EKf_5OP4Y7Y zJ17P${@C-*@YmrU-1C*eLA28+RE zv=1$gx)0L*)$!offFPQ@iT0V@-uWT*2kgy zt2eqzN`Z&tvSMT1kKS=pi$>F;$ zQqudulE<$Ga{FN4o(7xEJ?IbEw};{Hv{Pi?-ZE<6zBR@#dd*zL+z$HAGY#4LZBpO4 zVz>_UonMms&gG%+JPrEJ4@iAy%CGL;{_11vX-j!|-+mbO?M7+eo zA5;&&dJ6i3LvPU^r2H!47i~uTq9>3*R^V6ALCG(Ag7`&0AbwGYy`z1pO|Ukw4zYY; zK4kJ4>HbRT`zy+?^!$4K2Jws9f$|u^FWN}*i#7tksFChiE4%KtA|#bfL3o6PkveL1Atgm&_exJF|P3#>^tS z)7Hv1!@A3&vpi<*VahZvhWp?NxDV>J|DV0{4v(VR|M2e4_MMqSC<0Lk2$J9h0#ZZ} zq!+JO4ImJz1tFmdqEZBe04ktJlVYbT0fKs^HxW>(LQoQ=;|(B?oY~#kI=lP(?#X1> z1cZD2Deg|rU-xgH`#fa!{eI5-R?^f7{W<=t>)%(sL=N`t?;9^Zyl)@mZS70&>!eGvpJAS6BKR3nm?ny! zK|TAc^#7tiNcmMW<@@TO@_nVQ{Z(n>SM4-CL&Jg@;1}KC{}KG6)x3`v>*J_ze--vK zd;xxjvEXM&m;DSmcpmXHl*dd7Kf_?fFM0v|qW8;w(VCuE;a8{eBK$P$+bh5?Pc62| z`}VEH_U)yQU)2u81^vNGp=`|#?JC`DX0*PWp}x^{i#`tJR~xL1wWB4&yvdYjM8*b& zC-p;_4BZm#I?e9TiQv@$6R09RRjqWM3jQ6Y}s!cmUigDv>WoE3Ssy!yV%*tPxU$9YV4_)85dr&+(koCTrukO_Q!NU9CSlGAcN9^14{l{g$=tS^~ zb_Ks^^$5RcRm(}sT=0vYSNx)sUr~Ogw*8fw_|-z=PQy8Ukg3EZgP$Q)GmQ8dvWQ>Q zM*O1l-QN?xDCJjX;aTB3p_zT7y)^ExD8H)9tp&g6O#UL@1dSzrQGqPW3cxR#iC#kW z!7nH9&tzpCtW`*Qs|rB#8s!3m)>O)UD`DZh$ses$f? za0>hk@A)TzpCKjqu-wPFMEW@D+FzB`1ny9Okn$_auju}2AoHmHABH>6uLO5(cbY3p z)QG7i{0yJtQ8(%1{C1N*j{5dj>gQJpu2ZgM?h&3g-gxqTwL@ANDD2~O)wa|nGMv6Z zf5@=XIF9Vw4;I_EdzF3r`>=1nOkPG7?%Ur~_U*^GZm@5UUVb&#IMCDx{GwYdBW1s6 z0r89WDb~jcFZUz+IP3Yxls?WH=;J(PjsE>r3VVS~FX3mnfIRSDcHPgw5kJF4;%Dd% ze$fiVFIr$uyumL@`PCc3{X*>SuL8bm;1?ZT!Y}Gp{G#gHU%h5G+utMi!4L8CxGCHR z!z*wrt`7IXmm}_jYvlW&74Czh$$jv!(s!o(it?-V(05*0tnYk~^qt!q1}J^!oDkh# z(f!q(*>$@{ds{K!#UXJAueXI#RiSKady94(-rZB6TjLTToszDnFM}@Cz-~IpJ8aRK2CY=U5?|&@IOHxXIMlZ$4>e_CX_U-4CeftRhd+>`6LLY-)^a@jn_(f-eUo=7Xi*6~=$B7PqJLOly0@I~W z{JVS?ysWpmhw`i1I0a9~`*9`cEnDu`Zyxrmh^E>f_FIxeVi-kFu0i0Q4MsIAH^H_*&NGFWbwV_@I@Bf@0gj$z-v8jVH`5am~UG`XRxq>uA} z^f>9`?DVLQUk&h2h3~6l^7qxQi0`Wg_FeM#)fnOzwZa|V2!2t@uX6o#e-+#NE6T5) zK>w@1o${;U;%;YxbGn1>uafQ2yua!w_XqXL_thuh7oB;7U(`e_2F3lNHNh`hOZJOq ziqE-fy05w^zY2n%p|34yn-6}5Wn3ljGn`TU3F=NZ}Bzx=-OXVe#P*V zUtQm~)BRN}@~cF1FVi$*rs0tO5~E|{b;;VcnjWE{!71Pu{mOqF{GtioCyMz+hx`|P zXUebCx4%*szbf3fA5r%0N#GZiWWVUA;1_*~_(hGk@Qbz}eVkn6AY?8d{UG;oa!DU& zG3nztppUak?&GW=eVi(WhxOf=5xQyG#hSID-NA6*Ia>TzlwURARutQ}A0Yeo4uHg|fM$Td+s>a6RW=g>Q1>HT2%`>IEY?<=!(pI^QFD!gxB>p27a z_8zW}lzsa``#ti$eKpy)SHXp3F68i8LlC|$h4 zFKPk5=oiE-uc|YyNE6FFFDIqTRqRdavvkRp0)K)#vLE8~#82!C2d0 z72XH?7V|TBOZXYG_zI_Jl+pEg^_N^uM?KLqA|LPl{A=VK0 z#|!Z(Twi!w@CqaCPWu$c-OlaK!D96CtM^^!#AI>0GtZIY*k|u#|4|qwloj^i4E#7w z#60|$>2W!nj8pL({1Z+RrVCiO?iWoJdFVUOR{G9+NZ)yUa8RhLrlmGXSC;WGzvwp` z)aJjU`>WXAUr~M~p{wW!S{ku$f1B*v|0D0)Yewwb6ZLJFRNZiGhGtP{ZE$xWS91E} z{0)7*y_8>>OZ1(idw)gwm4&RpE8}K34KKr2ZsHehE%%+%yls5d{ET!N`p&Vmzlz+q z8zTG+9f9;#b?9>E!$B6ZddWYwykd?UY~bMR|zwEA{NJ?24aZmqlY~27ZP` z#vO*U`T$drsYm)aYU5XN`Z`Q|T`%nj#m{gC{0s@;7k#mWU(}=cMbF^H@SCg=zKf7K zR_;4*E7o^D?il5~TRbREcXe{ddCqw@dguD+{wki$Vjto*adr54d_GV2R~xKpNyF+W2EZXw6>WBC){XBZygXK)Zd!)vG|@iQdzTe*iL{0ww| z6}$YZpE1L*Ouv)K)fH$B+RB=`p*F#ufsxWI{~F)-Uau#~)6cCgeignC{_5o-{0#FW z{Gu-jm4yTN4cryqkIP^N*jya0i=V=?@b@@DcvZ*~dfR`or#XU-kDQN+0dccyg1fWl zZm->Y#JAo*UwSn#FxVy3Qd3(?`BgOYs~R2$@rzC;e$nQ^TA^~9P>DW{TJ~3g&}GeW z+0T$x!q4!gtv2y9>>+*z7vF~X8GZpjLkRo~vC6L!tjDb5ZIz3CUp-9r?K#L!EC$!m zQF-5RgKDvns)U*+C0e|xm>tFWJ8&~5xzlwaN0AEf+> z@~eF4<4}H8&eczh&HYtrO@zn0e{%CGLs`@z~I z?t{}@9o=O-XFVH~`(R?QEcit!zslz+zuI7BtR10`vkCe*i1cxWl0MEl&2G}iVFFd8 zhe#hsJ?{tA#;?Zd7clE|xAM1BepR?{pDp-=QLt~%Ap3T8?XL0K^d*wcu5^5pe2QM)D z^eYULj9pFlnlGFGjQ$|ySF!wlkn*co=T|v_0_wlQkKq5UKd3H#HB)Tu3c2>V=X=t; zt$hi8opcHI?c1P_Gfy)S`Zy^}6X@fpYkw8?Gjs(%Lv`8DFw4{n`Zy;obD@uOUg_fu z=Z`=iCk>hphtO|et_i`;;3Vnew2SEDP<|C_`zy+?GQcmo!T%%pMXPxqFX0ze7r!d} zzWM_E3}eC1kS_Zfa_~IjXDCm|9EWS+f8oh^H!dR#hQ4!q`yS{!Ux2>z{Yu|iJ^QQD z$gjeFQGf7aC|k2by9)fGqlsVCB>P3xv%ear^aqRXgI`;R{H6Utb-f>?{OV@?LAt++ z?fsQH_!WY`)ePLy>d5={YQhAvZ$D`tB=6gUVrk`9hndgy?-+&{TbYnK$GoV-eehAZ z4;sjQa0fbv-0(Zbhc2RhXc6j*Dxh6_xbOT5N8bb zCi@w-M)(;hzoPtV9r_6gHJ;PZ z$La3+Q0e0=vR9G&IFw(}{nch;?Cr0rx=y*4xkq@~c;kI;Uygr=v@$R!I3bj#>8fq1 zOJq2Gf&P$TrE#38qnWcDv`n!k+p=xLSc!d&^Kt|EeSAE67QGKGw98~!=0ax>y@`OZY|I#r&db;#UU8WV_k^p3qFl!yn@3aZ_9g8{yZd z6<5dY@yqxttPxU$9YV5wjlH2`pW`{FRop5T`WX%v>pRo^)xG>o{vzK5jYYA>uO{f8 zXCBr6!|+%42V-e}MfnxwSK&U6y7<*2;(`dj=*vR9a1i{WUBE9&_g76kChsZmGrZ@Y z1b&8;;KQt1a;Rh4QPprk%z-gT)Zt{Aw=ow@*M{fG68Q$Xq`90sNwrUr~N_ z{XY0P9(9xZ;BPndaVWo{{3?Vfzk1iOQBV05 zB0Q=1MVm$VMJc}$tcz_;*!^q@cZ7R{r~9ku+h4sS`x%U~pP?G*<6Q3#QhrsmZ>Re! z!Cjl|+cjcpiG6!4@~h-PCux9xs_#>8wukXFbB}d}{i11dAE$wRmr&?u7=t^&{oP8+ z)fI81pFtndcODCU=X}z4e#%?VXY=R#k4xJEtAcYw(c{0$b+mJAEwOK}3Hx>(y#ERB z+xyG=_O}JEFcSQtQ;1)5ut@h;15J&K!J^oW&ZC`Z zHcCMzw4Q&AKgm)5)!*sA$|3%C%^mW$$I|;j%CFSQuR8gLdl!2Sx()6QuG!)_XLIK# zjyT6mds+K(p^b12FURS)IgZCB_={%7RdH)P5@%sAP7(esP<}OEOZnBXh`zJESl>Ao z-VaiKRd^qqq4*h&f}i1VgrDI6@iX*=zVlM(JLf>(nbB4%)_11-Dz^MrlwUP~cdUB& zC3D>`8Yc_^zi2!AH{cgN4}Q_wieJ=8`p&PDzVpM-cc$+L-{+(8{onwnP23{y+m966 zw@blG#4q}(j`FK@=tqQ!p8EnzK4hnUJK2DOZEaQ>;IFw&`(64AWnvZ%Q4sGJQ^B1|H+(ouK zyTw+)Hqg4xQUHDDRMRwLrs0tO5~E`(>yowYG(AJZf`2W)D%`jKUVo7CtNpT{;X6K! z_j4Ish%NLpsEc2jh@W8+`ybiQP&2~Mkf?8SQ$GXcSFy#fn)&kr)F3vBe*EAUOM2vQfudQ6{KKQ-Y>#6PO58qekz%M#o@r(W_`$aRrFPcdFqI$T?B;!=#7fli< zziKJ>ozF9SZ`yahz@~G*a$Whacosc{=Ay6B1>}Kc+26yjzQYyCzWoVh-~LdGkbqONnSAQ43a_`)xICFI#t6G?r%Op{7N~9fq^| z08^2vr)#HGAHOQAufw$0_0o<2Kf^-VFBY42w?Cb2WBb5tC0m`o^zxtA`%1*NV zWUXnX{Hg-^a&i&9`=xfq<9>ZP#zS?OCnID4htA)m$ zhI9HLQ;A82@2ga}4^9p)3}lh}ppD!I=garOFPvqZV;xuQ>2`o{9wHj90T+r-u3=Ye1JVKfo^qB+P;R^ZprQSgh7fIdzRKb|kcFX1Y2GuiNcaHZ95 zX>1v3UT!*O^ckuc9@h6@M(Cz#7i-prb_Y)c@+Gr$pI@!-2Pwb$WBozOuPDEYp7(=u z0^xmo7udJg*2OVydEY+B)EN8>TP>rC`5F2a^D}r$_!+YJe}bRkX)c%T$Y$CMw(iys zEGNz7%^gf5jbXp&apsy%uZ!2#)3gco2o4KOmp<|D@?G$<-sYY=$FI7Xs+%vHKeIe- zEo0kYOJUEmX(jH1zoPJe+4cJ%PxkG3WZ(W2?AyzeeS1Fa+j~Xq+v8#1-d58iG&DFR zutbWr_k-8JuPDD#E59n*xBv0}Amvxly}xRKhvLt$9d{B|3zhBj?UfywjtV>o9B z_i?DdJ=}MWPX867&Y7g|O!*b%SJCx;aE92*rE%|b z&-V=Sw)Q3XbTFc!`$4+D62z9`{D{8uOG0Jg0Q8-^Lf^Rz+44l={%W=C zzY5<6!~UzGxA0%7i(eJ_8R-7XEIccGCp5Efw3j}9)k;bX#0CAbUv!m<_g7&*Ln}iS zqeJmCd~F?KV--KcO#UL@1dRnh!%yHZ2!h9;0Q{nv=p|Giox6!&l=3UeuVRN^jqxw? zZS&@N?t*>$OxU+4z`i{P`Z!xk^l|QkK8_aN|AhNE{p3E*Y{4gtf<8_L>Eon}39eJF zPu#;jt-Y0fZeOl{r?e_CH#i}brs<|_sjJ1X`h5Li!wTbAQ%5srIb@k)O}1s*hOrX+ z8t35#^85IB^elQ0?MIhLMJAg4?UY|pent7!+Q44vj9=aF2kHJwi!C?wan$sFu=MS( zD8CBd2YW%^`J`no^qtQuedpo)5$HRop--Ui{2TP0L-0=KBYAcU z{9CeLl*jpwwxqPx56LlHY4b!IuLI2PHf*w+e=3QnAf zhvP@^Jy5L>$@lwXCwEgjyszp3<{k3rx0P(TM!pYL1Hb6#5`Iy4F~8{3;1{g` zFMqVyCi_KWm0!(w7#y$J&Gz?%WKb;z~ID6=KEJVc-68#J+tE*|$IEw2E8h zzVl(Z?@aksQ6DEZ_gC|@e@1_hz8_Tk`$5XDl1Lwifj&-s+>7*a5`}3(K}6rVm&ifi z`5mS2ychb;lwVPPMfnxoUwwoJ;0NLRD*Wa6SG^zHtoTJIfL}BhIba1YLDB99*)K}@ z73EhOg|5)Y`5ceJZEon}{DxZzp9skQhMjYK;ArYR>7@KBn)y}XzCBrZTkr}aVc$N5 z?Ar&6Rbk)0%ss->#v2d&_8k8XX=Pvz*|&FveS0Fq=?nCS3@eS}$iDqxv3H z+NqjFp|!!?fn3SykMlS572O9Lxh9H7opqg*U;SICY5&+>OYY-jM)YyivcFmle$lJW zC1Q#z4*a64WWQ)7DJWf({i15)SC^!}!rxB)SCn5xGrw9`%KYtL`G53zyw$vqdotWR zTsqg|;xebsIpnr}QQ99=*ZwNfFZy@)2aCS1{#t+gZ01FMH$#1+(R9MJ)I7ja&3eo_ z-WE^#IFw)A$1P$D{i1Y#wacTX{Z++aa-fqmz(2KwUo=hji#D+DlKrA%h+otSoY+{x zFRG95i;e}qXg=|aKIN?ke$jmY@d&?YSMZBgSNx)X&-=kwZrdNE{A#r{m-KPEl0HsZ z#>1##fAzi6A500g(A3tJ(@DDX%wGKp!z5!@)4imR^Nifbxxl8E=;K^~Hcn(8M}7M% zwehRXuy1t1|7U*S#rx3*XaKqgeaENqelCLxu`jSEYz=L%TaQ}GSspV_GOaOY8$^9s zeO;!VE>%06^qtkWzbZZas-thXcd_S?+vx5f@7q6tef!KC_U$J4i)OyT&k)P}s&L<4 zMcKEvEYZh_cTj%S82q9l@rw>M*SB1=EVVvv!?xGi^4z-|$B*HE;*-!Yv;uC_*Wgwi zgeGP#y57gB$8Y0Wa9^^NUquVQ@^a4;|J5@nd>{Pd{wsC8AEf+>@~b#u2=txX*}s9l z^Lgky*M`3HLRTvEot>ob{JPS2j+OU=HHe>K+YNq(yP=OW-POq*SFDc{`}``rZ{H&C z+mFcm_SRAo_(dhzFB%Ccrw^Ll%y%I4Qemyjxe9==NN_>Tbs(5bIgk^DOQbbm8~876Wf=|+B*8G5)rQv3`H?e`S(Gf;jN?&G9++xV*a8R+BC{nbp4;YaY_gI{zI`WXD8 zSAgsXk%&$azi4~8kMk|`ads+wobjZOQ_b|Kakyc&el_!rE?1kcVKfy(b)fIuTe?&H zs>N;m?UY~TvK`q>n}K{^oivvx-&bnmS6P;PbE3JIX__%JqL0&7(*ycAQvypQwe7D` zHN!(wf{Oy{r33y;KGxUJ`;4c^&+w(QjB||RihZ!%A-o~nFPy-0ac|rJ-m&Vj4s*B` z{uiE%cjH*&S0m(oyQi3+p+EQ;?jrwXET;Ubub=X(B0s|nK96sV#y}q@mig5Lb8Ab` z^0~FIEnr)~R_B&-75T~hX+9afh(1Hd;I(G}{#Fan0Lnt+(1YkQKTGzDt|-=bK0x}; z9SqM$^qsGgzVic0-aJ}kMxRvA?f2(fIiL) z=;Krs)wRF!d1`z5yWe-66O+a1&OAqoW1qc~{YPP#P*&K3Gw|a$k@y+(@OLd4rxHIy zk}zGs5q^eLkq1A+Y{k#82mB1tyT5u_h*$c9=zr=DQhr7GRqXDszTuki@AEFcEy_R} z&@a%n2*EPsDmsFeqI6UP9py*yCVn=@a+BEq*xK0MwVt!owDdF2HSIL!87ziGeH$iK z7yJ7w%CEwHQOd83xH4{r)9^BUx9Kw>xj$AEf-M z4_b)!qCDg+aUaa${|WcOr^$Vg@~c>SKRAYSvd^*mZ8dE#TX$JBmS*Omrm&yktUkb0 zWa{bKX(_*&BRn9S!HY5FSEF5x-9b0qUm@#m>rfk~^qr%ZUo8>4xXKbg!+7sgzDE9v zQb5X+{S5Q96LkZbNA>?On2l$RUz#Ytirlv+^IN%xVc%Yron-sTTGKk%vdVnQ#G0BI zdl|;+7clE|d$hTl{E#lBp7(>4U&T7VY8~qFU-+*mzq+wMNcUHZZB5wyYzlXTdxT%X z2l>wE4HP@?2Lqu?nr!WM-E!s)eVU=2G2Zl>>EGs;E%mMEtZ&+Cv)kDA9OYM)xS7z$ zq5MiM{A!VIy>^c#CzMa_gAJAYAa*CY(_C3%$l24m&2hhDxjoUoQRoJK(e?O6-1Y{) zXe{xo=I*hsU1Aw=knCr8!2Y%DXLyD98Eo*H)lkCEV2JQDi~~PI0r4|*^VS7F!!>_) zgrA`s_!;h1{0ynkcRppI{OX@5#INGp@JFGKb2y@pa{&4{519HIGYm`hJDD6^ftDeC zXZ7?4qi28B)l|KhpW!_FNBr&T+FwzAbu)jvy7pI%6u;;n_g~TXgO3>QF*=QVP4Aey zS}4DYh5c37&)_6}h9Tw#5q^dW+(M4$$MPpi_!%6<{0x*|#lrqd{1f_vYT92>epOvK zir>QBaa|lomSqUn#wmC@zMa3F@+-=(VrzeuU_ELbXRA#7qMMXH&P3?r086TeME^q4&_(ja<%0KzvxHyM7fW% zI--v=*w@)#M=BSP0(rq>p&gpfv~zXinf`jpucGVy;G1G=SIAZ9XK3w9@aw?Oa5S(j zxGFSHGf|tSOJUT-uT}=2s_U$wIi+mF_7W@o9fxjS3<_f?snu%UQ_0hQ- z{GyDtqb0+<$&_bA#s-Eb^+TBqU99@AD8CBt+v^27NYD8*9`Y@QZ3A{GyM7U(`VSqB~0X zMPrj+EwVLM_U+5%eft);zl-piHQdKJAop?h^Xa_AP31IPVIOC@^#@B?(#Od(9wU96 zI!t?AFYO4@$D#b{BRl{y1)AS_|Ek?0`Z$;2-~15#+kXaaMQ@^_efu%kw;zhww;zOkdqYz{*tai(eS0qK+YMyj z-X_>HFjAW3U*r4U8$J80-m;(JkNevxzoPrA$nRQ>Elp-r5^uP zZ0)b^bzgCB@yzz7%lAP)+y}GCeQ=(xbn>f0zvvmoFIu4ZMb`nVYl<%MZ}F60#WugX zXl-o0wZEP6E6T6bwZHno-pf(oc*ogHyefX`8scu^F?mmUx5|B-l;Fb=eH``htCT?a zK6tDCAmvx#`=F8dMJLLBQ8nzZhNJsYuDoxr%*_HnLl@gBxsS8LbWHB!bdTucmKr?t1T&+W_c?~qmo<^(5% z(llMQEp>?ur!UYSGORR?Gj%kphhHV>$}(=|XZnsJ($4OQCICOt?#hxzradPlH(#I)JUPfN;{i5j+e$jEnFS=Lpi^lH$ zO6~kAd><_CztTteufq4iAK*TilI1t{Sf4a^Klqtnd6Z^qnh^6}S!8#GUc0 zcq=vw&kElO&FmZPtsKW4qnz>LL2;U^qq~gftY?FFu5XmTyVN3(7%Uqqeg1aJuPDE| zbN;KapW%nVR`4^-)l33E!;{3%AQHdmP;>nVzi4^xU5?|&@IRICi`t9%MeFg~xE9dI zNs#+ElwaKiedn3bcTNyrcIG(RIkwna*bfK;1gj7&?+4rR;eGq9{q2-rofg7Mp(_>k?M||9e;xMi>e^q0zppkb-&eJQamBu`(&awRm*$s9A7_RwDWZ=f z%6;dP(02|(-}wqUj6PBN&UAmZJ4pEzfrb1b-!q`@V4L;MiRg1-OzU)ELL@$a#4Oo`Bg0PtFWIz6X9p* z41NYZ@iS~M;b-WF?m}P7eo=?gciw3UnIDq-&gb+&rV^7(`p&~blYq0|Fb`+ zuKg9|S8XEt&KJC_x4Gv9_ga@AJ|Zq~ijIDcYH{xD!bKR>vuX?-t8u=?pLFr=P zXmERo@~ddxU*)_0?VjxE=B?|q`LFr2rEP&#q>q!X?WSwasEc0}`59X1YB8)nUw_!J z!Z;TE44maq3BTy`#4q{`@rzzUVGE~=_(f;Peo@M=Vx3FJa$42KMcPWk16SJeT+x%0cB*hl~3e zVr74I-c{2zLf*G~itXF`!@m74@?XZ{8f4$T?S_5(-LP+;?&?JL?R0;2%sSo{Px{WA zmA-SV@T;(2^w#}Bb@8h&OcTtlEdk2=I&M$bQjE+)UyZEp7a2 ziFTc4cZ6TGk8iSft>+B*MSDc}MHiOn<5W@lIFw(hYkx)gmD>5$NNa*^udP2@z>enf zxxV}kz8vZ!_i?;H=G^E!+KFbP6l6kK{6G1V+|yhx+mX$*8EoCHA6QPB%bPoxMj96y zHtLTv*K~SaytbZ(@~hwL<3#8CLCUWJ!W`iN;S64kDZeVb4<3>4gRP|`*tbjazWr0! zx4%gC?M8XuUdJ-$G6MNA^T{-@Y35?KPl}vlaR{gCqJlvCpsGlly}!J>$Jk z!F{lz6p-@Beeg5QeCOVCrn7{EG4`%CDM7^l@U1Up)@~_9?QT z;ZF1iqh)^;7m`AkG}+qiy5-Cp`ZU?k@Ne_W#Lw`it#*W;!6o|{egQv22>c9J(Gj#% z@iUl6A7_%>$2n)IY3XO4YuahdGgu6X`Zi3ej`FLr_T@qw;Tm3!({XbgkE7@P;Ip<3 zR>s;9`Z$}QkAt9(^Ca|fGN6y6PJXpmw_dwPlM}iY)CDUC8cI+2NB9Z_U+wZ-@YEdh}+(Um<=`8*JtbCH$fW`vkkzG22nwdDuBltnZ@yDz^F69{*?39I|ik0{iybx;W_L z{G#6seVjq2#?Z&v3Vj?k@vG&AiN-Fb>SW*kw6%6<%wT3 zkN8EO0>5Z^8{J<;`Wfi{s-$0(?yu?_DZdJ!Xn8+adihnMU(`wbqC?CLBK)EixP=_g zkL6F4@QXT%`9))mU!Aj!WzF17j^T&%NBHU}4V-z0&~L~Of6<)iB-)6kAg5zagBtf&Q`|dTTGtcea;MHY^tOJ{?{G!p7k$G1J@lP1 z^qn7y=sTbGZjt-WPX;N!dW2uW2l>wE4YV2FkGSAp5I?$%_M_;1KS=pik)L5A_!)AL zomdRiwZDq=GZcWIArsx`Z>Ri<@+-CRE8G9m->$~@gOp#XonPf}VZW$>_(gY=@Qe0E z70@o(FX~kMqPr{_OEcLodR8A`Dl+wSbbm$nR}CHe9M3te;uhJ@K=)V3y4yO`77OnO zDZe^w{K!Q473EjU^gEecU2O8JEdDXFZ~vL?1p9U)*|(oES0MZLcVXY24f}S(4g2<3 z=U1x@hxC^jhWHuUX?lX6Aw%{vxJe&}@~c|-UwAU!jl+J?qe6T89=kgCR}bB`KS=pi zEc2`JOn?0&hI@<-<6hG{=B^fG{n|Pt;`?eQf01ue%r8p$ReQq#{cDVx_E#&-MSg~H z`UT87U11+b2YsA+fezAh{tVxz-fU0l+h0+Bwa(c~Ap(i)@YA{cH+%gnNWvF7Mm7!0#7P-nSo+ z_wD=nbY9}7a+F`?N=|>Azmd|%Y3!OL_i^;l$1&NLkUq{wcmRG7`ZxyC$EgN=oIA^} z!hX?Q@QcRr?{Ss6S;Q~8O6lVqllwT`{0vjU&yc10Cc-b; z8~mbcJg13Yl=7=(_oWxr^+{8QX7s>c0Q>El<| z_wDEOL8cOutZS!Dg+9*Y;KD!_>Eqan^>JdKUo8q2-3P0|eQ-3~2hX``xQ5Gp9Cxuk z&ePDxsX)F$Y`7-r<7}1tII*<9Iu=F!!Dx9uxLSOc_(ivXUo<_!FPa_Nq4`WZPp3Y9 zwe7b3LCUWvzp6v}IAi>aNFV1e=;OpXzrtEQ@iVk0eulUFYkc88PLih|^l{FL^~7nU zkMk|`agNJ05(e zbVP|h4&_(jasu5G2+rclo4E&;W ze^uxg9jo|7pYqm&zH`3+IP{%YlD>1AwyWHCK4;i$oMq}|u4*}HnQLuniw*x3se}ccA?yrU$X6si&-#J&C4}Ir~AcqBjRUhXaC0jFUNVuWVw%%>aO8&dJcG3`d;^| zi(hqgm+_qSZ1m3cjq-PwS_EnZ<3fRmK2Eya$NAFy66xd2uq8$GaVWp)Vx#*jb?vVx zzhZ=qcns;|SmAe!u|yw7AJNC5{3_P=S8JWAB45JKuv(f+`Z!&cJ`UYqU4S;u^*&B4 z@hfCLVP0fOv1$}QLoV@)>WN=;dkMd2KXe!RTK0=N6u;=s2*0R0_E(f&h4<|Zm3@07 z*F=%-ue>;g^qoJp*HZeI;5`rQjFM(Wz^HRr>hVd(uY#k3J9ai)KI{N9TH6Tn2rdA-C=0 z#45jv^fR2mbBUj!9M(tp87RM^{A#muADjSvoLuA}%d+eH_Skzr80iDpJA|NmEsp28{rpaz%QB{=p+sBPbGd)#?y@SospOp(Rc1m z`p%SJsdIlt`PB-;Bx6_8y`=B_4Cy;}fxdHkiM})CS4DlC=;v2~|Dr!g`4#0?&2c<7 z!9~U#v2UmRN?q><>HaFbZyzW3ok#HBL*IE2`WX7oSHQv<1cS|~h`w`E{#&jSx09{I zzHPf`ZEPKH*=#N_RWm(m{CoJ-+~BLBL7J}G7P?vttIyXTHmop?HFY#|mO~MKQOd8L z=5pDN(8n>5KF&#Vc{Al#vCXfNp+6Y*GfW9C3alr72DX@=;mZ@&6v)@bBcXJFqx!Q2}5?Vnrw+5)x(Y<1Z$dRp;| z<|}^DEHn;1h%WQ9_?pBox}un0^Z@aTb}&3o`Z!tIJ(}E5?Cq~gBfkoNUuD9+{by|f z?At4a>JmT0EB=MV&rkvU3^Ryd^c80=_(iwMeo?Ei9Z$fIg0qH&tAzm^HVtt)$R~Tt`+NU_~c5ZhL7Nd<{ttEbj+MfR4XE-M&i_?jpVITMzew6(T8Q^C~Bz^`x z_!*LMD)BQU3DX6v_!%g_ifw*n^q%%^@h$PcCJhQa8EhU((v;T*p^tL}`Z#k8LyfJW zk5k(AS8C!{;eGp7#n0f9{S3c=pCJT(hO6iZTB`UNOvKMHN%k|GE9PfN)VBdY!wV(+ z40L}L{rqaNcAaK7_(iV;^nt2UGk@4Gy4G`s_(eZb`ZxveVmph`Z)29)zHVe z>RckGxZ>Qo?p2;wz1@9{{FS7jbTM!=7(M(d)wxafGi(&P34XjDzlhu71n_BuSKyU# zGn|H(;VZb6@QHxzZ`e7<2acxBlg=4pYnR5o&pqFh=B50K@~aTPijS53l>~m#7pw^p ze$l?fFWN`;i+bVT{o;Pnf0Dj4@~h)$H5!c?ptJl`{%(FH zNBLFdz~AS;s&BbwS!#XUhHbC26}W{Q&yV4M;*-!Yv;zHruEDREAZ!A2Z_>vpP5Ud# zuPDDt5MCAjBlH5lXqw^|-3)%w&Yrt}$1i%G*{i4gD$*~ihWCT9#IH*3+tXw}!@tch zD}DybugdUCxJuki(#Kh;^l`G~K28t0kFyr~&L;x-l3BXX-^n-JyTo(IZE$yR%@)r& zn>#;o#5rc#%i5OxhIZnsXv%gx*GUPtUSUXxW%$rPk(8p;&`ZyUnb@Hpp%o5#t zxDV!p@`JiyI5i;j@}qDjOr8gf#8)l^s{7$W=(;}pMWH*a0=i(d0*gI{zN@r$Nw zyUBjhv&1jj6a1p5EOUroG+Osph4;aDxDTe2``{-^A1BwpQ(6@$efulQuXdyPsE6El z&Le&2r=ag#-ZsdZWyy!Wb1&#SXBrOaFEKhMUYD$GtLYIM8k`cK{Hix@0C(!>d_NfW zi#qjX^>vu`x?b85;1^w}^l=iPkMp8OUHs~2Ni1dk!JB_y{T2Rpb-f={`~FJ({OYW2 zth{d@&L4q&dm1z!4x!&*-yVXU!O4hy`$POb*thQ@`}RE8w~r(H_5@RBvTvvRs}x79 z?yr(HZ9_eR!vfQ#PyD-lzj`@ub5GbWDu^w``AQ$>4C&(>fId!FxsRiRK2BY^j}trm zs?g8ygt#313`1}0XZQ|R6kZg55uUJrZ|~*6j(407iC4u>T|?YWJh8OD>O;P-mZ?qCLSc>L7m6>HZ;77t(hwrwK*$oqIsvSu*W|zH=++J1@31 zQTom+c*?KZ*xt29>;CE!*tb)E`%9=kI;Y$RDZirpssr>9Y_Kddl<f%>zZ}`3{ z*&n3*s_;HY`PE9#c<)oNZ?7l?q&(QSZx4N@nXjFw8^}DW|A)bBj3s{czT-jIx4#Md z_K>UizWr!mTX0oqo@SypP4^_zSYOfLG#oa5WEx_o{AwebhT0&ab`|9_< zpJAHpXV~z&eVka|UoG`c^!4@Msz0bMel?Eir+>t7kI`Y=YkJ4r)q<>FTO;p-Gx>{r zlVX0+0(2Z@BFeAm{wmALi#wd#IM=~`bcB^i-@1$F7PwVBz}gMojKrV z*h2galwYyVb`8;eC6j-`%%gVD{;k8zvgNn5q-M=+ne6 zngV{&v=V;NUs3pFWKrKadiPg}n!^6z5oW#q9m5b~EATVqkUox9>Eq;(K8}I(adwpG zl0MF5vMduxALmWEkJEhVWnXc>=ocmYqB(dTE`9qe%CE9DJG85GvzgKQZif0s zlj($s@+-=(2I%Sg!3Q0bU(xr2wRLffo1y&b@8?%1g(u0ry#V&@&6It+$$QGX)%Tu% z68J?^f)9r%zgoeoonL(gZ+@Jl(su-=GB77NA(RGvoR+#ohSL{7ABXa* zl77+0h+p()wiEPmjHHiq%3Q(R!8FqNu3@7-o4KYl=;F0>e>F*{E*!;g;qLGrG7g7d z*&$pTr{L-M?|(nI%c8YBWFBf-WZYr6d4EuC{3;`~NbxgN13$xP&novhR}I&2akn$U zIo;v5zhn;xbA$(kGk7t68aINsF$VaHW`h<)XZ$MOip|2a0_9hfU&Yq`>W4ezZ;uv! zHN>18;TJ8>y~}Yo^^5*|6TfJJ+;>j5tW^5W<0AUbI_Nvs3v`g4^JkF0v)S5w%u#1m~3lu-YY2s%%2!4hxvY&y0Z;?8(pP`yCLC6z&gI{z| zF~6uf_E)8iUlsWo21_Z#&rntqi10J?1V2N-v{&{ss9}G#L${oHL!V}7Ym7JjX8O|n zlHwQLru1<{(#KH?zq*_B2RCv5;OFuA{KIGh`T{)J4npSg!JWMljX?LKTz)(s$G^u_ z=4KJU=qkl8dQA3%cFX6DW`@QZ3>arTZ&0j(&c1RrZTM>3@OvMFn?l;uqD3 zsm|?kA7_Km75X@zLm#Kj4Sk&7BKkP7^nS3Zd>`yh_U&WHzTFDH(2Rs~E?&J7w=;Op1zxv7+-nXZh*tcJRZTt0odr#RfdXe}=yMte}f^DF6ouvT$qN&6$ zs;>8gYU5WLZX}xn`}WtZMw;zt!w;zCg z`va!Fuy0=q`}Q0i*6PW=y*2SOyyag*`p!w7e$aP5E7lXIk-qb{(04vA_noIe-#Ll& zof+_E*T=m`-#Jm3CKM=r=fCIuU@ez3INr{yI{*fIpBI%nt3)e5ReJQ=9)vZTza0FTt;qE=fNG zwt`=Du4aP^D)NiQ!v2c# zt26K$rqD0CU-pZB$EWdrE(83crEPzuE`HU-GSa-llr8Vud&v9twXknL5y+R!(tTv# zzQl6~{GuIh=@&H-i$PV~8jr-3UtJ7PeihC8tLuJ-Zp6=U&7Tc^hE>GRkgn|}`x(v> zKSNLOGn}%_0YAez+c>%JJc9oo`p$#U$Iy4a0v6677?@8*^qnccsvDyFt5|$Ls4jk0 ziK&0v{vhR7&kElO&6GaQ-4T5py1%0QDmM6)N$C#;EMHjr+5)x(Y;|raSCOC0pXQU% zi|8|S4CSK${H+$yPbdqGLl2_M{4BmE|2fxyTfvrLU$E`7mbdn_EHEE1d5!lPI~bnV zzs4-qWoh?lazk`~#Rwa5biW^b)HuR0Tb~L0_Mf!{uy3yvsvB$zeVkYP3rQcR0`zfa zkUq{U&Rpo@#6G`zi}nY>4;8jV#epyCDLe~*j}wGfh5rb>z|W9Y%+JvIcl$W!nZ5cI zhDpY*rh7>r=NahZ#M1l0#vY^hw0DbdiT^e5i#{1_9!k=b*9Ns0bw?O=@~fk|&CCb- zR}DSD&mfuh$$o~#wk8pMoB-+LY=--L?DMNPZHeqw#n0d(eufR`7x0UQkc6(HBWS7O z7c~*T=p^uqwz+NJIkxv#rHNlH(XNAidrt70yl?O0o9tcdIYajCA1V9xg(ddwRg`^u z%MyOkc*kn+i(Yju5mQ`o;1^xxdDYt;`p%W4pcF0qYLIKa81^%413$xZd!l`#&<*?y z>%q^^_69%0l?Xq>2acxDcb)-#XN|kC@2sxhr-bx&rz* z9nGBOkkZFd*Z#_H-VFQp1lwL)f3|=f&E<1_iJzg5>}Lp9`rPO|+KFbP6l6kK{6C3b zG?(oNeo+JQi=G6(XlZ*tNcmN4@2^ICK6RgW)pU)J{i2>?e$oEm7rhJX;cK78HHcqy z8}W-$eiinMehPh@7fBz-2z?y7zlx>(mHPQrg9yK91#ThuMPK1h@JVPGS^*BWYw#;3 z2u`-#oA^bm%6`$omQ{*hbS(Hq)wjQ*{3=}SXTKSLt%Gw8w3kc?A_ zpCL(@E?~vau-2I>@+JDttEIW5@7z`CJJbDDbo#H<#jnmgCOhvJe-RhDdb(?PiuUb8 zq%OoST22!JzbNHb8Hn;L%CBOZUp*huAG{{}MW67GAbwHoPI6Oz^&Ea5|B9PJAIEUh zK8_mpS6<--yVE|!@%#RE%CBObUxn|36OCO=)yaMEX}Aw=Ab!!b5`NMDZ+|eB_|?~Z ze_r6ma8C9)cE7Er?PcpOi^kGS?&F-*2bj{gzfv2&`i1xz8YzB;#^7f-O8laF@Qa%4 zONd|eBRl{<2!7FU`NxW@fnW5M2)}5i;uqZ_`$dm+1l-LAEzDZ zh* z)>kx8e&vU)v=g0-@H50RzxtMsN6&&^^gDD3%o8CnPn>NoI??PoP*HE zX=v&PeVk>`$H~%gY2*;4#125qP{cbSCn5x_xr)fefv1rx37af zPA>FubkN7C7w8~8=g;t|i(iHP4FCWBAmvxF&96F(lDOG5!QJV1{R|g~pFutQtLC9Z zO*w6V_!-vg-!Tj!eViQ9$I;4t9Ch)l>Eu4R$ksT*&k!VjhAr^>MTFlmesmcfko}_j z`E*|5rh;Ge1@;8=ou^xWi0C^zq3>LWX|L<0rTj{5`>R;wS1J0T%#0v-T8@MaJKZgBRYU5W2{lEEG zUqkORo(1k7T;*K-#4ns>iuG}F@I2fHH-LAnVP_eKW1U|W_cJ^VeufHU1#ZJNiJxIB z@iTlYJf!$V<0Jf{8|1z-i#`tBUlsX94-&s`+W|rvI zgI_c!6#MT7DZjc4{Gv07U-V^X4){g4kUq}yf=$>#`Z)K2w?+&8n(KX>`oe7JlUvv=hi>ixX{USVJ|K8rqQQ&yT*-X4D ze(D_8gdo-MO({#=c9pbr0=Y*_k(KUR|&3@u20;p$ zmbyfS(-(kWbS3yjJD6F^LB%gBv9Cejc_2^sSD7{=@r#}Uzi0>3NaMSPjrwfnn$Dn$ z*CuP)hI#~t1*S`%_;>k!^>W_ko{{dgEQdo8m=Ri}?Axo6efui+IadwW@SFNYDZd)+YU~cW4||ppKSL`i5&R5(+0U>F{Gy|Y zU(^JC(NCc7oM1g_9cQb|X0g%Cuev$?&eh_x%Dz24V&9%E@7vYIuk!9te=vIZ)nIdS zgkQ8g_b&KF$M8Sh;1~V*CVtU`oA^azeSdY`&u|g^4C9HPp&IxZhC?4`HS}?EwfS-% zM=krSDP-TCqr+M~*|-0_{lPo&esCxGzIvE^U)jY+#0AQI@HDv(hWmq*Ur~M)Fzq#~ zXMa`P&+w)BCE{n8VM}7SDSaFf`Z$zd*)5Gp-}#u_ckV9to!3F%IVVscS)^K|@4VP^ z5c7zYx+r~|KX-o>z7O82KUf<1)n#FlP+d5R z-@-khR~<)I;0V{oDR?^Gk1Ivo2kHJQ+;{E?eP_zA=>DpT;bA@HS5+K~?6LZOP%Zq5 zH8nBzGKBks>va3HKZBov0Y5`>pp!JfKh^gs_(d5{Gxu26E)j`oPRg&|hJE`;(#N^m zx!pNfr2DIZrbcGJc?481o1OyWIsb+*)OWUsb91ox=ZnkIwJZwTFXOnALpDt2z{JnT{~^6 zW>{!)aA6=zilzNkp`T$Sn*)A^*R4k*{0t)a8R{}>_h4;ZFoG!`{Qm-x5% z`}ohf2HZ-v4EuuZ?|DBs&ojtdv~T|*u$AoFCny z4ERO&gI_fK72+a((HYCprrXR= zeibY42QNlVfAFu}U)^JL5o*zZ8Y#c>pkL8$G#~XuJle!}=Pz3XrNEqMPBl$4W*QFbFEb1i z58qeqG(E}p73Eja;lHB%it?-LeH^v$t3~#EiupyW0F?`qxqEO+JQRP1?YNV$TBvNF zZ;yAZc64xFbuJML`_8L8uX?-t8u=?pK}lWvE4A^fL(a(lU|pZhf6bo_e$iFLFPg6H zrlb6d@~aOllwZX*zbd>BwkP+&DZxd7_0j?Vr4oM8FP(A4{GuoDT-=-ZMfDMW(XTNg zeVlgoZ|sy`Eoa`)rx^5!VDbJS}O~j=p()2U+CNBRUf|^CB5aR{Xs-l;Bl}Ae+tjSe@=femfjBz zcHhc>rM~@DP;*JS5B7k4yJXsDex3Aj7TcOc^l<{DkFy!>?=HEIvtRDxe8;EBeH^;K za{A-^vA4fUv8}W^EKP`?AzSt{^pO1wYr)TOB9JecWj}*D_E(FwS(ZS&s0&T}}Kd&9$ER8MeuOhCkLHr2Hzj_g5bOrcDJDNGmA=xjguKiUbvk&&|FIW>I_U(PizP*pUZ};A?Z~rIRx974Q z!Ovh&{Gz4f{h&JcSEY|%b@Yz*eCj^$s_7bWQ@?0`=;Pc4{RbWF3~G=*&NkA=`A%r2 z^l|Qv=;LgZ`#3EEwSsY>K zBorZ*08(;hcDA?QvnRu_383HK`@ZVVEA8{E*nRLufAAXkMT>)9v~6&x;uoz5 zeo@M=7UJJNMj_UE6r6&E^PZN%CBDGukn;$b%uTW9c({mhT|IS+k23G`$6+X z#>7y5)n9UnZ;F*gZSSurzcOMcE)9Os5vpI5@+)oftKzP;uy4Pt?%P-TM)^C#zWwe{ z820T)Bio~E40DWQO)oNS%vCHl>pAc zx`UtLH1RW>SN#k_gu~!xNQGwULG%as8KUra+L<^%!y|Eih8*bQjLg@^(fLQzQ+}l_el-aE4Ds&=CwadHKSNvha_}<@ zB7TO8s$aCrO@7hu@vZxV`r2O=K7Q3X)Zn)F!O!ilkv`6JHksS1_Hih`(i*>-F60Qc z^Z6Na!OyT3y^3m}Y}L;&pJRxhfl>Vo$oe4ZJ5Ms{Z+}(z_|@dV8t{vnef5c7w1~T( zyx&zv>ErYweVh@v1ulbGc=Kt&cjMalc})2g3|it> zKXKRnq88#8-GQ=^7ye}dbOG%}>F8;6r|K7#J=a`PEL+cdk$R&Z7HK z_Z+qFe2(;;_mjSJWvrd|gOp!o;`i{M`>!a!iuW^6esu(`L_<+!lqrl7iU{V}d?T^>B;O^U%l96TdPW z?uk~5Gy^}w>%nyJGvt6@^a<}<#4q}qoC$u>EyOR{S7gN<#4q{)y!$c2`=1+r(HdeJ z^l^rfK28bf-bVU3W7R&6_W6|){GvaCUvwq$i>4Yon(8xUppTPH`Z$zdQGT__ ze4M#zvY1L3Qw&X`T_c0TQ$tIFlwalVJ8NNob*X?~^i#P=KEEjCS0&>73||sI1KnR` zaF6g`@l}QQglj?rG!}h|GLZyTv@p7c5}RLL_lu5XdJ{i`i}Z0iI#7W=j=uI+z1Y~k z{m=S?dgE7D;FWF!xzMTG`WYy{(m%h-cBi+R{Q=C=lZ4eSoC3C#+Riu8+i zQ2RKi&6}Z*(+~R2`to1tYkx)g)nWcIVTBMOe$g%97j?t3EQl_l{fb|7pU_|Ni&B0S z^NT(l=;@#4+v0V3YI(-FkIL2LIWDtnykwIWi1oxAycoZL>)?A}b4&SEBJHmzzp~=u zxE@Z$%kUq#k+?)e(wh?RTIi}HpOL4#8+)Q2%CG4ALAt-9{7N712er$uiaDOJkF$MZ zJ#KN6`(QJ2ADk3TSMP(R11-QWy2_jFDd!n-OTXwd;1|7ZriXQ2EF3-g5P!ZyAk{~4F(7u6TP`i^hS@8qg-@30rZ&oC;VpW$QZ<764H z8T7Tk%JVa1ny}GK{0xo3&oCVNIG+TL_yfL*zTV!29)0nvy!&7SvTv8%kGbcn`}Uv7 zzWo5%w^zYMfXgvB30GD6IHkogVvg8TIwSRSMO=&J*6xsdvuBLAm5=VP+B@m~>OPdn z{A!1388eOc2jLbIft$>Y`(PIA+mnP3_~QIb*td6JS2-m|Ez-w1mamVahy4}fY~h$> z|H_tQMb?LipJB3T0qNtMj9gLrI6dR~IC|J$U5PM}`2L{itptA24ARHhuJm!f6g!F` zyb-^Qo8VH|0W_8JtLg!|zdFti=0ez(vN3enDTOG}Ip1P=@dX>EoQ@ zT0tMjs`hbO*oIr@SrTo3^^7y-Z;$yI`WNss{0eS{8-9jvil5;E@iTM*zv!Lpi_Z0q zT=0u_Cw|dG=1UC2lrW_jn;E)A_5Xg5@+-=(BHly3rKIoND3lC+=V0Vw^tfS%ag`~J zdBxnxk~sY88eW0>;g7}s~!)BcL`t2=J$bbADS9=C}Yx`{ev;M7t4}#-D{lavAmB{<6`1|0k`h%2Tje&i87Ufqu;#W2J z6B6q5Mz*SfAi}oab(btJz)Je$Pb-(DZxDNDj%xWL!ko<4$5AK7pE1HMg2WNm^)PUmsq6=9!>ErB&KF&k7rV_r-{0w^7UtPZs4u(F?2cb>Dp8`IAY5!BcN!}gM z$9c-V4Ei_&NgwBu+Q;d7Qy*s^zDImnJT11Bevo>&a$WDriOjEl@D%g(aepQ!5kJEK z+8>k}xqfuLBvXD>!)k?n`%>7qmv$a=j$-ds_U%;^KLh1gdfQ)7epMLwRm{)uq<04K zi;j@9z%RO$_(fk3o#J-l7cCEdQ4_rXx#1U05#Is7=y2i}y%+qV1HdnOCeAOK8QcMW z(OHo((Nsf6|i?bB@^e73Einw7)8B{OVKHFM5*rMGeF+dP42v zm`NXJdx1VqZ=_{@b%^*G!o<(88UB9pD1L^0il5tHgOp#T zxwB>c@T>TJ`(ni}TGEv+-6yRR+lVq=i-+LH@D0D{qXqgnC0rjv-FzD(bNTlBR|cjA2ZY*(>qja?iyFd)OU7fS&CDY6XiGP1HCx!W$3E53$SFG0*;?E_ zu02opR~$c<`<-pd&U0ov$~$`7XWPEE=2#q-isr^lchgYgWJ7v%UF4ha=@9i_#rEx1 zSiCsm_U-M+zJ0Nj4Ey%ZWZ(Y0vTuJ!?GMK9+ea~dh+kADe$fsNp@3g>2K1e4%-(JyhhcQC>IQrsO z$>jU$qVcHmebp7duR^xH_G#q%YCc<=d|y$1#qs0d`>ILY_m#f*Rm{)ea?~b%hU5AC z4D$`^ppSDhd=2_IdfH#*`57`JR~0|Qt@?xd;#ZZt{XH9qpJ5yL8J0`Q(k8K!7{nXE z&(QQHKf~oXzvv=YUGR&}0KcfgyVv`kublyV;&9qkAA z!G@*^3}?Ou_rVo#A8cvo$$e07`>X4IhGEW9>>jocm&^Sp{XxpFw9T)w%~9qaCdJg; z*xfKVIx&(S-VoX!yr}kZ^tZn%{Xgjs(*2dT_g96FU$r(@vDmHWz%M$+-q;Zazv$DX zk5h(U%HJ(a5PlX?(938IItI3~Fue5_(FqjmpSc3{UGI6d45sKuS$ud#oxsq;1^9Le$h7WF!77FCVo-MuU4_mxJ2Dw#qNXI za38GfJ`MN5ZgKa)fuRm?AEf-Mwy;p}2u;x>^d<WLTDk;C0hsv=sG6<#CBY`7 z@swXtex>#ORbk{;F+W3D%)+(Wg0K4-e#3Ra&tOsg3Te@|JML+!NVRq^* z_U+9{A7^6p{kT3(OX%aQ_Wt52?-_c_K29I#P$v8Kfp*HTHlZn~Ir0e~3XceT`Bq9FCkOgCBcYE&`IWZ$)ismFRNRiiCw-jC7(pG!1bv)pN*{;vtNKx`?ym|TzZxFw9BL4*5J`%L zq8AOvjoVGjnK#uw&gb^m95tNT&gpD2x0P$of6G&T^_J4dq5G@reP=DcA1p`wq7#?} zrVZd1&5T}+m?Fi)HA8KKLj!aDJAD}XIC|P&wIqJgHQ*OD`|15UWdT zrJAn2uIFW^dyD%OPc3i6d)T*(^l=)8DncJ86uCh9IIE$L^D^n7`IWZ!SCn5d z!VuyYO+`zfkMjqq^vUQt7=iby&t6f>YUVDx~Td^yWHd#{T|;P=NH9_UsPZ3 z2Pwaz{Aw)paWatvOX+Z2-#HWd&P9X;{5?G7S0zLBf{FZo@Fdy*`}Vr%qVTrx0PNcz z8hTAp$4qjEKQj?3&CFWIC8BIQ?!<-fY_XXqK2=)Zm+{7CVO-Vc7!`)}hHZFrMk zl`Z(I< zS1~`sf#84JAJi7Vn&$FJuS#KYmiUl(4$sHWz`p(ew?9btSH+b+PF1CkL-`fsZ0VS! z^qn8Hv@;K4CYch)f3?xsi;b{zxzdWC;hgGc$W{CdlwXZB&t=w|_87CE?`(p;bM>&^ z_E)(EGx3Wy1Hb6&!F0th`h@o_(#LsC&Q$t1bbs}#i<8&OJ>0zF7p>;E27V3f4z3B! z3Xh6Ve$`Q+{3?;(4~A~(Z(lA%NFQel^l{uuA7{VP$Jrpzi5-2{Gxxv`9&AH>VRK#I`~DSp1s~V zzEssOdX)G@_4IyFU;L`SyX0T=2PwbWgK|i@+KYZcU!yeC9{peXgOp!sdw)gw73Ei3 zm3{jm-%_$~Zxl*~eS0u+k?h-7!M^O@bfuF z>Erx+{3_4Sa3r!Vy4vubag3=i(+2#a4(oaFi;lH7aYP)HUp1}Tf0NVFWQRuMSlov2+j$O4!;;_A8lx;WGrS1nSNpR zm{(ZFT07Xv*e}`FIG%A9VZUVCbH8w@{BJzvSO1>>sx0XbuK3gbpuYIkcGEIun(Alx z%>F9zGt6Ksa@$ltgB$#!6VVs&=0}DVcnDoahu|&Hb-$>U_(k>6A1s{w$^`ep$>csL zSRW$y!O6;f@TA(u(cAv&YJ`cD06#;!;4tE65W&xo>d7E|obAxZStjX+UtRYzq=KKJ zuHt9tsrnhpU?*4%tg2u1S6m1DqGr`EdMM5>+8O+!dfH!6el^>Ay^k~8S(@Fg_HlX% zJA`7WCwd=IewAz2+Wu+>%0^zeq6N?ev=^nL-smpXFY1c(iy9q|sD9B1>EkpbeVhrT zkE7-NRZ+(i_HnjPtj8^Gb5V0OCeJTADViSV7i|H4(N*4TPdU#J;uod+s~uvB^oizVi_1JAVv) z=Pc+u)BV+8v8cEkPlUd6MbdX>pzmA*_aJ@eWRdbK%CFW5iS57A8^0PZ|5bmm@bRk> z%D%mdvTq*)eugaMB4m#8D?RY5n4cjj&d;zP{0wD@UvxY(-;@D<(Jb(bQhv1w$ND&w zUoG(t@iq1r4|oHaO5b@*G!^>JkD8K|zOy#o59W$}rHfK*-@Z=n?iQ4Ndv#^s{&8q_ zfqnZa^H*_xQOd8nDSpulq>s}D`Z#y8FFMydD8HKPJ>n_m>FxehE+W6-x-9jVT;iKz zWib=KhkM}%;X6O(+~;ux{3M=$zrjVs0pd}yx%AJxAKWLTD*N`~TqawSopw_nhw>{6 z_!;cd2gJ|tA?}Oof?w1McMB){{BMq5Q~jce%CBzh+ZXr_!oIx)*|*o1m%zULEoI++ z4X;r4?Kb$A*>OqS7!Su8*pJ(bpNr+CkE9B&uUwtvp!~7>IZrw7W$#vBn!kUbb+Brv zSU4EYi5!dWFsw1oHjQL@n;)~>XQliq)^|>v_k*#0`+L5A>c0I5*|*O&jEn2zXq#VE zFVG*1`5FGIKS=piJ#HcEb~bm;bnLgA><`(VwobAvGk?uwny@j?&(Jv1Ej&E*cJPzH z5r4o}(bwCX*TKZ=RVuev%vbey%{X>Vy8ZhhbKmH9{Js>y6BVXSUw zqV#d}w7)8DN-;J!bc-fNe^5*QcFM1`y}wEh7x_znyEge%{_m?%Ods-nC0lpf((D}_ zLV^3>47d;0%6A{ca3A~_y@DP@=hgdQI%gvLcD?PdD8EVxw<3L<)zHUb)IN@$_E+2e z7kqd5p7hQjeufcpmf~mFFTNl;#qFezQy%&_Ca6Hf_i^5VzVmR>cfObOo%Qs7kn*ee zefv0TM_XBC-;UTX$iBUQfqnb0$QS1q)dIiTXnxl+(Avm`>?iH%j`mIiyNYebolyHY zX41#e)BdU*e~5ofSRsUopJ6lj89a)gVV~+}p!_O5x-RlfI4dLvlY%t^J>vYL$B18) z@+-=(wEupP@~dv(7d=b-qS*!fqI7>n`IR=_5613;Ib7a-u%9!-am}6#e$gr57d>dc z$e0+)uLdah!IOA4?n&;0=D7RdE{w>1uo<}z{^FV-S8|_mzwhbprTmKWt3>i&ZSnn8 ze~|Jk5uHF8(8sBRE(tS*@=70v?yp`5P7Y|5Uv05tb>F@g_U)%&-_8)fXjAZujtIUV zp!~`N9mEB>alDW3E9@0Ypl8uSv=3b*7ETY`FSeo?=y7B~tAr-P zF}@Rjh)eYSRlvT*G0a(t-J|*$o+f^VUW%U~R_V*{7kykf!#~4kaV@#EtcBIr{;Kft ztFJBD<~%<`bK+;1Nc;@@gBJr_pr-#>-(2qxuy60<{!C6H`*!W{t7F8^P*w3WOpLy- z_!%OB(t(!XXISn1#Z%rhl=vB@7U<*jfj-V%@K=lpb_V5eYdjin!*=mG@q4kJv`K2@ z`q5R`-Vf?+e^vPSRbQqx_(g5jbKn;pV{hyTJ3e(j&4!_mQ%33I{H*qIt|@&S%CFuq z&to!7dyS`{kHbJ8N9+45%CGt;`}V11-@X_2?LR5|_DSGpNG5&;ZSt#O-gO?4_(f$` zZ`X0DqjZk=MfVfGXl0DZTeKuxP4SDC5=V=_i#@1 z$o2R12etHmFmK`Zz10k25gTAzVMAxBbErZL`#5DW3xCI0)IQE{xGwZ@ENUO;U|b)klRt6& zSIu2prH0aev9HLAJBXj*0oY9#VLuV?XGjA-!!Y7!C_(%Tr95XnH~gZMU-jW~xmWmW zyf*h&6>r-g)GNO-u>TAHm7exjg_B>+kA4DvhSS8)@Nl4KoS)$+@iXX+U*-8l8^}w+ zFFI54i(bXc6~AcAoa%`4i?$p4PU{WL)xfnfe*kN2{N@HFzce2#5 z+H5CnOYAQ=N;!`@N3zA0K2BA&k3;uYEgh3c-x*mSRQk^PdOt|{)lPR2H|19;BIQ>d z438QsnUWYUbK1OF>Eq~Se?|G#f7TzQ{OTLIl&t0VgZkoEB`poiU74Y#DaHkc_26g7 zjPob+rlf=eS3YTjG3`yTQ*x~+VsV*Dln}1n)#50_6H04 z8J-}1hErTC@H1H1F3v@ykJAGBIP)xPpxgE*YvH>=l^kU*|jL zz1!Q>^N}0NZR8Bs{jPNBercW9MwIbdJOn?6?}uu2tXzE`ZiolrHCV!wU#*JHHt6O3 zAmvvRohj^bb}$#>#`AvuMd3T}i#`W_(eJ@88e5jRiC=U&_(h{aykB$?>mhyT1JHM_ zY3r@@owH22O5eFjq|4EROwBo+e}mj}Nn z-Ct>Qe-*&(Vc%X(S}aw7eS0UeZ-0*L+qe4C{QU#1gH=P<`_B5}S2dOU;E~9-=xW2Q z`h%2T-Fn~tKt4aiNb_7~y=jjz3;d!c;uqD@`@u(q@A%frzWoC1+ebMz+jG@E&c{k0 zM<4v^#`o27^VdwK2`k@MjU(N{!{PhtlLFsYlwXw=$A~#%PwwB^=a0BP z&O%om=;KUR`Z#lZss6@+QbAMbVuch9e$gBI_EYAs zlzn>;`Z&X#rPpoe z^l_@-BGAWSa1ySn^l`Mwuk!ALm&9>m8SyB78+U=;PZBBrAY2Kz$5Zh>e2@6Dcv@^L z{UG&l<+|RL>$$JES9=C}Yx`{ev;M7t4}#-D{le`c^`ps#V#cuXg6S}`!ThdeptX?= z*)#3wj`mJ1`L8Iy(m%ht;b*9#`WZe&S;$3}Wmn;M+e+x;R6$wL$4L@C;EVH=U(x*) zAH}`zyWis}g?EpD6u7%CAhA#})9CcmnN6SHtSaT)02yr%YX zQlwAf`Z$zd?XkUU@903zUCx0l$1UZm@$2}q!gL`=sEuAn>(L2>Nm(%${fO40S5Xa= zEld{f6;|>O@bfu_dzSsu$vFQl|CPS>SB*ST&tC6)zJ52|2gk+raSlQsXMjEBPy0BD z%de^hSnx9(2R}osKRDWuYV2tGZ~KFEe^o82<^7eF?dtrH_!(M)pW%JWSKw#3YBHNj z7^@qaM7u@?hxNs;N|C4Kyrz1ij~EacsA~dAH>C=l5peuY8OUv-&emtAE%Q04C&*PRr@&F++S_Q zcJVp!d$Atziyn6k&*vB2R&*Sab*RGmK*T zm>;v;Z*^IB+tT3sN+|GsH3Pn{YUTUB!tj0dF?t0(h|a6uSLvKd`M#q2E74oYo9fAM z8{FOH?XJqMWl}|Hlh{!V;l$rx^|XvM&to!R-+l`A?F`wsw<3L<)zHUb)ILrs^l|Dc zeVm?ZAEylb4P%7AW$wnc@$+~g{uS4OK8{)K;~dJ@$4LzTReE5%{{r|Kp7hQjeufe9 z-_swY`>XfS9+ZO;bAMI%_|>7f``}6CKDdf)#+~4v=Ck+M>774wMahxhVX9 zyMXqhbkrN&g?0&j1d)H8cX7{i``GgAYtEexqvH|#AX~b1hb7w_VeVm4OwEkl4TGa} zf0fAZ2MZs+iua2y@EuhBqV?q^(8qa8>Em3(E0jKtjaUpy;>LJ5&cIsOU-b-3Q2h*x z!O!qG_!&xqpW(jS_!%C($!wm2<7*M>QVIk`-;Aha!`$5XDD8Hio z>b#Hgt7CC}9IfrID8E|D-z|(6eg?njOK1%`hOQ}o(Gw^GjYM_OC1IveUf9S#$gkv* zxMA#G=N-;&j=A>zHovtj={t{S=9@C0@0YrU6fvRaq>F3yIb%a@Vx8o z>8tLy27V3f4t^Y>`>X!^Z+u7L3xPwO(QLE}{fd0>P3%Lzp>NO})C~#fE1`>Ufgi+Q z;JR>I*gM%5o$DRB_KNl%w#nADmP6)C48xQ#rI7pJKmUG^@~h48_lpPqp9Rq+_?u=C zdI8;s_6ezqUvxN^na?ju_gCZGde~p-k6-2a88RbRiC?r{kn$@BxuO-v^>8X)hA+qY z85X(ff}dfATVMOD(UQUSuB(!Ku)uv#&-<&);EvGB@T|z_Xg@MP4E>x;IB?f+eWkn$^S^Q-yRzwQsx{Z(r`8f$ld72CJlqy@^p{RLbH z_U#t3Z!Zn|_7Up7y}GnEZr}b2={q0xEmQi=`r2Rp;oahU2mGR~z%N=f9Mt{(D$g(4 z+FZqAx1O_pY8zv3>HvNj6u#4~`H{s(yy6ik~6twtj~4aeh&~ z?XLx51$A1;`Go(1PozvN5ZY$TE|CX;UEEGJ@ z$C-q_M5m#T6NR7rSI}X!RPE!~NFQe$^l_RfeH^;KvUpo~(%jjycK26$=U3MvrbuzP z54H^sh5O(xUu@sr-?M@2+qc2KeYunj`}R&^5N`m#Xw#egqLg3h@%

SADo#?iKzT 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

yux-!PVi8 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 IDRf>0r;%E4?{XxpF=>AGQ{Hlocx^=y6 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 literal 0 HcmV?d00001 diff --git a/e2e/helpers/seed-test-endpoint.ts b/e2e/helpers/seed-test-endpoint.ts new file mode 100644 index 0000000..71b0a7c --- /dev/null +++ b/e2e/helpers/seed-test-endpoint.ts @@ -0,0 +1,77 @@ +import { type BrowserContext, type Page } from '@playwright/test'; + +const SERVER_ENDPOINTS_STORAGE_KEY = 'metoyou_server_endpoints'; +const REMOVED_DEFAULT_KEYS_STORAGE_KEY = 'metoyou_removed_default_server_keys'; + +type SeededEndpointStorageState = { + key: string; + removedKey: string; + endpoints: { + id: string; + name: string; + url: string; + isActive: boolean; + isDefault: boolean; + status: string; + }[]; +}; + +function buildSeededEndpointStorageState( + port: number = Number(process.env.TEST_SERVER_PORT) || 3099 +): SeededEndpointStorageState { + const endpoint = { + id: 'e2e-test-server', + name: 'E2E Test Server', + url: `http://localhost:${port}`, + isActive: true, + isDefault: false, + status: 'unknown' + }; + + return { + key: SERVER_ENDPOINTS_STORAGE_KEY, + removedKey: REMOVED_DEFAULT_KEYS_STORAGE_KEY, + endpoints: [endpoint] + }; +} + +function applySeededEndpointStorageState(storageState: SeededEndpointStorageState): void { + try { + const storage = window.localStorage; + + storage.setItem(storageState.key, JSON.stringify(storageState.endpoints)); + storage.setItem(storageState.removedKey, JSON.stringify(['default', 'toju-primary', 'toju-sweden'])); + } catch { + // about:blank and some Playwright UI pages deny localStorage access. + } +} + +export async function installTestServerEndpoint( + context: BrowserContext, + port: number = Number(process.env.TEST_SERVER_PORT) || 3099 +): Promise { + const storageState = buildSeededEndpointStorageState(port); + + await context.addInitScript(applySeededEndpointStorageState, storageState); +} + +/** + * Seed localStorage with a single signal endpoint pointing at the test server. + * Must be called AFTER navigating to the app origin (localStorage is per-origin) + * but BEFORE the app reads from storage (i.e. before the Angular bootstrap is + * relied upon — calling it in the first goto() landing page is fine since the + * page will re-read on next navigation/reload). + * + * Typical usage: + * await page.goto('/'); + * await seedTestServerEndpoint(page); + * await page.reload(); // App now picks up the test endpoint + */ +export async function seedTestServerEndpoint( + page: Page, + port: number = Number(process.env.TEST_SERVER_PORT) || 3099 +): Promise { + const storageState = buildSeededEndpointStorageState(port); + + await page.evaluate(applySeededEndpointStorageState, storageState); +} diff --git a/e2e/helpers/start-test-server.js b/e2e/helpers/start-test-server.js new file mode 100644 index 0000000..4adcea8 --- /dev/null +++ b/e2e/helpers/start-test-server.js @@ -0,0 +1,107 @@ +/** + * Launches an isolated MetoYou signaling server for E2E tests. + * + * Creates a temporary data directory so the test server gets its own + * fresh SQLite database. The server process inherits stdio so Playwright + * can watch stdout for readiness and the developer can see logs. + * + * Cleanup: the temp directory is removed when the process exits. + */ +const { mkdtempSync, writeFileSync, mkdirSync, rmSync } = require('fs'); +const { join } = require('path'); +const { tmpdir } = require('os'); +const { spawn } = require('child_process'); + +const TEST_PORT = process.env.TEST_SERVER_PORT || '3099'; +const SERVER_DIR = join(__dirname, '..', '..', 'server'); +const SERVER_ENTRY = join(SERVER_DIR, 'src', 'index.ts'); +const SERVER_TSCONFIG = join(SERVER_DIR, 'tsconfig.json'); + +// ── Create isolated temp data directory ────────────────────────────── +const tmpDir = mkdtempSync(join(tmpdir(), 'metoyou-e2e-')); +const dataDir = join(tmpDir, 'data'); +mkdirSync(dataDir, { recursive: true }); + +writeFileSync( + join(dataDir, 'variables.json'), + JSON.stringify({ + serverPort: parseInt(TEST_PORT, 10), + serverProtocol: 'http', + serverHost: '', + klipyApiKey: '', + releaseManifestUrl: '', + linkPreview: { enabled: false, cacheTtlMinutes: 60, maxCacheSizeMb: 10 }, + }) +); + +console.log(`[E2E Server] Temp data dir: ${tmpDir}`); +console.log(`[E2E Server] Starting on port ${TEST_PORT}...`); + +// ── Spawn the server with cwd = temp dir ───────────────────────────── +// process.cwd() is used by getRuntimeBaseDir() in the server, so data/ +// (database, variables.json) will resolve to our temp directory. +// Module resolution (require/import) uses __dirname, so server source +// and node_modules are found from the real server/ directory. +const child = spawn( + 'npx', + ['ts-node', '--project', SERVER_TSCONFIG, SERVER_ENTRY], + { + cwd: tmpDir, + env: { + ...process.env, + PORT: TEST_PORT, + SSL: 'false', + NODE_ENV: 'test', + DB_SYNCHRONIZE: 'true', + }, + stdio: 'inherit', + shell: true, + } +); + +let shuttingDown = false; + +child.on('error', (err) => { + console.error('[E2E Server] Failed to start:', err.message); + cleanup(); + process.exit(1); +}); + +child.on('exit', (code) => { + console.log(`[E2E Server] Exited with code ${code}`); + cleanup(); + + if (shuttingDown) { + process.exit(0); + } +}); + +// ── Cleanup on signals ─────────────────────────────────────────────── +function cleanup() { + try { + rmSync(tmpDir, { recursive: true, force: true }); + console.log(`[E2E Server] Cleaned up temp dir: ${tmpDir}`); + } catch { + // already gone + } +} + +function shutdown() { + if (shuttingDown) { + return; + } + + shuttingDown = true; + child.kill('SIGTERM'); + + // Give child 3s to exit, then force kill + setTimeout(() => { + if (child.exitCode === null) { + child.kill('SIGKILL'); + } + }, 3_000); +} + +process.on('SIGTERM', shutdown); +process.on('SIGINT', shutdown); +process.on('exit', cleanup); diff --git a/e2e/helpers/webrtc-helpers.ts b/e2e/helpers/webrtc-helpers.ts new file mode 100644 index 0000000..8d9428b --- /dev/null +++ b/e2e/helpers/webrtc-helpers.ts @@ -0,0 +1,717 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { type Page } from '@playwright/test'; + +/** + * Install RTCPeerConnection monkey-patch on a page BEFORE navigating. + * Tracks all created peer connections and their remote tracks so tests + * can inspect WebRTC state via `page.evaluate()`. + * + * Call immediately after page creation, before any `goto()`. + */ +export async function installWebRTCTracking(page: Page): Promise { + await page.addInitScript(() => { + const connections: RTCPeerConnection[] = []; + + (window as any).__rtcConnections = connections; + (window as any).__rtcRemoteTracks = [] as { kind: string; id: string; readyState: string }[]; + + const OriginalRTCPeerConnection = window.RTCPeerConnection; + + (window as any).RTCPeerConnection = function(this: RTCPeerConnection, ...args: any[]) { + const pc: RTCPeerConnection = new OriginalRTCPeerConnection(...args); + + connections.push(pc); + + pc.addEventListener('connectionstatechange', () => { + (window as any).__lastRtcState = pc.connectionState; + }); + + pc.addEventListener('track', (event: RTCTrackEvent) => { + (window as any).__rtcRemoteTracks.push({ + kind: event.track.kind, + id: event.track.id, + readyState: event.track.readyState + }); + }); + + return pc; + } as any; + + (window as any).RTCPeerConnection.prototype = OriginalRTCPeerConnection.prototype; + Object.setPrototypeOf((window as any).RTCPeerConnection, OriginalRTCPeerConnection); + + // Patch getUserMedia to use an AudioContext oscillator for audio + // instead of the hardware capture device. Chromium's fake audio + // device intermittently fails to produce frames after renegotiation. + const origGetUserMedia = navigator.mediaDevices.getUserMedia.bind(navigator.mediaDevices); + + navigator.mediaDevices.getUserMedia = async (constraints?: MediaStreamConstraints) => { + const wantsAudio = !!constraints?.audio; + + if (!wantsAudio) { + return origGetUserMedia(constraints); + } + + // Get the original stream (may include video) + const originalStream = await origGetUserMedia(constraints); + const audioCtx = new AudioContext(); + const oscillator = audioCtx.createOscillator(); + + oscillator.frequency.value = 440; + + const dest = audioCtx.createMediaStreamDestination(); + + oscillator.connect(dest); + oscillator.start(); + + const synthAudioTrack = dest.stream.getAudioTracks()[0]; + const resultStream = new MediaStream(); + + resultStream.addTrack(synthAudioTrack); + + // Keep any video tracks from the original stream + for (const videoTrack of originalStream.getVideoTracks()) { + resultStream.addTrack(videoTrack); + } + + // Stop original audio tracks since we're not using them + for (const track of originalStream.getAudioTracks()) { + track.stop(); + } + + return resultStream; + }; + + // Patch getDisplayMedia to return a synthetic screen share stream + // (canvas-based video + 880Hz oscillator audio) so the browser + // picker dialog is never shown. + navigator.mediaDevices.getDisplayMedia = async (_constraints?: DisplayMediaStreamOptions) => { + const canvas = document.createElement('canvas'); + + canvas.width = 640; + canvas.height = 480; + + const ctx = canvas.getContext('2d'); + + if (!ctx) { + throw new Error('Canvas 2D context unavailable'); + } + + let frameCount = 0; + + // Draw animated frames so video stats show increasing bytes + const drawFrame = () => { + frameCount++; + ctx.fillStyle = `hsl(${frameCount % 360}, 70%, 50%)`; + ctx.fillRect(0, 0, canvas.width, canvas.height); + ctx.fillStyle = '#fff'; + ctx.font = '24px monospace'; + ctx.fillText(`Screen Share Frame ${frameCount}`, 40, 60); + }; + + drawFrame(); + const drawInterval = setInterval(drawFrame, 100); + const videoStream = canvas.captureStream(10); // 10 fps + const videoTrack = videoStream.getVideoTracks()[0]; + + // Stop drawing when the track ends + videoTrack.addEventListener('ended', () => clearInterval(drawInterval)); + + // Create 880Hz oscillator for screen share audio (distinct from 440Hz voice) + const audioCtx = new AudioContext(); + const osc = audioCtx.createOscillator(); + + osc.frequency.value = 880; + + const dest = audioCtx.createMediaStreamDestination(); + + osc.connect(dest); + osc.start(); + + const audioTrack = dest.stream.getAudioTracks()[0]; + // Combine video + audio into one stream + const resultStream = new MediaStream([videoTrack, audioTrack]); + + // Tag the stream so tests can identify it + (resultStream as any).__isScreenShare = true; + + return resultStream; + }; + }); +} + +/** + * Wait until at least one RTCPeerConnection reaches the 'connected' state. + */ +export async function waitForPeerConnected(page: Page, timeout = 30_000): Promise { + await page.waitForFunction( + () => (window as any).__rtcConnections?.some( + (pc: RTCPeerConnection) => pc.connectionState === 'connected' + ) ?? false, + { timeout } + ); +} + +/** + * Check that a peer connection is still in 'connected' state (not failed/disconnected). + */ +export async function isPeerStillConnected(page: Page): Promise { + return page.evaluate( + () => (window as any).__rtcConnections?.some( + (pc: RTCPeerConnection) => pc.connectionState === 'connected' + ) ?? false + ); +} + +/** + * Get outbound and inbound audio RTP stats aggregated across all peer + * connections. Uses a per-connection high water mark stored on `window` so + * that connections that close mid-measurement still contribute their last + * known counters, preventing the aggregate from going backwards. + */ +export async function getAudioStats(page: Page): Promise<{ + outbound: { bytesSent: number; packetsSent: number } | null; + inbound: { bytesReceived: number; packetsReceived: number } | null; +}> { + return page.evaluate(async () => { + const connections = (window as any).__rtcConnections as RTCPeerConnection[] | undefined; + + if (!connections?.length) + return { outbound: null, inbound: null }; + + interface HWMEntry { + outBytesSent: number; + outPacketsSent: number; + inBytesReceived: number; + inPacketsReceived: number; + hasOutbound: boolean; + hasInbound: boolean; + }; + + const hwm: Record = (window as any).__rtcStatsHWM = + ((window as any).__rtcStatsHWM as Record | undefined) ?? {}; + + for (let idx = 0; idx < connections.length; idx++) { + let stats: RTCStatsReport; + + try { + stats = await connections[idx].getStats(); + } catch { + continue; // closed connection - keep its last HWM + } + + let obytes = 0; + let opackets = 0; + let ibytes = 0; + let ipackets = 0; + let hasOut = false; + let hasIn = false; + + stats.forEach((report: any) => { + const kind = report.kind ?? report.mediaType; + + if (report.type === 'outbound-rtp' && kind === 'audio') { + hasOut = true; + obytes += report.bytesSent ?? 0; + opackets += report.packetsSent ?? 0; + } + + if (report.type === 'inbound-rtp' && kind === 'audio') { + hasIn = true; + ibytes += report.bytesReceived ?? 0; + ipackets += report.packetsReceived ?? 0; + } + }); + + if (hasOut || hasIn) { + hwm[idx] = { + outBytesSent: obytes, + outPacketsSent: opackets, + inBytesReceived: ibytes, + inPacketsReceived: ipackets, + hasOutbound: hasOut, + hasInbound: hasIn + }; + } + } + + let totalOutBytes = 0; + let totalOutPackets = 0; + let totalInBytes = 0; + let totalInPackets = 0; + let anyOutbound = false; + let anyInbound = false; + + for (const entry of Object.values(hwm)) { + totalOutBytes += entry.outBytesSent; + totalOutPackets += entry.outPacketsSent; + totalInBytes += entry.inBytesReceived; + totalInPackets += entry.inPacketsReceived; + + if (entry.hasOutbound) + anyOutbound = true; + + if (entry.hasInbound) + anyInbound = true; + } + + return { + outbound: anyOutbound + ? { bytesSent: totalOutBytes, packetsSent: totalOutPackets } + : null, + inbound: anyInbound + ? { bytesReceived: totalInBytes, packetsReceived: totalInPackets } + : null + }; + }); +} + +/** + * Snapshot audio stats, wait `durationMs`, snapshot again, and return the delta. + * Useful for verifying audio is actively flowing (bytes increasing). + */ +export async function getAudioStatsDelta(page: Page, durationMs = 3_000): Promise<{ + outboundBytesDelta: number; + inboundBytesDelta: number; + outboundPacketsDelta: number; + inboundPacketsDelta: number; +}> { + const before = await getAudioStats(page); + + await page.waitForTimeout(durationMs); + + const after = await getAudioStats(page); + + return { + outboundBytesDelta: (after.outbound?.bytesSent ?? 0) - (before.outbound?.bytesSent ?? 0), + inboundBytesDelta: (after.inbound?.bytesReceived ?? 0) - (before.inbound?.bytesReceived ?? 0), + outboundPacketsDelta: (after.outbound?.packetsSent ?? 0) - (before.outbound?.packetsSent ?? 0), + inboundPacketsDelta: (after.inbound?.packetsReceived ?? 0) - (before.inbound?.packetsReceived ?? 0) + }; +} + +/** + * Wait until at least one connection has both outbound-rtp and inbound-rtp + * audio reports. Call after `waitForPeerConnected` to ensure the audio + * pipeline is ready before measuring deltas. + */ +export async function waitForAudioStatsPresent(page: Page, timeout = 15_000): Promise { + await page.waitForFunction( + async () => { + const connections = (window as any).__rtcConnections as RTCPeerConnection[] | undefined; + + if (!connections?.length) + return false; + + for (const pc of connections) { + let stats: RTCStatsReport; + + try { + stats = await pc.getStats(); + } catch { + continue; + } + + let hasOut = false; + let hasIn = false; + + stats.forEach((report: any) => { + const kind = report.kind ?? report.mediaType; + + if (report.type === 'outbound-rtp' && kind === 'audio') + hasOut = true; + + if (report.type === 'inbound-rtp' && kind === 'audio') + hasIn = true; + }); + + if (hasOut && hasIn) + return true; + } + + return false; + }, + { timeout } + ); +} + +interface AudioFlowDelta { + outboundBytesDelta: number; + inboundBytesDelta: number; + outboundPacketsDelta: number; + inboundPacketsDelta: number; +} + +function snapshotToDelta( + curr: Awaited>, + prev: Awaited> +): AudioFlowDelta { + return { + outboundBytesDelta: (curr.outbound?.bytesSent ?? 0) - (prev.outbound?.bytesSent ?? 0), + inboundBytesDelta: (curr.inbound?.bytesReceived ?? 0) - (prev.inbound?.bytesReceived ?? 0), + outboundPacketsDelta: (curr.outbound?.packetsSent ?? 0) - (prev.outbound?.packetsSent ?? 0), + inboundPacketsDelta: (curr.inbound?.packetsReceived ?? 0) - (prev.inbound?.packetsReceived ?? 0) + }; +} + +function isDeltaFlowing(delta: AudioFlowDelta): boolean { + const outFlowing = delta.outboundBytesDelta > 0 || delta.outboundPacketsDelta > 0; + const inFlowing = delta.inboundBytesDelta > 0 || delta.inboundPacketsDelta > 0; + + return outFlowing && inFlowing; +} + +/** + * Poll until two consecutive HWM-based reads show both outbound and inbound + * audio byte counts increasing. Combines per-connection high-water marks + * (which prevent totals from going backwards after connection churn) with + * consecutive comparison (which avoids a stale single baseline). + */ +export async function waitForAudioFlow( + page: Page, + timeoutMs = 30_000, + pollIntervalMs = 1_000 +): Promise { + const deadline = Date.now() + timeoutMs; + + let prev = await getAudioStats(page); + + while (Date.now() < deadline) { + await page.waitForTimeout(pollIntervalMs); + const curr = await getAudioStats(page); + const delta = snapshotToDelta(curr, prev); + + if (isDeltaFlowing(delta)) { + return delta; + } + + prev = curr; + } + + // Timeout - return zero deltas so the caller's assertion reports the failure. + return { + outboundBytesDelta: 0, + inboundBytesDelta: 0, + outboundPacketsDelta: 0, + inboundPacketsDelta: 0 + }; +} + +/** + * Get outbound and inbound video RTP stats aggregated across all peer + * connections. Uses the same HWM pattern as {@link getAudioStats}. + */ +export async function getVideoStats(page: Page): Promise<{ + outbound: { bytesSent: number; packetsSent: number } | null; + inbound: { bytesReceived: number; packetsReceived: number } | null; +}> { + return page.evaluate(async () => { + const connections = (window as any).__rtcConnections as RTCPeerConnection[] | undefined; + + if (!connections?.length) + return { outbound: null, inbound: null }; + + interface VHWM { + outBytesSent: number; + outPacketsSent: number; + inBytesReceived: number; + inPacketsReceived: number; + hasOutbound: boolean; + hasInbound: boolean; + } + + const hwm: Record = (window as any).__rtcVideoStatsHWM = + ((window as any).__rtcVideoStatsHWM as Record | undefined) ?? {}; + + for (let idx = 0; idx < connections.length; idx++) { + let stats: RTCStatsReport; + + try { + stats = await connections[idx].getStats(); + } catch { + continue; + } + + let obytes = 0; + let opackets = 0; + let ibytes = 0; + let ipackets = 0; + let hasOut = false; + let hasIn = false; + + stats.forEach((report: any) => { + const kind = report.kind ?? report.mediaType; + + if (report.type === 'outbound-rtp' && kind === 'video') { + hasOut = true; + obytes += report.bytesSent ?? 0; + opackets += report.packetsSent ?? 0; + } + + if (report.type === 'inbound-rtp' && kind === 'video') { + hasIn = true; + ibytes += report.bytesReceived ?? 0; + ipackets += report.packetsReceived ?? 0; + } + }); + + if (hasOut || hasIn) { + hwm[idx] = { + outBytesSent: obytes, + outPacketsSent: opackets, + inBytesReceived: ibytes, + inPacketsReceived: ipackets, + hasOutbound: hasOut, + hasInbound: hasIn + }; + } + } + + let totalOutBytes = 0; + let totalOutPackets = 0; + let totalInBytes = 0; + let totalInPackets = 0; + let anyOutbound = false; + let anyInbound = false; + + for (const entry of Object.values(hwm)) { + totalOutBytes += entry.outBytesSent; + totalOutPackets += entry.outPacketsSent; + totalInBytes += entry.inBytesReceived; + totalInPackets += entry.inPacketsReceived; + + if (entry.hasOutbound) + anyOutbound = true; + + if (entry.hasInbound) + anyInbound = true; + } + + return { + outbound: anyOutbound + ? { bytesSent: totalOutBytes, packetsSent: totalOutPackets } + : null, + inbound: anyInbound + ? { bytesReceived: totalInBytes, packetsReceived: totalInPackets } + : null + }; + }); +} + +/** + * Wait until at least one connection has both outbound-rtp and inbound-rtp + * video reports. + */ +export async function waitForVideoStatsPresent(page: Page, timeout = 15_000): Promise { + await page.waitForFunction( + async () => { + const connections = (window as any).__rtcConnections as RTCPeerConnection[] | undefined; + + if (!connections?.length) + return false; + + for (const pc of connections) { + let stats: RTCStatsReport; + + try { + stats = await pc.getStats(); + } catch { + continue; + } + + let hasOut = false; + let hasIn = false; + + stats.forEach((report: any) => { + const kind = report.kind ?? report.mediaType; + + if (report.type === 'outbound-rtp' && kind === 'video') + hasOut = true; + + if (report.type === 'inbound-rtp' && kind === 'video') + hasIn = true; + }); + + if (hasOut && hasIn) + return true; + } + + return false; + }, + { timeout } + ); +} + +interface VideoFlowDelta { + outboundBytesDelta: number; + inboundBytesDelta: number; + outboundPacketsDelta: number; + inboundPacketsDelta: number; +} + +function videoSnapshotToDelta( + curr: Awaited>, + prev: Awaited> +): VideoFlowDelta { + return { + outboundBytesDelta: (curr.outbound?.bytesSent ?? 0) - (prev.outbound?.bytesSent ?? 0), + inboundBytesDelta: (curr.inbound?.bytesReceived ?? 0) - (prev.inbound?.bytesReceived ?? 0), + outboundPacketsDelta: (curr.outbound?.packetsSent ?? 0) - (prev.outbound?.packetsSent ?? 0), + inboundPacketsDelta: (curr.inbound?.packetsReceived ?? 0) - (prev.inbound?.packetsReceived ?? 0) + }; +} + +function isVideoDeltaFlowing(delta: VideoFlowDelta): boolean { + const outFlowing = delta.outboundBytesDelta > 0 || delta.outboundPacketsDelta > 0; + const inFlowing = delta.inboundBytesDelta > 0 || delta.inboundPacketsDelta > 0; + + return outFlowing && inFlowing; +} + +/** + * Poll until two consecutive HWM-based reads show both outbound and inbound + * video byte counts increasing - proving screen share video is flowing. + */ +export async function waitForVideoFlow( + page: Page, + timeoutMs = 30_000, + pollIntervalMs = 1_000 +): Promise { + const deadline = Date.now() + timeoutMs; + + let prev = await getVideoStats(page); + + while (Date.now() < deadline) { + await page.waitForTimeout(pollIntervalMs); + const curr = await getVideoStats(page); + const delta = videoSnapshotToDelta(curr, prev); + + if (isVideoDeltaFlowing(delta)) { + return delta; + } + + prev = curr; + } + + return { + outboundBytesDelta: 0, + inboundBytesDelta: 0, + outboundPacketsDelta: 0, + inboundPacketsDelta: 0 + }; +} + +/** + * Wait until outbound video bytes are increasing (sender side). + * Use on the page that is sharing its screen. + */ +export async function waitForOutboundVideoFlow( + page: Page, + timeoutMs = 30_000, + pollIntervalMs = 1_000 +): Promise { + const deadline = Date.now() + timeoutMs; + + let prev = await getVideoStats(page); + + while (Date.now() < deadline) { + await page.waitForTimeout(pollIntervalMs); + const curr = await getVideoStats(page); + const delta = videoSnapshotToDelta(curr, prev); + + if (delta.outboundBytesDelta > 0 || delta.outboundPacketsDelta > 0) { + return delta; + } + + prev = curr; + } + + return { + outboundBytesDelta: 0, + inboundBytesDelta: 0, + outboundPacketsDelta: 0, + inboundPacketsDelta: 0 + }; +} + +/** + * Wait until inbound video bytes are increasing (receiver side). + * Use on the page that is viewing someone else's screen share. + */ +export async function waitForInboundVideoFlow( + page: Page, + timeoutMs = 30_000, + pollIntervalMs = 1_000 +): Promise { + const deadline = Date.now() + timeoutMs; + + let prev = await getVideoStats(page); + + while (Date.now() < deadline) { + await page.waitForTimeout(pollIntervalMs); + const curr = await getVideoStats(page); + const delta = videoSnapshotToDelta(curr, prev); + + if (delta.inboundBytesDelta > 0 || delta.inboundPacketsDelta > 0) { + return delta; + } + + prev = curr; + } + + return { + outboundBytesDelta: 0, + inboundBytesDelta: 0, + outboundPacketsDelta: 0, + inboundPacketsDelta: 0 + }; +} + +/** + * Dump full RTC connection diagnostics for debugging audio flow failures. + */ +export async function dumpRtcDiagnostics(page: Page): Promise { + return page.evaluate(async () => { + const conns = (window as any).__rtcConnections as RTCPeerConnection[] | undefined; + + if (!conns?.length) + return 'No connections tracked'; + + const lines: string[] = [`Total connections: ${conns.length}`]; + + for (let idx = 0; idx < conns.length; idx++) { + const pc = conns[idx]; + + lines.push(`PC[${idx}]: connection=${pc.connectionState}, signaling=${pc.signalingState}`); + + const senders = pc.getSenders().map( + (sender) => `${sender.track?.kind ?? 'none'}:enabled=${sender.track?.enabled}:${sender.track?.readyState ?? 'null'}` + ); + const receivers = pc.getReceivers().map( + (recv) => `${recv.track?.kind ?? 'none'}:enabled=${recv.track?.enabled}:${recv.track?.readyState ?? 'null'}` + ); + + lines.push(` senders=[${senders.join(', ')}]`); + lines.push(` receivers=[${receivers.join(', ')}]`); + + try { + const stats = await pc.getStats(); + + stats.forEach((report: any) => { + if (report.type !== 'outbound-rtp' && report.type !== 'inbound-rtp') + return; + + const kind = report.kind ?? report.mediaType; + const bytes = report.type === 'outbound-rtp' ? report.bytesSent : report.bytesReceived; + const packets = report.type === 'outbound-rtp' ? report.packetsSent : report.packetsReceived; + + lines.push(` ${report.type}: kind=${kind}, bytes=${bytes}, packets=${packets}`); + }); + } catch (err: any) { + lines.push(` getStats() failed: ${err?.message ?? err}`); + } + } + + return lines.join('\n'); + }); +} diff --git a/e2e/pages/chat-messages.page.ts b/e2e/pages/chat-messages.page.ts new file mode 100644 index 0000000..65f1fc7 --- /dev/null +++ b/e2e/pages/chat-messages.page.ts @@ -0,0 +1,143 @@ +import { + expect, + type Locator, + type Page +} from '@playwright/test'; + +export type ChatDropFilePayload = { + name: string; + mimeType: string; + base64: string; +}; + +export class ChatMessagesPage { + readonly composer: Locator; + readonly composerInput: Locator; + readonly sendButton: Locator; + readonly typingIndicator: Locator; + readonly gifButton: Locator; + readonly gifPicker: Locator; + readonly messageItems: Locator; + + constructor(private page: Page) { + this.composer = page.locator('app-chat-message-composer'); + this.composerInput = page.getByPlaceholder('Type a message...'); + this.sendButton = page.getByRole('button', { name: 'Send message' }); + this.typingIndicator = page.locator('app-typing-indicator'); + this.gifButton = page.getByRole('button', { name: 'Search KLIPY GIFs' }); + this.gifPicker = page.getByRole('dialog', { name: 'KLIPY GIF picker' }); + this.messageItems = page.locator('[data-message-id]'); + } + + async waitForReady(): Promise { + await expect(this.composerInput).toBeVisible({ timeout: 30_000 }); + } + + async sendMessage(content: string): Promise { + await this.waitForReady(); + await this.composerInput.fill(content); + await this.sendButton.click(); + } + + async typeDraft(content: string): Promise { + await this.waitForReady(); + await this.composerInput.fill(content); + } + + async clearDraft(): Promise { + await this.waitForReady(); + await this.composerInput.fill(''); + } + + async attachFiles(files: ChatDropFilePayload[]): Promise { + await this.waitForReady(); + + await this.composerInput.evaluate((element, payloads: ChatDropFilePayload[]) => { + const dataTransfer = new DataTransfer(); + + for (const payload of payloads) { + const binary = atob(payload.base64); + const bytes = new Uint8Array(binary.length); + + for (let index = 0; index < binary.length; index++) { + bytes[index] = binary.charCodeAt(index); + } + + dataTransfer.items.add(new File([bytes], payload.name, { type: payload.mimeType })); + } + + element.dispatchEvent(new DragEvent('drop', { + bubbles: true, + cancelable: true, + dataTransfer + })); + }, files); + } + + async openGifPicker(): Promise { + await this.waitForReady(); + await this.gifButton.click(); + await expect(this.gifPicker).toBeVisible({ timeout: 10_000 }); + } + + async selectFirstGif(): Promise { + const gifCard = this.gifPicker.getByRole('button', { name: /click to select/i }).first(); + + await expect(gifCard).toBeVisible({ timeout: 10_000 }); + await gifCard.click(); + } + + getMessageItemByText(text: string): Locator { + return this.messageItems.filter({ + has: this.page.getByText(text, { exact: false }) + }).last(); + } + + getMessageImageByAlt(altText: string): Locator { + return this.page.locator(`[data-message-id] img[alt="${altText}"]`).last(); + } + + async expectMessageImageLoaded(altText: string): Promise { + const image = this.getMessageImageByAlt(altText); + + await expect(image).toBeVisible({ timeout: 20_000 }); + await expect.poll(async () => + image.evaluate((element) => { + const img = element as HTMLImageElement; + + return img.complete && img.naturalWidth > 0 && img.naturalHeight > 0; + }), { + timeout: 20_000, + message: `Image ${altText} should fully load in chat` + }).toBe(true); + } + + getEmbedCardByTitle(title: string): Locator { + return this.page.locator('app-chat-link-embed').filter({ + has: this.page.getByText(title, { exact: true }) + }).last(); + } + + async editOwnMessage(originalText: string, updatedText: string): Promise { + const messageItem = this.getMessageItemByText(originalText); + const editButton = messageItem.locator('button:has(ng-icon[name="lucideEdit"])').first(); + const editTextarea = this.page.locator('textarea.edit-textarea').first(); + const saveButton = this.page.locator('button:has(ng-icon[name="lucideCheck"])').first(); + + await expect(messageItem).toBeVisible({ timeout: 15_000 }); + await messageItem.hover(); + await editButton.click(); + await expect(editTextarea).toBeVisible({ timeout: 10_000 }); + await editTextarea.fill(updatedText); + await saveButton.click(); + } + + async deleteOwnMessage(text: string): Promise { + const messageItem = this.getMessageItemByText(text); + const deleteButton = messageItem.locator('button:has(ng-icon[name="lucideTrash2"])').first(); + + await expect(messageItem).toBeVisible({ timeout: 15_000 }); + await messageItem.hover(); + await deleteButton.click(); + } +} diff --git a/e2e/pages/chat-room.page.ts b/e2e/pages/chat-room.page.ts new file mode 100644 index 0000000..0f50554 --- /dev/null +++ b/e2e/pages/chat-room.page.ts @@ -0,0 +1,390 @@ +import { + expect, + type Page, + type Locator +} from '@playwright/test'; + +export class ChatRoomPage { + readonly chatMessages: Locator; + readonly voiceWorkspace: Locator; + readonly channelsSidePanel: Locator; + readonly usersSidePanel: Locator; + + constructor(private page: Page) { + this.chatMessages = page.locator('app-chat-messages'); + this.voiceWorkspace = page.locator('app-voice-workspace'); + this.channelsSidePanel = page.locator('app-rooms-side-panel').first(); + this.usersSidePanel = page.locator('app-rooms-side-panel').last(); + } + + /** Click a voice channel by name in the channels sidebar to join voice. */ + async joinVoiceChannel(channelName: string) { + const channelButton = this.page.locator('app-rooms-side-panel') + .getByRole('button', { name: channelName, exact: true }); + + await expect(channelButton).toBeVisible({ timeout: 15_000 }); + await channelButton.click(); + } + + /** Click a text channel by name in the channels sidebar to switch chat rooms. */ + async joinTextChannel(channelName: string) { + const channelButton = this.getTextChannelButton(channelName); + + if (await channelButton.count() === 0) { + await this.refreshRoomMetadata(); + } + + await expect(channelButton).toBeVisible({ timeout: 15_000 }); + await channelButton.click(); + } + + /** Creates a text channel and waits until it appears locally. */ + async ensureTextChannelExists(channelName: string) { + const channelButton = this.getTextChannelButton(channelName); + + if (await channelButton.count() > 0) { + return; + } + + await this.openCreateTextChannelDialog(); + await this.createChannel(channelName); + + try { + await expect(channelButton).toBeVisible({ timeout: 5_000 }); + } catch { + await this.createTextChannelThroughComponent(channelName); + } + + await this.persistCurrentChannelsToServer(channelName); + await expect(channelButton).toBeVisible({ timeout: 15_000 }); + } + + /** Click "Create Voice Channel" button in the channels sidebar. */ + async openCreateVoiceChannelDialog() { + await this.page.locator('button[title="Create Voice Channel"]').click(); + } + + /** Click "Create Text Channel" button in the channels sidebar. */ + async openCreateTextChannelDialog() { + await this.page.locator('button[title="Create Text Channel"]').click(); + } + + /** Fill the channel name in the create channel dialog and confirm. */ + async createChannel(name: string) { + const dialog = this.page.locator('app-confirm-dialog'); + const channelNameInput = dialog.getByPlaceholder('Channel name'); + const createButton = dialog.getByRole('button', { name: 'Create', exact: true }); + + await expect(channelNameInput).toBeVisible({ timeout: 10_000 }); + await channelNameInput.fill(name); + await channelNameInput.press('Enter'); + + if (await dialog.isVisible()) { + try { + await createButton.click(); + } catch { + // Enter may already have confirmed and removed the dialog. + } + } + + await expect(dialog).not.toBeVisible({ timeout: 10_000 }); + } + + /** Get the voice controls component. */ + get voiceControls() { + return this.page.locator('app-voice-controls'); + } + + /** Get the mute toggle button inside voice controls. */ + get muteButton() { + return this.voiceControls.locator('button:has(ng-icon[name="lucideMic"]), button:has(ng-icon[name="lucideMicOff"])').first(); + } + + /** Get the disconnect/hang-up button (destructive styled). */ + get disconnectButton() { + return this.voiceControls.locator('button:has(ng-icon[name="lucidePhoneOff"])').first(); + } + + /** Get all voice stream tiles. */ + get streamTiles() { + return this.page.locator('app-voice-workspace-stream-tile'); + } + + /** Get the count of voice users listed under a voice channel. */ + async getVoiceUserCountInChannel(channelName: string): Promise { + const channelSection = this.page.locator('app-rooms-side-panel') + .getByRole('button', { name: channelName }) + .locator('..'); + const userAvatars = channelSection.locator('app-user-avatar'); + + return userAvatars.count(); + } + + /** Get the screen share toggle button inside voice controls. */ + get screenShareButton() { + return this.voiceControls.locator( + 'button:has(ng-icon[name="lucideMonitor"]), button:has(ng-icon[name="lucideMonitorOff"])' + ).first(); + } + + /** Start screen sharing. Bypasses the quality dialog via localStorage preset. */ + async startScreenShare() { + // Disable quality dialog so clicking the button starts sharing immediately + await this.page.evaluate(() => { + const key = 'metoyou_voice_settings'; + const raw = localStorage.getItem(key); + const settings = raw ? JSON.parse(raw) : {}; + + settings.askScreenShareQuality = false; + settings.screenShareQuality = 'balanced'; + localStorage.setItem(key, JSON.stringify(settings)); + }); + + await this.screenShareButton.click(); + } + + /** Stop screen sharing by clicking the active screen share button. */ + async stopScreenShare() { + await this.screenShareButton.click(); + } + + /** Check whether the screen share button shows the active (MonitorOff) icon. */ + get isScreenShareActive() { + return this.voiceControls.locator('button:has(ng-icon[name="lucideMonitorOff"])').first(); + } + + private getTextChannelButton(channelName: string): Locator { + const channelPattern = new RegExp(`#\\s*${escapeRegExp(channelName)}$`, 'i'); + + return this.channelsSidePanel.getByRole('button', { name: channelPattern }).first(); + } + + private async createTextChannelThroughComponent(channelName: string): Promise { + await this.page.evaluate((name) => { + interface ChannelSidebarComponent { + createChannel: (type: 'text' | 'voice') => void; + newChannelName: string; + confirmCreateChannel: () => void; + } + interface AngularDebugApi { + getComponent: (element: Element) => ChannelSidebarComponent; + } + interface WindowWithAngularDebug extends Window { + ng?: AngularDebugApi; + } + + const host = document.querySelector('app-rooms-side-panel'); + const debugApi = (window as WindowWithAngularDebug).ng; + + if (!host || !debugApi?.getComponent) { + throw new Error('Angular debug API unavailable for text channel fallback'); + } + + const component = debugApi.getComponent(host); + + component.createChannel('text'); + component.newChannelName = name; + component.confirmCreateChannel(); + }, channelName); + } + + private async persistCurrentChannelsToServer(channelName: string): Promise { + const result = await this.page.evaluate(async (requestedChannelName) => { + interface ServerEndpoint { + isActive?: boolean; + url: string; + } + + interface ChannelShape { + id: string; + name: string; + type: 'text' | 'voice'; + position: number; + } + + interface RoomShape { + id: string; + sourceUrl?: string; + channels?: ChannelShape[]; + } + + interface UserShape { + id: string; + } + + interface ChannelSidebarComponent { + currentRoom: () => RoomShape | null; + currentUser: () => UserShape | null; + } + + interface AngularDebugApi { + getComponent: (element: Element) => ChannelSidebarComponent; + } + + interface WindowWithAngularDebug extends Window { + ng?: AngularDebugApi; + } + + const host = document.querySelector('app-rooms-side-panel'); + const debugApi = (window as WindowWithAngularDebug).ng; + + if (!host || !debugApi?.getComponent) { + throw new Error('Angular debug API unavailable for channel persistence'); + } + + const component = debugApi.getComponent(host); + const room = component.currentRoom(); + const currentUser = component.currentUser(); + const endpoints = JSON.parse(localStorage.getItem('metoyou_server_endpoints') || '[]') as ServerEndpoint[]; + const activeEndpoint = endpoints.find((endpoint) => endpoint.isActive) || endpoints[0] || null; + const apiBaseUrl = room?.sourceUrl || activeEndpoint?.url; + const normalizedChannelName = requestedChannelName.trim().replace(/\s+/g, ' '); + const existingChannels = Array.isArray(room?.channels) ? room.channels : []; + const hasTextChannel = existingChannels.some((channel) => + channel.type === 'text' && channel.name.trim().toLowerCase() === normalizedChannelName.toLowerCase() + ); + const nextChannels = hasTextChannel + ? existingChannels + : [ + ...existingChannels, + { + id: globalThis.crypto.randomUUID(), + name: normalizedChannelName, + type: 'text' as const, + position: existingChannels.length + } + ]; + + if (!room?.id || !currentUser?.id || !apiBaseUrl) { + throw new Error('Missing room, user, or endpoint when persisting channels'); + } + + const response = await fetch(`${apiBaseUrl}/api/servers/${room.id}`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ + currentOwnerId: currentUser.id, + channels: nextChannels + }) + }); + + if (!response.ok) { + throw new Error(`Failed to persist channels: ${response.status}`); + } + + return { roomId: room.id, channels: nextChannels }; + }, channelName); + + // Update NGRX store directly so the UI reflects the new channel + // immediately, without waiting for an async effect round-trip. + await this.dispatchRoomChannelsUpdate(result.roomId, result.channels); + } + + private async dispatchRoomChannelsUpdate( + roomId: string, + channels: { id: string; name: string; type: string; position: number }[] + ): Promise { + await this.page.evaluate(({ rid, chs }) => { + interface AngularDebugApi { + getComponent: (element: Element) => Record; + } + + const host = document.querySelector('app-rooms-side-panel'); + const debugApi = (window as { ng?: AngularDebugApi }).ng; + + if (!host || !debugApi?.getComponent) { + return; + } + + const component = debugApi.getComponent(host); + const store = component['store'] as { dispatch: (a: Record) => void } | undefined; + + if (store?.dispatch) { + store.dispatch({ + type: '[Rooms] Update Room', + roomId: rid, + changes: { channels: chs } + }); + } + }, { rid: roomId, chs: channels }); + } + + private async refreshRoomMetadata(): Promise { + await this.page.evaluate(async () => { + interface ServerEndpoint { + isActive?: boolean; + url: string; + } + + interface ChannelShape { + id: string; + name: string; + type: 'text' | 'voice'; + position: number; + } + + interface AngularDebugApi { + getComponent: (element: Element) => Record; + } + + interface WindowWithAngularDebug extends Window { + ng?: AngularDebugApi; + } + + const host = document.querySelector('app-rooms-side-panel'); + const debugApi = (window as WindowWithAngularDebug).ng; + + if (!host || !debugApi?.getComponent) { + throw new Error('Angular debug API unavailable for room refresh'); + } + + const component = debugApi.getComponent(host); + const currentRoom = typeof component['currentRoom'] === 'function' + ? (component['currentRoom'] as () => { id: string; sourceUrl?: string; channels?: ChannelShape[] } | null)() + : null; + + if (!currentRoom) { + throw new Error('No current room to refresh'); + } + + const store = component['store'] as { dispatch: (action: Record) => void } | undefined; + + if (!store?.dispatch) { + throw new Error('NGRX store not available on component'); + } + + // Fetch server data directly via REST API instead of triggering + // an async NGRX effect that can race with pending writes. + const endpoints = JSON.parse(localStorage.getItem('metoyou_server_endpoints') || '[]') as ServerEndpoint[]; + const activeEndpoint = endpoints.find((ep) => ep.isActive) || endpoints[0] || null; + const apiBaseUrl = currentRoom.sourceUrl || activeEndpoint?.url; + + if (!apiBaseUrl) { + throw new Error('No API base URL available for room refresh'); + } + + const response = await fetch(`${apiBaseUrl}/api/servers/${currentRoom.id}`); + + if (response.ok) { + const serverData = await response.json() as { channels?: ChannelShape[] }; + + if (serverData.channels?.length) { + store.dispatch({ + type: '[Rooms] Update Room', + roomId: currentRoom.id, + changes: { channels: serverData.channels } + }); + } + } + }); + + // Brief wait for Angular change detection to propagate + await this.page.waitForTimeout(500); + } +} + +function escapeRegExp(value: string): string { + return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); +} diff --git a/e2e/pages/login.page.ts b/e2e/pages/login.page.ts new file mode 100644 index 0000000..9a9f905 --- /dev/null +++ b/e2e/pages/login.page.ts @@ -0,0 +1,29 @@ +import { type Page, type Locator } from '@playwright/test'; + +export class LoginPage { + readonly usernameInput: Locator; + readonly passwordInput: Locator; + readonly serverSelect: Locator; + readonly submitButton: Locator; + readonly errorText: Locator; + readonly registerLink: Locator; + + constructor(private page: Page) { + this.usernameInput = page.locator('#login-username'); + this.passwordInput = page.locator('#login-password'); + this.serverSelect = page.locator('#login-server'); + this.submitButton = page.getByRole('button', { name: 'Login' }); + this.errorText = page.locator('.text-destructive'); + this.registerLink = page.getByRole('button', { name: 'Register' }); + } + + async goto() { + await this.page.goto('/login'); + } + + async login(username: string, password: string) { + await this.usernameInput.fill(username); + await this.passwordInput.fill(password); + await this.submitButton.click(); + } +} diff --git a/e2e/pages/register.page.ts b/e2e/pages/register.page.ts new file mode 100644 index 0000000..ed6082a --- /dev/null +++ b/e2e/pages/register.page.ts @@ -0,0 +1,45 @@ +import { expect, type Page, type Locator } from '@playwright/test'; + +export class RegisterPage { + readonly usernameInput: Locator; + readonly displayNameInput: Locator; + readonly passwordInput: Locator; + readonly serverSelect: Locator; + readonly submitButton: Locator; + readonly errorText: Locator; + readonly loginLink: Locator; + + constructor(private page: Page) { + this.usernameInput = page.locator('#register-username'); + this.displayNameInput = page.locator('#register-display-name'); + this.passwordInput = page.locator('#register-password'); + this.serverSelect = page.locator('#register-server'); + this.submitButton = page.getByRole('button', { name: 'Create Account' }); + this.errorText = page.locator('.text-destructive'); + this.loginLink = page.getByRole('button', { name: 'Login' }); + } + + async goto() { + await this.page.goto('/register', { waitUntil: 'domcontentloaded' }); + + try { + await expect(this.usernameInput).toBeVisible({ timeout: 10_000 }); + } catch { + // Angular router may redirect to /login on first load; click through. + const registerLink = this.page.getByRole('link', { name: 'Register' }) + .or(this.page.getByText('Register')); + + await registerLink.first().click(); + await expect(this.usernameInput).toBeVisible({ timeout: 30_000 }); + } + + await expect(this.submitButton).toBeVisible({ timeout: 30_000 }); + } + + async register(username: string, displayName: string, password: string) { + await this.usernameInput.fill(username); + await this.displayNameInput.fill(displayName); + await this.passwordInput.fill(password); + await this.submitButton.click(); + } +} diff --git a/e2e/pages/server-search.page.ts b/e2e/pages/server-search.page.ts new file mode 100644 index 0000000..14679f2 --- /dev/null +++ b/e2e/pages/server-search.page.ts @@ -0,0 +1,65 @@ +import { + type Page, + type Locator, + expect +} from '@playwright/test'; + +export class ServerSearchPage { + readonly searchInput: Locator; + readonly createServerButton: Locator; + readonly settingsButton: Locator; + + // Create server dialog + readonly serverNameInput: Locator; + readonly serverDescriptionInput: Locator; + readonly serverTopicInput: Locator; + readonly signalEndpointSelect: Locator; + readonly privateCheckbox: Locator; + readonly serverPasswordInput: Locator; + readonly dialogCreateButton: Locator; + readonly dialogCancelButton: Locator; + + constructor(private page: Page) { + this.searchInput = page.getByPlaceholder('Search servers...'); + this.createServerButton = page.getByRole('button', { name: 'Create New Server' }); + this.settingsButton = page.locator('button[title="Settings"]'); + + // Create dialog elements + this.serverNameInput = page.locator('#create-server-name'); + this.serverDescriptionInput = page.locator('#create-server-description'); + this.serverTopicInput = page.locator('#create-server-topic'); + this.signalEndpointSelect = page.locator('#create-server-signal-endpoint'); + this.privateCheckbox = page.locator('#private'); + this.serverPasswordInput = page.locator('#create-server-password'); + this.dialogCreateButton = page.locator('div[role="dialog"]').getByRole('button', { name: 'Create' }); + this.dialogCancelButton = page.locator('div[role="dialog"]').getByRole('button', { name: 'Cancel' }); + } + + async goto() { + await this.page.goto('/search'); + } + + async createServer(name: string, options?: { description?: string; topic?: string }) { + await this.createServerButton.click(); + await expect(this.serverNameInput).toBeVisible(); + await this.serverNameInput.fill(name); + + if (options?.description) { + await this.serverDescriptionInput.fill(options.description); + } + + if (options?.topic) { + await this.serverTopicInput.fill(options.topic); + } + + await this.dialogCreateButton.click(); + } + + async joinSavedRoom(name: string) { + await this.page.getByRole('button', { name }).click(); + } + + async joinServerFromSearch(name: string) { + await this.page.locator('button', { hasText: name }).click(); + } +} diff --git a/e2e/playwright.config.ts b/e2e/playwright.config.ts new file mode 100644 index 0000000..560f5d9 --- /dev/null +++ b/e2e/playwright.config.ts @@ -0,0 +1,39 @@ +import { defineConfig, devices } from '@playwright/test'; + +export default defineConfig({ + testDir: './tests', + timeout: 90_000, + expect: { timeout: 10_000 }, + retries: process.env.CI ? 2 : 0, + workers: 1, + reporter: [['html', { outputFolder: '../test-results/html-report' }], ['list']], + outputDir: '../test-results/artifacts', + use: { + baseURL: 'http://localhost:4200', + trace: 'on-first-retry', + screenshot: 'only-on-failure', + video: 'on-first-retry', + actionTimeout: 15_000, + }, + projects: [ + { + name: 'chromium', + use: { + ...devices['Desktop Chrome'], + permissions: ['microphone', 'camera'], + launchOptions: { + args: [ + '--use-fake-device-for-media-stream', + '--use-fake-ui-for-media-stream', + ], + }, + }, + }, + ], + webServer: { + command: 'cd ../toju-app && npx ng serve', + port: 4200, + reuseExistingServer: !process.env.CI, + timeout: 120_000, + }, +}); diff --git a/e2e/tests/chat/chat-message-features.spec.ts b/e2e/tests/chat/chat-message-features.spec.ts new file mode 100644 index 0000000..e8d75af --- /dev/null +++ b/e2e/tests/chat/chat-message-features.spec.ts @@ -0,0 +1,295 @@ +import { type Page } from '@playwright/test'; +import { test, expect, type Client } from '../../fixtures/multi-client'; +import { RegisterPage } from '../../pages/register.page'; +import { ServerSearchPage } from '../../pages/server-search.page'; +import { ChatRoomPage } from '../../pages/chat-room.page'; +import { + ChatMessagesPage, + type ChatDropFilePayload +} from '../../pages/chat-messages.page'; + +const MOCK_EMBED_URL = 'https://example.test/mock-embed'; +const MOCK_EMBED_TITLE = 'Mock Embed Title'; +const MOCK_EMBED_DESCRIPTION = 'Mock embed description for chat E2E coverage.'; +const MOCK_GIF_IMAGE_URL = 'data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=='; +const DELETED_MESSAGE_CONTENT = '[Message deleted]'; + +test.describe('Chat messaging features', () => { + test.describe.configure({ timeout: 180_000 }); + + test('syncs messages in a newly created text channel', async ({ createClient }) => { + const scenario = await createChatScenario(createClient); + const channelName = uniqueName('updates'); + const aliceMessage = `Alice text channel message ${uniqueName('msg')}`; + const bobMessage = `Bob text channel reply ${uniqueName('msg')}`; + + await test.step('Alice creates a new text channel and both users join it', async () => { + await scenario.aliceRoom.ensureTextChannelExists(channelName); + await scenario.aliceRoom.joinTextChannel(channelName); + await scenario.bobRoom.joinTextChannel(channelName); + }); + + await test.step('Alice and Bob see synced messages in the new text channel', async () => { + await scenario.aliceMessages.sendMessage(aliceMessage); + await expect(scenario.bobMessages.getMessageItemByText(aliceMessage)).toBeVisible({ timeout: 20_000 }); + + await scenario.bobMessages.sendMessage(bobMessage); + await expect(scenario.aliceMessages.getMessageItemByText(bobMessage)).toBeVisible({ timeout: 20_000 }); + }); + }); + + test('shows typing indicators to other users', async ({ createClient }) => { + const scenario = await createChatScenario(createClient); + const draftMessage = `Typing indicator draft ${uniqueName('draft')}`; + + await test.step('Alice starts typing in general channel', async () => { + await scenario.aliceMessages.typeDraft(draftMessage); + }); + + await test.step('Bob sees Alice typing', async () => { + await expect(scenario.bob.page.getByText('Alice is typing...')).toBeVisible({ timeout: 10_000 }); + }); + }); + + test('edits and removes messages for both users', async ({ createClient }) => { + const scenario = await createChatScenario(createClient); + const originalMessage = `Editable message ${uniqueName('edit')}`; + const updatedMessage = `Edited message ${uniqueName('edit')}`; + + await test.step('Alice sends a message and Bob receives it', async () => { + await scenario.aliceMessages.sendMessage(originalMessage); + await expect(scenario.bobMessages.getMessageItemByText(originalMessage)).toBeVisible({ timeout: 20_000 }); + }); + + await test.step('Alice edits the message and both users see updated content', async () => { + await scenario.aliceMessages.editOwnMessage(originalMessage, updatedMessage); + await expect(scenario.aliceMessages.getMessageItemByText(updatedMessage)).toBeVisible({ timeout: 20_000 }); + await expect(scenario.alice.page.getByText('(edited)')).toBeVisible({ timeout: 10_000 }); + await expect(scenario.bobMessages.getMessageItemByText(updatedMessage)).toBeVisible({ timeout: 20_000 }); + }); + + await test.step('Alice deletes the message and both users see deletion state', async () => { + await scenario.aliceMessages.deleteOwnMessage(updatedMessage); + await expect(scenario.aliceMessages.getMessageItemByText(DELETED_MESSAGE_CONTENT)).toBeVisible({ timeout: 20_000 }); + await expect(scenario.bobMessages.getMessageItemByText(DELETED_MESSAGE_CONTENT)).toBeVisible({ timeout: 20_000 }); + }); + }); + + test('syncs image and file attachments between users', async ({ createClient }) => { + const scenario = await createChatScenario(createClient); + const imageName = `${uniqueName('diagram')}.svg`; + const fileName = `${uniqueName('notes')}.txt`; + const imageCaption = `Image upload ${uniqueName('caption')}`; + const fileCaption = `File upload ${uniqueName('caption')}`; + const imageAttachment = createTextFilePayload(imageName, 'image/svg+xml', buildMockSvgMarkup(imageName)); + const fileAttachment = createTextFilePayload(fileName, 'text/plain', `Attachment body for ${fileName}`); + + await test.step('Alice sends image attachment and Bob receives it', async () => { + await scenario.aliceMessages.attachFiles([imageAttachment]); + await scenario.aliceMessages.sendMessage(imageCaption); + + await scenario.aliceMessages.expectMessageImageLoaded(imageName); + await expect(scenario.bobMessages.getMessageItemByText(imageCaption)).toBeVisible({ timeout: 20_000 }); + await scenario.bobMessages.expectMessageImageLoaded(imageName); + }); + + await test.step('Alice sends generic file attachment and Bob receives it', async () => { + await scenario.aliceMessages.attachFiles([fileAttachment]); + await scenario.aliceMessages.sendMessage(fileCaption); + + await expect(scenario.bobMessages.getMessageItemByText(fileCaption)).toBeVisible({ timeout: 20_000 }); + await expect(scenario.bob.page.getByText(fileName, { exact: false })).toBeVisible({ timeout: 20_000 }); + }); + }); + + test('renders link embeds for shared links', async ({ createClient }) => { + const scenario = await createChatScenario(createClient); + const messageText = `Useful docs ${MOCK_EMBED_URL}`; + + await test.step('Alice shares a link in chat', async () => { + await scenario.aliceMessages.sendMessage(messageText); + await expect(scenario.bobMessages.getMessageItemByText(messageText)).toBeVisible({ timeout: 20_000 }); + }); + + await test.step('Both users see mocked link embed metadata', async () => { + await expect(scenario.aliceMessages.getEmbedCardByTitle(MOCK_EMBED_TITLE)).toBeVisible({ timeout: 20_000 }); + await expect(scenario.bobMessages.getEmbedCardByTitle(MOCK_EMBED_TITLE)).toBeVisible({ timeout: 20_000 }); + await expect(scenario.bob.page.getByText(MOCK_EMBED_DESCRIPTION)).toBeVisible({ timeout: 20_000 }); + }); + }); + + test('sends KLIPY GIF messages with mocked API responses', async ({ createClient }) => { + const scenario = await createChatScenario(createClient); + + await test.step('Alice opens GIF picker and sends mocked GIF', async () => { + await scenario.aliceMessages.openGifPicker(); + await scenario.aliceMessages.selectFirstGif(); + }); + + await test.step('Bob sees GIF message sync', async () => { + await scenario.aliceMessages.expectMessageImageLoaded('KLIPY GIF'); + await scenario.bobMessages.expectMessageImageLoaded('KLIPY GIF'); + }); + }); +}); + +type ChatScenario = { + alice: Client; + bob: Client; + aliceRoom: ChatRoomPage; + bobRoom: ChatRoomPage; + aliceMessages: ChatMessagesPage; + bobMessages: ChatMessagesPage; +}; + +async function createChatScenario(createClient: () => Promise): Promise { + const suffix = uniqueName('chat'); + const serverName = `Chat Server ${suffix}`; + const aliceCredentials = { + username: `alice_${suffix}`, + displayName: 'Alice', + password: 'TestPass123!' + }; + const bobCredentials = { + username: `bob_${suffix}`, + displayName: 'Bob', + password: 'TestPass123!' + }; + const alice = await createClient(); + const bob = await createClient(); + + await installChatFeatureMocks(alice.page); + await installChatFeatureMocks(bob.page); + + const aliceRegisterPage = new RegisterPage(alice.page); + const bobRegisterPage = new RegisterPage(bob.page); + + await aliceRegisterPage.goto(); + await aliceRegisterPage.register( + aliceCredentials.username, + aliceCredentials.displayName, + aliceCredentials.password + ); + await expect(alice.page).toHaveURL(/\/search/, { timeout: 15_000 }); + + await bobRegisterPage.goto(); + await bobRegisterPage.register( + bobCredentials.username, + bobCredentials.displayName, + bobCredentials.password + ); + await expect(bob.page).toHaveURL(/\/search/, { timeout: 15_000 }); + + const aliceSearchPage = new ServerSearchPage(alice.page); + + await aliceSearchPage.createServer(serverName, { + description: 'E2E chat server for messaging feature coverage' + }); + await expect(alice.page).toHaveURL(/\/room\//, { timeout: 15_000 }); + + const bobSearchPage = new ServerSearchPage(bob.page); + const serverCard = bob.page.locator('button', { hasText: serverName }).first(); + + await bobSearchPage.searchInput.fill(serverName); + await expect(serverCard).toBeVisible({ timeout: 15_000 }); + await serverCard.click(); + await expect(bob.page).toHaveURL(/\/room\//, { timeout: 15_000 }); + + const aliceRoom = new ChatRoomPage(alice.page); + const bobRoom = new ChatRoomPage(bob.page); + const aliceMessages = new ChatMessagesPage(alice.page); + const bobMessages = new ChatMessagesPage(bob.page); + + await aliceMessages.waitForReady(); + await bobMessages.waitForReady(); + + return { + alice, + bob, + aliceRoom, + bobRoom, + aliceMessages, + bobMessages + }; +} + +async function installChatFeatureMocks(page: Page): Promise { + await page.route('**/api/klipy/config', async (route) => { + await route.fulfill({ + status: 200, + contentType: 'application/json', + body: JSON.stringify({ enabled: true }) + }); + }); + + await page.route('**/api/klipy/gifs**', async (route) => { + await route.fulfill({ + status: 200, + contentType: 'application/json', + body: JSON.stringify({ + enabled: true, + hasNext: false, + results: [ + { + id: 'mock-gif-1', + slug: 'mock-gif-1', + title: 'Mock Celebration GIF', + url: MOCK_GIF_IMAGE_URL, + previewUrl: MOCK_GIF_IMAGE_URL, + width: 64, + height: 64 + } + ] + }) + }); + }); + + await page.route('**/api/link-metadata**', async (route) => { + const requestUrl = new URL(route.request().url()); + const requestedTargetUrl = requestUrl.searchParams.get('url') ?? ''; + + if (requestedTargetUrl === MOCK_EMBED_URL) { + await route.fulfill({ + status: 200, + contentType: 'application/json', + body: JSON.stringify({ + title: MOCK_EMBED_TITLE, + description: MOCK_EMBED_DESCRIPTION, + imageUrl: MOCK_GIF_IMAGE_URL, + siteName: 'Mock Docs' + }) + }); + return; + } + + await route.fulfill({ + status: 200, + contentType: 'application/json', + body: JSON.stringify({ failed: true }) + }); + }); +} + +function createTextFilePayload(name: string, mimeType: string, content: string): ChatDropFilePayload { + return { + name, + mimeType, + base64: Buffer.from(content, 'utf8').toString('base64') + }; +} + +function buildMockSvgMarkup(label: string): string { + return [ + '', + '', + '', + '', + '', + `${label}`, + '' + ].join(''); +} + +function uniqueName(prefix: string): string { + return `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`; +} diff --git a/e2e/tests/screen-share/screen-share.spec.ts b/e2e/tests/screen-share/screen-share.spec.ts new file mode 100644 index 0000000..d21a3d0 --- /dev/null +++ b/e2e/tests/screen-share/screen-share.spec.ts @@ -0,0 +1,396 @@ +import { test, expect } from '../../fixtures/multi-client'; +import { + installWebRTCTracking, + waitForPeerConnected, + isPeerStillConnected, + waitForAudioFlow, + waitForAudioStatsPresent, + waitForVideoFlow, + waitForOutboundVideoFlow, + waitForInboundVideoFlow, + dumpRtcDiagnostics +} from '../../helpers/webrtc-helpers'; +import { RegisterPage } from '../../pages/register.page'; +import { ServerSearchPage } from '../../pages/server-search.page'; +import { ChatRoomPage } from '../../pages/chat-room.page'; + +/** + * Screen sharing E2E tests: verify video, screen-share audio, and voice audio + * flow correctly between users during screen sharing. + * + * Uses the same dedicated-browser-per-client infrastructure as voice tests. + * getDisplayMedia is monkey-patched to return a synthetic canvas video stream + * + 880 Hz oscillator audio, bypassing the browser picker dialog. + */ + +const ALICE = { username: `alice_ss_${Date.now()}`, displayName: 'Alice', password: 'TestPass123!' }; +const BOB = { username: `bob_ss_${Date.now()}`, displayName: 'Bob', password: 'TestPass123!' }; +const SERVER_NAME = `SS Test ${Date.now()}`; +const VOICE_CHANNEL = 'General'; + +/** Register a user and navigate to /search. */ +async function registerUser(page: import('@playwright/test').Page, user: typeof ALICE) { + const registerPage = new RegisterPage(page); + + await registerPage.goto(); + await expect(registerPage.submitButton).toBeVisible(); + await registerPage.register(user.username, user.displayName, user.password); + await expect(page).toHaveURL(/\/search/, { timeout: 15_000 }); +} + +/** Both users register → Alice creates server → Bob joins. */ +async function setupServerWithBothUsers( + alice: { page: import('@playwright/test').Page }, + bob: { page: import('@playwright/test').Page } +) { + await registerUser(alice.page, ALICE); + await registerUser(bob.page, BOB); + + // Alice creates server + const aliceSearch = new ServerSearchPage(alice.page); + + await aliceSearch.createServer(SERVER_NAME, { description: 'Screen share E2E' }); + await expect(alice.page).toHaveURL(/\/room\//, { timeout: 15_000 }); + + // Bob joins server + const bobSearch = new ServerSearchPage(bob.page); + + await bobSearch.searchInput.fill(SERVER_NAME); + + const serverCard = bob.page.locator('button', { hasText: SERVER_NAME }).first(); + + await expect(serverCard).toBeVisible({ timeout: 10_000 }); + await serverCard.click(); + await expect(bob.page).toHaveURL(/\/room\//, { timeout: 15_000 }); +} + +/** Ensure voice channel exists and both users join it. */ +async function joinVoiceTogether( + alice: { page: import('@playwright/test').Page }, + bob: { page: import('@playwright/test').Page } +) { + const aliceRoom = new ChatRoomPage(alice.page); + const existingChannel = alice.page + .locator('app-rooms-side-panel') + .getByRole('button', { name: VOICE_CHANNEL, exact: true }); + + if (await existingChannel.count() === 0) { + await aliceRoom.openCreateVoiceChannelDialog(); + await aliceRoom.createChannel(VOICE_CHANNEL); + await expect(existingChannel).toBeVisible({ timeout: 10_000 }); + } + + await aliceRoom.joinVoiceChannel(VOICE_CHANNEL); + await expect(alice.page.locator('app-voice-controls')).toBeVisible({ timeout: 15_000 }); + + const bobRoom = new ChatRoomPage(bob.page); + + await bobRoom.joinVoiceChannel(VOICE_CHANNEL); + await expect(bob.page.locator('app-voice-controls')).toBeVisible({ timeout: 15_000 }); + + // Wait for WebRTC + audio pipeline + await waitForPeerConnected(alice.page, 30_000); + await waitForPeerConnected(bob.page, 30_000); + await waitForAudioStatsPresent(alice.page, 20_000); + await waitForAudioStatsPresent(bob.page, 20_000); + + // Expand voice workspace on both clients so the demand-driven screen + // share request flow can fire (requires connectRemoteShares = true). + // Click the "VIEW" badge that appears next to the active voice channel. + const aliceView = alice.page.locator('app-rooms-side-panel') + .getByRole('button', { name: /view/i }) + .first(); + const bobView = bob.page.locator('app-rooms-side-panel') + .getByRole('button', { name: /view/i }) + .first(); + + await expect(aliceView).toBeVisible({ timeout: 10_000 }); + await aliceView.click(); + await expect(alice.page.locator('app-voice-workspace')).toBeVisible({ timeout: 10_000 }); + + await expect(bobView).toBeVisible({ timeout: 10_000 }); + await bobView.click(); + await expect(bob.page.locator('app-voice-workspace')).toBeVisible({ timeout: 10_000 }); + + // Re-verify audio stats are present after workspace expansion (the VIEW + // click can trigger renegotiation which briefly disrupts audio). + await waitForAudioStatsPresent(alice.page, 20_000); + await waitForAudioStatsPresent(bob.page, 20_000); +} + +function expectFlowing( + delta: { outboundBytesDelta: number; inboundBytesDelta: number; outboundPacketsDelta: number; inboundPacketsDelta: number }, + label: string +) { + expect( + delta.outboundBytesDelta > 0 || delta.outboundPacketsDelta > 0, + `${label} should be sending` + ).toBe(true); + + expect( + delta.inboundBytesDelta > 0 || delta.inboundPacketsDelta > 0, + `${label} should be receiving` + ).toBe(true); +} + +test.describe('Screen sharing', () => { + test('single user screen share: video and audio flow to receiver, voice audio continues', async ({ createClient }) => { + test.setTimeout(180_000); + + const alice = await createClient(); + const bob = await createClient(); + + await installWebRTCTracking(alice.page); + await installWebRTCTracking(bob.page); + + alice.page.on('console', msg => console.log('[Alice]', msg.text())); + bob.page.on('console', msg => console.log('[Bob]', msg.text())); + + // ── Setup: register, server, voice ──────────────────────────── + + await test.step('Setup server and voice channel', async () => { + await setupServerWithBothUsers(alice, bob); + await joinVoiceTogether(alice, bob); + }); + + // ── Verify voice audio before screen share ──────────────────── + + await test.step('Voice audio flows before screen share', async () => { + const aliceDelta = await waitForAudioFlow(alice.page, 30_000); + const bobDelta = await waitForAudioFlow(bob.page, 30_000); + + expectFlowing(aliceDelta, 'Alice voice'); + expectFlowing(bobDelta, 'Bob voice'); + }); + + // ── Alice starts screen sharing ─────────────────────────────── + + await test.step('Alice starts screen sharing', async () => { + const aliceRoom = new ChatRoomPage(alice.page); + + await aliceRoom.startScreenShare(); + + // Screen share button should show active state (MonitorOff icon) + await expect(aliceRoom.isScreenShareActive).toBeVisible({ timeout: 10_000 }); + }); + + // ── Verify screen share video flows ─────────────────────────── + + await test.step('Screen share video flows from Alice to Bob', async () => { + // Screen share is unidirectional: Alice sends video, Bob receives it. + const aliceVideo = await waitForOutboundVideoFlow(alice.page, 30_000); + const bobVideo = await waitForInboundVideoFlow(bob.page, 30_000); + + if (aliceVideo.outboundBytesDelta === 0 || bobVideo.inboundBytesDelta === 0) { + console.log('[Alice RTC]\n' + await dumpRtcDiagnostics(alice.page)); + console.log('[Bob RTC]\n' + await dumpRtcDiagnostics(bob.page)); + } + + expect( + aliceVideo.outboundBytesDelta > 0 || aliceVideo.outboundPacketsDelta > 0, + 'Alice should be sending screen share video' + ).toBe(true); + + expect( + bobVideo.inboundBytesDelta > 0 || bobVideo.inboundPacketsDelta > 0, + 'Bob should be receiving screen share video' + ).toBe(true); + }); + + // ── Verify voice audio continues during screen share ────────── + + await test.step('Voice audio continues during screen share', async () => { + const aliceAudio = await waitForAudioFlow(alice.page, 20_000); + const bobAudio = await waitForAudioFlow(bob.page, 20_000); + + expectFlowing(aliceAudio, 'Alice voice during screen share'); + expectFlowing(bobAudio, 'Bob voice during screen share'); + }); + + // ── Bob can hear Alice talk while she screen shares ─────────── + + await test.step('Bob receives audio from Alice during screen share', async () => { + // Specifically check Bob is receiving audio (from Alice's voice) + const bobAudio = await waitForAudioFlow(bob.page, 15_000); + + expect( + bobAudio.inboundBytesDelta > 0, + 'Bob should receive voice audio while Alice screen shares' + ).toBe(true); + }); + + // ── Alice stops screen sharing ──────────────────────────────── + + await test.step('Alice stops screen sharing', async () => { + const aliceRoom = new ChatRoomPage(alice.page); + + await aliceRoom.stopScreenShare(); + + // Active icon should disappear - regular Monitor icon shown instead + await expect( + aliceRoom.voiceControls.locator('button:has(ng-icon[name="lucideMonitor"])').first() + ).toBeVisible({ timeout: 10_000 }); + }); + + // ── Voice audio still works after screen share ends ─────────── + + await test.step('Voice audio resumes normally after screen share stops', async () => { + const aliceAudio = await waitForAudioFlow(alice.page, 20_000); + const bobAudio = await waitForAudioFlow(bob.page, 20_000); + + expectFlowing(aliceAudio, 'Alice voice after screen share'); + expectFlowing(bobAudio, 'Bob voice after screen share'); + }); + }); + + test('multiple users screen share simultaneously', async ({ createClient }) => { + test.setTimeout(180_000); + + const alice = await createClient(); + const bob = await createClient(); + + await installWebRTCTracking(alice.page); + await installWebRTCTracking(bob.page); + + alice.page.on('console', msg => console.log('[Alice]', msg.text())); + bob.page.on('console', msg => console.log('[Bob]', msg.text())); + + await test.step('Setup server and voice channel', async () => { + await setupServerWithBothUsers(alice, bob); + await joinVoiceTogether(alice, bob); + }); + + // ── Both users start screen sharing ─────────────────────────── + + await test.step('Alice starts screen sharing', async () => { + const aliceRoom = new ChatRoomPage(alice.page); + + await aliceRoom.startScreenShare(); + await expect(aliceRoom.isScreenShareActive).toBeVisible({ timeout: 10_000 }); + }); + + await test.step('Bob starts screen sharing', async () => { + const bobRoom = new ChatRoomPage(bob.page); + + await bobRoom.startScreenShare(); + await expect(bobRoom.isScreenShareActive).toBeVisible({ timeout: 10_000 }); + }); + + // ── Verify video flows in both directions ───────────────────── + + await test.step('Video flows bidirectionally with both screen shares active', async () => { + // Both sharing: each page sends and receives video + const aliceVideo = await waitForVideoFlow(alice.page, 30_000); + const bobVideo = await waitForVideoFlow(bob.page, 30_000); + + expectFlowing(aliceVideo, 'Alice screen share video'); + expectFlowing(bobVideo, 'Bob screen share video'); + }); + + // ── Voice audio continues with dual screen shares ───────────── + + await test.step('Voice audio continues with both users screen sharing', async () => { + const aliceAudio = await waitForAudioFlow(alice.page, 20_000); + const bobAudio = await waitForAudioFlow(bob.page, 20_000); + + expectFlowing(aliceAudio, 'Alice voice during dual screen share'); + expectFlowing(bobAudio, 'Bob voice during dual screen share'); + }); + + // ── Both stop screen sharing ────────────────────────────────── + + await test.step('Both users stop screen sharing', async () => { + const aliceRoom = new ChatRoomPage(alice.page); + const bobRoom = new ChatRoomPage(bob.page); + + await aliceRoom.stopScreenShare(); + await expect( + aliceRoom.voiceControls.locator('button:has(ng-icon[name="lucideMonitor"])').first() + ).toBeVisible({ timeout: 10_000 }); + + await bobRoom.stopScreenShare(); + await expect( + bobRoom.voiceControls.locator('button:has(ng-icon[name="lucideMonitor"])').first() + ).toBeVisible({ timeout: 10_000 }); + }); + }); + + test('screen share connection stays stable for 10+ seconds', async ({ createClient }) => { + test.setTimeout(180_000); + + const alice = await createClient(); + const bob = await createClient(); + + await installWebRTCTracking(alice.page); + await installWebRTCTracking(bob.page); + + alice.page.on('console', msg => console.log('[Alice]', msg.text())); + bob.page.on('console', msg => console.log('[Bob]', msg.text())); + + await test.step('Setup server and voice channel', async () => { + await setupServerWithBothUsers(alice, bob); + await joinVoiceTogether(alice, bob); + }); + + await test.step('Alice starts screen sharing', async () => { + const aliceRoom = new ChatRoomPage(alice.page); + + await aliceRoom.startScreenShare(); + await expect(aliceRoom.isScreenShareActive).toBeVisible({ timeout: 10_000 }); + + // Wait for video pipeline to fully establish + await waitForOutboundVideoFlow(alice.page, 30_000); + await waitForInboundVideoFlow(bob.page, 30_000); + }); + + // ── Stability checkpoints at 0s, 5s, 10s ───────────────────── + + await test.step('Connection stays stable for 10+ seconds during screen share', async () => { + for (const checkpoint of [ + 0, + 5_000, + 5_000 + ]) { + if (checkpoint > 0) { + await alice.page.waitForTimeout(checkpoint); + } + + const aliceConnected = await isPeerStillConnected(alice.page); + const bobConnected = await isPeerStillConnected(bob.page); + + expect(aliceConnected, 'Alice should still be connected').toBe(true); + expect(bobConnected, 'Bob should still be connected').toBe(true); + } + + // After 10s - verify both video and audio still flowing + const aliceVideo = await waitForOutboundVideoFlow(alice.page, 15_000); + const bobVideo = await waitForInboundVideoFlow(bob.page, 15_000); + + expect( + aliceVideo.outboundBytesDelta > 0, + 'Alice still sending screen share video after 10s' + ).toBe(true); + + expect( + bobVideo.inboundBytesDelta > 0, + 'Bob still receiving screen share video after 10s' + ).toBe(true); + + const aliceAudio = await waitForAudioFlow(alice.page, 15_000); + const bobAudio = await waitForAudioFlow(bob.page, 15_000); + + expectFlowing(aliceAudio, 'Alice voice after 10s screen share'); + expectFlowing(bobAudio, 'Bob voice after 10s screen share'); + }); + + // ── Clean disconnect ────────────────────────────────────────── + + await test.step('Alice stops screen share and disconnects', async () => { + const aliceRoom = new ChatRoomPage(alice.page); + + await aliceRoom.stopScreenShare(); + await aliceRoom.disconnectButton.click(); + await expect(aliceRoom.disconnectButton).not.toBeVisible({ timeout: 10_000 }); + }); + }); +}); diff --git a/e2e/tests/voice/voice-full-journey.spec.ts b/e2e/tests/voice/voice-full-journey.spec.ts new file mode 100644 index 0000000..7a7741f --- /dev/null +++ b/e2e/tests/voice/voice-full-journey.spec.ts @@ -0,0 +1,260 @@ +import { test, expect } from '../../fixtures/multi-client'; +import { + installWebRTCTracking, + waitForPeerConnected, + isPeerStillConnected, + getAudioStatsDelta, + waitForAudioFlow, + waitForAudioStatsPresent, + dumpRtcDiagnostics +} from '../../helpers/webrtc-helpers'; +import { RegisterPage } from '../../pages/register.page'; +import { ServerSearchPage } from '../../pages/server-search.page'; +import { ChatRoomPage } from '../../pages/chat-room.page'; + +/** + * Full user journey: register → create server → join → voice → verify audio + * for 10+ seconds of stable connectivity. + * + * Uses two independent browser contexts (Alice & Bob) to simulate real + * multi-user WebRTC voice chat. + */ + +const ALICE = { username: `alice_${Date.now()}`, displayName: 'Alice', password: 'TestPass123!' }; +const BOB = { username: `bob_${Date.now()}`, displayName: 'Bob', password: 'TestPass123!' }; +const SERVER_NAME = `E2E Test Server ${Date.now()}`; +const VOICE_CHANNEL = 'General'; + +test.describe('Full user journey: register → server → voice chat', () => { + test('two users register, create server, join voice, and stay connected 10+ seconds with audio', async ({ createClient }) => { + test.setTimeout(180_000); // 3 min - covers registration, server creation, voice establishment, and 10s stability check + + const alice = await createClient(); + const bob = await createClient(); + + // Install WebRTC tracking before any navigation + await installWebRTCTracking(alice.page); + await installWebRTCTracking(bob.page); + + // Forward browser console for debugging + alice.page.on('console', msg => console.log('[Alice]', msg.text())); + bob.page.on('console', msg => console.log('[Bob]', msg.text())); + + // ── Step 1: Register both users ────────────────────────────────── + + await test.step('Alice registers an account', async () => { + const registerPage = new RegisterPage(alice.page); + + await registerPage.goto(); + await expect(registerPage.submitButton).toBeVisible(); + await registerPage.register(ALICE.username, ALICE.displayName, ALICE.password); + + // After registration, app should navigate to /search + await expect(alice.page).toHaveURL(/\/search/, { timeout: 15_000 }); + }); + + await test.step('Bob registers an account', async () => { + const registerPage = new RegisterPage(bob.page); + + await registerPage.goto(); + await expect(registerPage.submitButton).toBeVisible(); + await registerPage.register(BOB.username, BOB.displayName, BOB.password); + + await expect(bob.page).toHaveURL(/\/search/, { timeout: 15_000 }); + }); + + // ── Step 2: Alice creates a server ─────────────────────────────── + + await test.step('Alice creates a new server', async () => { + const searchPage = new ServerSearchPage(alice.page); + + await searchPage.createServer(SERVER_NAME, { + description: 'E2E test server for voice testing' + }); + + // After server creation, app navigates to the room + await expect(alice.page).toHaveURL(/\/room\//, { timeout: 15_000 }); + }); + + // ── Step 3: Bob joins the server ───────────────────────────────── + + await test.step('Bob finds and joins the server', async () => { + const searchPage = new ServerSearchPage(bob.page); + + // Search for the server + await searchPage.searchInput.fill(SERVER_NAME); + + // Wait for search results and click the server + const serverCard = bob.page.locator('button', { hasText: SERVER_NAME }).first(); + + await expect(serverCard).toBeVisible({ timeout: 10_000 }); + await serverCard.click(); + + // Bob should be in the room now + await expect(bob.page).toHaveURL(/\/room\//, { timeout: 15_000 }); + }); + + // ── Step 4: Create a voice channel (if one doesn't exist) ──────── + + await test.step('Alice ensures a voice channel is available', async () => { + const chatRoom = new ChatRoomPage(alice.page); + const existingVoiceChannel = alice.page.locator('app-rooms-side-panel') + .getByRole('button', { name: VOICE_CHANNEL, exact: true }); + const voiceChannelExists = await existingVoiceChannel.count() > 0; + + if (!voiceChannelExists) { + // Click "Create Voice Channel" plus button + await chatRoom.openCreateVoiceChannelDialog(); + await chatRoom.createChannel(VOICE_CHANNEL); + + // Wait for the channel to appear + await expect(existingVoiceChannel).toBeVisible({ timeout: 10_000 }); + } + }); + + // ── Step 5: Both users join the voice channel ──────────────────── + + await test.step('Alice joins the voice channel', async () => { + const chatRoom = new ChatRoomPage(alice.page); + + await chatRoom.joinVoiceChannel(VOICE_CHANNEL); + + // Voice controls should appear (indicates voice is connected) + await expect(alice.page.locator('app-voice-controls')).toBeVisible({ timeout: 15_000 }); + }); + + await test.step('Bob joins the voice channel', async () => { + const chatRoom = new ChatRoomPage(bob.page); + + await chatRoom.joinVoiceChannel(VOICE_CHANNEL); + + await expect(bob.page.locator('app-voice-controls')).toBeVisible({ timeout: 15_000 }); + }); + + // ── Step 6: Verify WebRTC connection establishes ───────────────── + + await test.step('WebRTC peer connection reaches "connected" state', async () => { + await waitForPeerConnected(alice.page, 30_000); + await waitForPeerConnected(bob.page, 30_000); + + // Wait for audio RTP pipeline to appear before measuring deltas - + // renegotiation after initial connect can temporarily remove stats. + await waitForAudioStatsPresent(alice.page, 20_000); + await waitForAudioStatsPresent(bob.page, 20_000); + }); + + // ── Step 7: Verify audio is flowing in both directions ─────────── + + await test.step('Audio packets are flowing between Alice and Bob', async () => { + const aliceDelta = await waitForAudioFlow(alice.page, 30_000); + const bobDelta = await waitForAudioFlow(bob.page, 30_000); + + if (aliceDelta.outboundBytesDelta === 0 || aliceDelta.inboundBytesDelta === 0 + || bobDelta.outboundBytesDelta === 0 || bobDelta.inboundBytesDelta === 0) { + console.log('[Alice RTC Diagnostics]\n' + await dumpRtcDiagnostics(alice.page)); + console.log('[Bob RTC Diagnostics]\n' + await dumpRtcDiagnostics(bob.page)); + } + + expectAudioFlow(aliceDelta, 'Alice'); + expectAudioFlow(bobDelta, 'Bob'); + }); + + // ── Step 8: Verify UI states are correct ───────────────────────── + + await test.step('Voice UI shows correct state for both users', async () => { + const aliceRoom = new ChatRoomPage(alice.page); + const bobRoom = new ChatRoomPage(bob.page); + + // Both should see voice controls with "Connected" status + await expect(alice.page.locator('app-voice-controls')).toBeVisible(); + await expect(bob.page.locator('app-voice-controls')).toBeVisible(); + + // Both should see the voice workspace or at least voice users listed + // Check that both users appear in the voice channel user list + const aliceSeesBob = aliceRoom.channelsSidePanel.getByText(BOB.displayName).first(); + const bobSeesAlice = bobRoom.channelsSidePanel.getByText(ALICE.displayName).first(); + + await expect(aliceSeesBob).toBeVisible({ timeout: 10_000 }); + await expect(bobSeesAlice).toBeVisible({ timeout: 10_000 }); + }); + + // ── Step 9: Stay connected for 10+ seconds, verify stability ───── + + await test.step('Connection remains stable for 10+ seconds', async () => { + // Check connectivity at 0s, 5s, and 10s intervals + for (const checkpoint of [ + 0, + 5_000, + 5_000 + ]) { + if (checkpoint > 0) { + await alice.page.waitForTimeout(checkpoint); + } + + const aliceConnected = await isPeerStillConnected(alice.page); + const bobConnected = await isPeerStillConnected(bob.page); + + expect(aliceConnected, 'Alice should still be connected').toBe(true); + expect(bobConnected, 'Bob should still be connected').toBe(true); + } + + // After 10s total, verify audio is still flowing + const aliceDelta = await waitForAudioFlow(alice.page, 15_000); + const bobDelta = await waitForAudioFlow(bob.page, 15_000); + + expectAudioFlow(aliceDelta, 'Alice after 10s'); + expectAudioFlow(bobDelta, 'Bob after 10s'); + }); + + // ── Step 10: Verify mute/unmute works correctly ────────────────── + + await test.step('Mute toggle works correctly', async () => { + const aliceRoom = new ChatRoomPage(alice.page); + + // Alice mutes - click the first button in voice controls (mute button) + await aliceRoom.muteButton.click(); + + // After muting, Alice's outbound audio should stop increasing + // When muted, bytesSent may still show small comfort noise or zero growth + // The key assertion is that Bob's inbound for Alice's stream stops or reduces + await getAudioStatsDelta(alice.page, 2_000); + + // Alice unmutes + await aliceRoom.muteButton.click(); + + // After unmuting, outbound should resume + const unmutedDelta = await waitForAudioFlow(alice.page, 15_000); + + expectAudioFlow(unmutedDelta, 'Alice after unmuting'); + }); + + // ── Step 11: Clean disconnect ──────────────────────────────────── + + await test.step('Alice disconnects from voice', async () => { + const aliceRoom = new ChatRoomPage(alice.page); + + // Click the disconnect/hang-up button + await aliceRoom.disconnectButton.click(); + + // Connected controls should collapse for Alice after disconnect + await expect(aliceRoom.disconnectButton).not.toBeVisible({ timeout: 10_000 }); + }); + }); +}); + +function expectAudioFlow(delta: { + outboundBytesDelta: number; + inboundBytesDelta: number; + outboundPacketsDelta: number; + inboundPacketsDelta: number; +}, label: string): void { + expect( + delta.outboundBytesDelta > 0 || delta.outboundPacketsDelta > 0, + `${label} should be sending audio` + ).toBe(true); + + expect( + delta.inboundBytesDelta > 0 || delta.inboundPacketsDelta > 0, + `${label} should be receiving audio` + ).toBe(true); +} diff --git a/electron/ipc/system.ts b/electron/ipc/system.ts index 1965f2b..e95ef5d 100644 --- a/electron/ipc/system.ts +++ b/electron/ipc/system.ts @@ -535,4 +535,26 @@ export function setupSystemHandlers(): void { request.end(); }); }); + + ipcMain.handle('context-menu-command', (_event, command: string) => { + const allowedCommands = ['cut', 'copy', 'paste', 'selectAll'] as const; + + if (!allowedCommands.includes(command as typeof allowedCommands[number])) { + return; + } + + const mainWindow = getMainWindow(); + const webContents = mainWindow?.webContents; + + if (!webContents) { + return; + } + + switch (command) { + case 'cut': webContents.cut(); break; + case 'copy': webContents.copy(); break; + case 'paste': webContents.paste(); break; + case 'selectAll': webContents.selectAll(); break; + } + }); } diff --git a/electron/preload.ts b/electron/preload.ts index 6eff138..7adb734 100644 --- a/electron/preload.ts +++ b/electron/preload.ts @@ -211,6 +211,7 @@ export interface ElectronAPI { ensureDir: (dirPath: string) => Promise; onContextMenu: (listener: (params: ContextMenuParams) => void) => () => void; + contextMenuCommand: (command: string) => Promise; copyImageToClipboard: (srcURL: string) => Promise; command: (command: Command) => Promise; @@ -329,6 +330,7 @@ const electronAPI: ElectronAPI = { ipcRenderer.removeListener('show-context-menu', wrappedListener); }; }, + contextMenuCommand: (command) => ipcRenderer.invoke('context-menu-command', command), copyImageToClipboard: (srcURL) => ipcRenderer.invoke('copy-image-to-clipboard', srcURL), command: (command) => ipcRenderer.invoke('cqrs:command', command), diff --git a/package-lock.json b/package-lock.json index 4966a71..4a0b9f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -56,6 +56,7 @@ "@angular/cli": "^21.0.4", "@angular/compiler-cli": "^21.0.0", "@eslint/js": "^9.39.3", + "@playwright/test": "^1.59.1", "@stylistic/eslint-plugin-js": "^4.4.1", "@stylistic/eslint-plugin-ts": "^4.4.1", "@types/auto-launch": "^5.0.5", @@ -9337,6 +9338,22 @@ "url": "https://opencollective.com/pkgr" } }, + "node_modules/@playwright/test": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.59.1.tgz", + "integrity": "sha512-PG6q63nQg5c9rIi4/Z5lR5IVF7yU5MqmKaPOe0HSc0O2cX1fPi96sUQu5j7eo4gKCkB2AnNGoWt7y4/Xx3Kcqg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.59.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@rolldown/binding-android-arm64": { "version": "1.0.0-beta.47", "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.47.tgz", @@ -24652,6 +24669,53 @@ "node": ">= 10.0.0" } }, + "node_modules/playwright": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", + "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.59.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", + "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/plist": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", diff --git a/package.json b/package.json index f6afff6..1a67b36 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,11 @@ "release:version": "node tools/resolve-release-version.js", "server:bundle:linux": "node tools/package-server-executable.js --target node18-linux-x64 --output metoyou-server-linux-x64", "server:bundle:win": "node tools/package-server-executable.js --target node18-win-x64 --output metoyou-server-win-x64.exe", - "sort:props": "node tools/sort-template-properties.js" + "sort:props": "node tools/sort-template-properties.js", + "test:e2e": "cd e2e && npx playwright test", + "test:e2e:ui": "cd e2e && npx playwright test --ui", + "test:e2e:debug": "cd e2e && npx playwright test --debug", + "test:e2e:report": "cd e2e && npx playwright show-report ../test-results/html-report" }, "private": true, "packageManager": "npm@10.9.2", @@ -102,6 +106,7 @@ "@angular/cli": "^21.0.4", "@angular/compiler-cli": "^21.0.0", "@eslint/js": "^9.39.3", + "@playwright/test": "^1.59.1", "@stylistic/eslint-plugin-js": "^4.4.1", "@stylistic/eslint-plugin-ts": "^4.4.1", "@types/auto-launch": "^5.0.5", diff --git a/server/src/db/database.ts b/server/src/db/database.ts index d567e3e..d612659 100644 --- a/server/src/db/database.ts +++ b/server/src/db/database.ts @@ -70,7 +70,7 @@ export async function initDatabase(): Promise { ServerBanEntity ], migrations: serverMigrations, - synchronize: false, + synchronize: process.env.DB_SYNCHRONIZE === 'true', logging: false, autoSave: true, location: DB_FILE, @@ -90,8 +90,12 @@ export async function initDatabase(): Promise { console.log('[DB] Connection initialised at:', DB_FILE); - await applicationDataSource.runMigrations(); - console.log('[DB] Migrations executed'); + if (process.env.DB_SYNCHRONIZE !== 'true') { + await applicationDataSource.runMigrations(); + console.log('[DB] Migrations executed'); + } else { + console.log('[DB] Synchronize mode — migrations skipped'); + } } export async function destroyDatabase(): Promise { diff --git a/toju-app/src/app/core/platform/electron/electron-api.models.ts b/toju-app/src/app/core/platform/electron/electron-api.models.ts index 5d94461..aa757aa 100644 --- a/toju-app/src/app/core/platform/electron/electron-api.models.ts +++ b/toju-app/src/app/core/platform/electron/electron-api.models.ts @@ -193,6 +193,7 @@ export interface ElectronApi { deleteFile: (filePath: string) => Promise; ensureDir: (dirPath: string) => Promise; onContextMenu: (listener: (params: ContextMenuParams) => void) => () => void; + contextMenuCommand: (command: string) => Promise; copyImageToClipboard: (srcURL: string) => Promise; command: (command: ElectronCommand) => Promise; query: (query: ElectronQuery) => Promise; diff --git a/toju-app/src/app/features/shell/native-context-menu.component.ts b/toju-app/src/app/features/shell/native-context-menu.component.ts index 1c0fdf1..92071c2 100644 --- a/toju-app/src/app/features/shell/native-context-menu.component.ts +++ b/toju-app/src/app/features/shell/native-context-menu.component.ts @@ -48,7 +48,12 @@ export class NativeContextMenuComponent implements OnInit, OnDestroy { } execCommand(command: string): void { - document.execCommand(command); + const api = this.electronBridge.getApi(); + + if (api?.contextMenuCommand) { + api.contextMenuCommand(command); + } + this.close(); }