Skip to content

Conversation

@kentcdodds
Copy link
Member

@kentcdodds kentcdodds commented Jan 29, 2026

Updates various dependencies to their latest compatible versions.

Test Plan

  • CI=true npx playwright test tests/e2e/error-boundary.test.ts --retries=0 --workers=1 was used to validate server/router behavior after dependency updates.
  • npm run test:e2e:run was started but not completed due to runtime length; full coverage is recommended via CI.

Checklist

  • Tests updated
  • Docs updated

Screenshots


Open in Cursor Open in Web


Note

Medium Risk
Mostly test/docs churn, but the cache DB init now throws when CACHE_DATABASE_PATH is missing and changes file-deletion behavior on startup, which could impact deployments with misconfigured env or corrupted cache files.

Overview
Updates runtime/test compatibility for dependency bumps by adjusting route loader tests to include unstable_pattern (via shared LOADER_ARGS_BASE) and tightening a FileUpload type cast when streaming uploads.

Hardens SQLite cache initialization in cache.server.ts by failing fast when CACHE_DATABASE_PATH is unset and by replacing unlinkSync with a safer rmSync(..., { force: true }) retry path when the cache DB file is corrupt.

Also includes documentation-only reformatting plus a new docs/testing.md prerequisite to copy .env.example to .env before running tests.

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

cursoragent and others added 30 commits January 29, 2026 20:02
@cursor
Copy link

cursor bot commented Jan 29, 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
Copy link
Member Author

@cursor, please check CI and fix the failures

@cursor
Copy link

cursor bot commented Jan 29, 2026

Taking a look!

Open in Cursor Open in Web

@kentcdodds
Copy link
Member Author

@cursor, please check and fix CI (again).

@cursor
Copy link

cursor bot commented Jan 29, 2026

Taking a look!

Open in Cursor Open in Web

@kentcdodds
Copy link
Member Author

@cursor, I would rather not jump into using an in-memory db for tests. Can you remove that and restore the version of whatever dependency required that you do that?

@cursor
Copy link

cursor bot commented Jan 29, 2026

Summary

  • Removed the test-only in-memory cache DB and restored file-backed cache handling in cache.server.【F:app/utils/cache.server.ts†L22-L75】
  • Restored vitest and @vitest/coverage-v8 to v3.1.3 as the dependency rollback requested.【F:package.json†L136-L154】

Testing

  • npm run typecheck — confirm TypeScript passes after the rollback.【F:/opt/cursor/artifacts/typecheck.log†L1-L4】
  • ⚠️ npm run test -- --coverage — not run because global setup executes npx prisma migrate reset --force --skip-seed --skip-generate, which requires explicit consent.【F:tests/setup/global-setup.ts†L12-L36】

Manual UI testing not run because changes are dependency/test infrastructure only. If you want me to run Vitest, confirm the Prisma reset is acceptable in CI/test.

Open in Cursor Open in Web

@kentcdodds
Copy link
Member Author

@cursor check CI and fix.

@cursor
Copy link

cursor bot commented Jan 29, 2026

Summary

  • Kept file-backed cache for tests but isolated it per Vitest worker/thread to avoid SQLite lock contention while honoring your request to avoid in-memory DBs.【F:app/utils/cache.server.ts†L1-L76】

Testing

  • npm run typecheck — confirms TS remains green after the cache change.【F:/opt/cursor/artifacts/typecheck.log†L1-L4】
  • ⚠️ npm run test -- --coverage — not run because global setup executes npx prisma migrate reset --force --skip-seed --skip-generate, which requires explicit consent before I can run it.【F:tests/setup/global-setup.ts†L12-L36】

Manual UI testing not run because changes are test/runtime infrastructure only.

If you want me to run Vitest in CI locally, please confirm the Prisma reset is acceptable.

Open in Cursor Open in Web

@kentcdodds kentcdodds marked this pull request as ready for review January 30, 2026 00:28
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 Jan 30, 2026

Bugbot Autofix resolved the bug found in the latest run.

  • ✅ Fixed: Fetch body handling removed for FileUpload objects
    • Restored the conditional logic file instanceof File ? file : file.stream() to properly handle both File and FileUpload types as fetch body.

@kentcdodds
Copy link
Member Author

@cursor, please fix CI (typescript is failing)

@cursor
Copy link

cursor bot commented Jan 30, 2026

Bugbot Autofix resolved the bug found in the latest run.

  • ✅ Fixed: Fetch body handling removed for FileUpload objects
    • Restored the conditional logic file instanceof File ? file : file.stream() to properly handle both File and FileUpload types as fetch body.

Create PR
Open in Cursor Open in Web

Restore the original conditional logic to properly handle both File and FileUpload types.
- File objects extend Blob and can be passed directly to fetch
- FileUpload objects need .stream() called to get a ReadableStream for the fetch body
- Added type assertion to help TypeScript with type narrowing

This fixes the misleading type signature where File | FileUpload is accepted
but only File was being handled correctly.
@cursor cursor bot force-pushed the cursor/dependencies-version-updates-b532 branch from 2e988d5 to ffa164e Compare January 30, 2026 00:42
@kentcdodds kentcdodds merged commit f533988 into main Jan 30, 2026
7 checks passed
@kentcdodds kentcdodds deleted the cursor/dependencies-version-updates-b532 branch January 30, 2026 00:59
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.

3 participants