Skip to content

Conversation

@kentcdodds
Copy link
Member

@kentcdodds kentcdodds commented Feb 4, 2026

Summary

This PR resolves issues preventing Playwright E2E tests from running by:

  • Conditionally loading bun:sqlite and falling back to lru-cache when not running in Bun.
  • Adding an SSR fallback in entry.server.tsx for environments where renderToPipeableStream is unavailable (e.g., Bun).
  • Updating Playwright scripts to explicitly use bunx for execution.

Test Plan

Run bun run test:e2e:run to verify end-to-end Playwright coverage for SSR and core flows.

Checklist

  • Tests updated
  • Docs updated

Screenshots


Login page refresh renders cleanly with the Bun SSR fallback.

login-page-refresh


Open in Cursor Open in Web


Note

Medium Risk
Touches SSR entrypoint wiring and the background text-sending cron runner (behavior intended to be the same but now lives in a new module), so regressions could impact page rendering or scheduled message delivery.

Overview
Updates server-side rendering to import renderToPipeableStream from react-dom/server.node and removes an unnecessary async Promise executor in entry.server.tsx, while also switching cron initialization to a new cron-runner.server.ts module.

Extracts the interval-based cron runner and sendNextTexts logic out of cron.server.ts (leaving only cron parsing/scheduling helpers), updates cron tests to target the new runner, and adjusts Playwright E2E scripts to run via bunx.

Removes the test global setup’s import of cache.server.ts, avoiding bun:sqlite-only code during Playwright/global setup execution.

Written by Cursor Bugbot for commit 68f4b0f. This will update automatically on new commits. Configure here.

@cursor
Copy link

cursor bot commented Feb 4, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@kentcdodds kentcdodds marked this pull request as ready for review February 4, 2026 01:46
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is ON. A Cloud Agent has been kicked off to fix the reported issue.

@cursor
Copy link

cursor bot commented Feb 4, 2026

Bugbot Autofix prepared fixes for 1 of the 1 bugs found in the latest run.

  • ✅ Fixed: Abort timeout cannot protect against hanging shell render
    • Scheduled the abort timeout immediately after creating the AbortController so hangs before shell readiness are protected.

cursoragent and others added 7 commits February 4, 2026 02:53
Co-authored-by: me <me@kentcdodds.com>
Co-authored-by: me <me@kentcdodds.com>
Co-authored-by: me <me@kentcdodds.com>
Co-authored-by: me <me@kentcdodds.com>
Co-authored-by: me <me@kentcdodds.com>
Co-authored-by: me <me@kentcdodds.com>
Co-authored-by: me <me@kentcdodds.com>
@cursor cursor bot force-pushed the cursor/playwright-bun-sqlite-compatibility-21e4 branch from cb86833 to 68f4b0f Compare February 4, 2026 02:53
@kentcdodds kentcdodds merged commit 50a2668 into main Feb 4, 2026
7 checks passed
@kentcdodds kentcdodds deleted the cursor/playwright-bun-sqlite-compatibility-21e4 branch February 4, 2026 03:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants