Skip to content

chore(deps): pin better-auth to 1.6.15 - #421

Merged
chriss1525 merged 3 commits into
mainfrom
chore/pin-better-auth-1.6.15
Jun 24, 2026
Merged

chriss1525 merged 3 commits into
mainfrom
chore/pin-better-auth-1.6.15

Conversation

@chriss1525

Copy link
Copy Markdown
Contributor

Summary

  • Pins better-auth to exact 1.6.15 in core/package.json and wiki/package.json (was ^1.6.11, resolving to 1.6.16 via the lockfile).
  • 1.6.16 added stricter Origin/Referer validation on cookieless email sign-in (better-auth#9973) — first-login requests now get checked against trustedOrigins even with no cookies present, where prior versions skipped that check entirely. On a deploy whose trusted-origin config doesn't match exactly, this can silently reject sign-in, manifesting as a login page that loops on /api/auth/get-session.
  • Pinned one patch behind the breaking change rather than reverting to the pre-bump pins (^1.0.0 in core, ^1.6.2 in wiki), which resolved to two different actual versions across workspaces — the thing the original bump (9415489) was fixing.
  • hono stays at its current bumped version; its recent security fixes (JWT NumericDate, some MODERATEs) are unrelated to this issue.

Test plan

  • core typecheck clean
  • wiki typecheck clean
  • Full core test suite green (501 passed)
  • Confirmed better-auth resolves to 1.6.15 in both workspaces after pnpm install

1.6.16 added stricter Origin/Referer validation on cookieless email
sign-in (better-auth#9973), which can silently reject first-login
requests on deploys whose trusted-origin config doesn't match exactly
-- manifesting as a login page that loops on /api/auth/get-session.
Pin one patch behind the breaking change rather than reverting to the
pre-bump pins (^1.0.0 in core, ^1.6.2 in wiki), which resolved to
different versions across workspaces.
@chriss1525
chriss1525 requested a review from koolamusic as a code owner June 24, 2026 12:04
createRedisConnection() sets maxRetriesPerRequest: null (required for
BullMQ's blocking commands), so isRedisLive()'s probe.ping() retries
forever instead of rejecting when Redis isn't reachable -- hanging
past the 10s hook timeout in CI jobs that don't run a Redis service
container (typecheck-test). Race the ping against a 2s timeout so the
probe still resolves to false promptly, same as the existing
try/catch fallback intends.
phase2-uat.integration.test.ts is an integration suite that exercises
the real rate-limiter against a live Redis (UAT 3/4), not a mock.
typecheck-test had no Redis service, so any of its tests that don't
explicitly gate on the redisLive probe (e.g. UAT 2's POST
/auth/recover) hung against the unreachable default connection until
the per-test timeout. core-boot-health already provisions Redis this
same way; mirror it here instead of teaching every test to degrade
gracefully without it.
@chriss1525
chriss1525 merged commit c7e514a into main Jun 24, 2026
4 checks passed
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.

1 participant