Stabilize collaboration E2E tests and update dependencies#5
Stabilize collaboration E2E tests and update dependencies#5parazeeknova merged 4 commits intomainfrom
Conversation
…ervability Increase timeouts and add detailed logging across the collaboration stack to resolve flakiness in synchronization tests. Automate environment configuration for E2E runs and refine socket connection persistence logic.
Upgrade external libraries including Next.js, Firebase, and TanStack while synchronizing internal package versions across the monorepo.
…ent variable handling Resolve race conditions in realtime connection logic and ensure environment variables are correctly inlined for Turbopack. Limit E2E test concurrency and remove verbose logging to improve overall synchronization stability.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Review Summary by QodoStabilize collaboration E2E tests, fix realtime race conditions, and resolve Turbopack env var issues
WalkthroughsDescription• Stabilize E2E tests with improved timeouts, error handling, and sequential execution - Added detailed error logging and browser error capture in createDocument - Increased collaboration connection timeouts from 15s to 90s - Changed Playwright to sequential execution (workers=1) instead of parallel - Enhanced helper functions with explicit waits and popover animations • Fix race conditions and HMR issues in realtime collaboration - Store realtimeConnectPromise synchronously before async operations to prevent concurrent connection bypasses - Check Phoenix socket liveness before disconnecting on auth state changes to preserve HMR connections - Fix closure bug in useWorkbookRouteSession where cleanup destroyed wrong session - Allow guest editors to broadcast edits by removing authenticated user guard • Resolve Turbopack environment variable inlining issues - Add direct process.env.NEXT_PUBLIC_COLLAB_WS_URL access as fallback in socket client and env diagnostics - Automate E2E environment configuration via .env.local generation in test runner • Improve observability with enhanced logging across collaboration stack - Add structured logging to Phoenix socket connection lifecycle - Add console logging for auth state and collaboration status changes - Add browser console message filtering in E2E tests for debugging • Update dependencies across monorepo - Bump Next.js, Firebase, TanStack, PostHog, and other libraries - Synchronize internal package versions Diagramflowchart LR
A["E2E Test Helpers"] -->|"Add timeouts & error handling"| B["Test Stability"]
C["Playwright Config"] -->|"Sequential execution"| B
D["Socket Client"] -->|"Direct env access & logging"| E["Turbopack Compatibility"]
F["Realtime Connection"] -->|"Sync promise storage"| G["Race Condition Fixes"]
H["Auth Handler"] -->|"Check socket liveness"| G
I["Route Session Hook"] -->|"Fix closure bug"| G
J["Doc Update Handler"] -->|"Allow guest broadcasts"| G
K["Env Diagnostics"] -->|"Direct property access"| E
L["Test Runner Script"] -->|"Generate .env.local"| E
M["Dependencies"] -->|"Update versions"| N["Monorepo Sync"]
File Changes1. apps/web/e2e/helpers.ts
|
Code Review by Qodo
1.
|
…ration stability Prevent sensitive token exposure in global state and ensure original environment files are restored after E2E runs. Remove redundant debug logging and refine environment detection for browser bundles.
Changed NEXT_PUBLIC_COLLAB_WS_URL from port 4000 to 4001 to match the E2E collab server.
Root Causes Found