[web] Fix stale encryptionKey closure in events list data hook#1366
[web] Fix stale encryptionKey closure in events list data hook#1366karthikscale3 merged 50 commits intomainfrom
encryptionKey closure in events list data hook#1366Conversation
🦋 Changeset detectedLatest commit: 2d90a3e The changes in this PR will be included in the next version bump. This PR includes changesets to release 17 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🧪 E2E Test Results❌ Some tests failed Summary
❌ Failed Tests🌍 Community Worlds (55 failed)mongodb (3 failed):
redis (2 failed):
turso (50 failed):
Details by Category✅ ▲ Vercel Production
✅ 💻 Local Development
✅ 📦 Local Production
✅ 🐘 Local Postgres
✅ 🪟 Windows
❌ 🌍 Community Worlds
✅ 📋 Other
|
📊 Benchmark Results
workflow with no steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Express | Nitro workflow with 1 step💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) workflow with 10 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) workflow with 25 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Nitro | Express workflow with 50 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro Promise.all with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Next.js (Turbopack) | Express Promise.all with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Express | Nitro Promise.all with 50 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Promise.race with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro Promise.race with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro Promise.race with 50 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) Stream Benchmarks (includes TTFB metrics)workflow with stream💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Next.js (Turbopack) | Express SummaryFastest Framework by WorldWinner determined by most benchmark wins
Fastest World by FrameworkWinner determined by most benchmark wins
Column Definitions
Worlds:
|
…ting * origin/main: Version Packages (beta) (#1352) [web] Fix stale `encryptionKey` closure in events list data hook (#1366) [web-shared][web] Improve o11y UX with decoupled pagination, stream virtualization, and decrypt actions (#1358) fix: separate infrastructure vs user code error handling (#1339) Revert "Fix e2e CLI SIGTERM flake: use SIGKILL to reliably kill hung processes" Fix e2e CLI SIGTERM flake: use SIGKILL to reliably kill hung processes ci: fix git identity for changesets Version Packages commit (#1357)
Changes
Use a ref for
encryptionKeyinuseEventsListDatato avoid stale closures. Previously,encryptionKeywas excluded fromfetchInitial's dependency array (with decryption deferred to a separate effect), butloadMoreincluded it, causing unnecessary re-creation. Now both callbacks read fromencryptionKeyRef.current, ensuring they always see the latest key without triggering re-renders, andfetchInitialcan decrypt inline when the key is already available.