[PR #5215] [CLOSED] feat(admin): optional sign-in tracking #5858

Closed
opened 2026-03-13 12:39:17 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/better-auth/better-auth/pull/5215
Author: @jslno
Created: 10/10/2025
Status: Closed

Base: canaryHead: feat-admin/sign-in-tracking


📝 Commits (6)

  • 1410526 feat(admin): optional sign-in tracking
  • a6cff5b chore: add tests
  • d4bf2d8 chore: update docs
  • 0d872b1 chore: fix docs
  • 2ed25ca chore: update jsdocs
  • dac141e Merge branch 'canary' into feat-admin/sign-in-tracking

📊 Changes

6 files changed (+170 additions, -37 deletions)

View changed files

📝 docs/content/docs/plugins/admin.mdx (+29 -0)
📝 packages/better-auth/src/plugins/admin/admin.test.ts (+58 -0)
📝 packages/better-auth/src/plugins/admin/admin.ts (+15 -2)
📝 packages/better-auth/src/plugins/admin/client.ts (+2 -0)
📝 packages/better-auth/src/plugins/admin/schema.ts (+57 -34)
📝 packages/better-auth/src/plugins/admin/types.ts (+9 -1)

📄 Description

Summary by cubic

Add optional sign-in tracking to the Admin plugin. When enabled, the user’s latestSignInAt is stored and updated on each sign-in, and the schema includes this field only when needed.

  • New Features - New features added

    • New signInTracking option (off by default).
    • Sets user.latestSignInAt = session.createdAt on sign-in.
    • Schema adds latestSignInAt to user only when signInTracking is true.
    • Admin client accepts signInTracking for typed usage.
    • Tests cover first and subsequent sign-ins.
  • Migration - Steps needed for adoption (if applicable)

    • If enabling signInTracking, add a nullable date column latestSignInAt to your users table.
    • No changes needed if you keep it disabled.

closes #4301


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/better-auth/better-auth/pull/5215 **Author:** [@jslno](https://github.com/jslno) **Created:** 10/10/2025 **Status:** ❌ Closed **Base:** `canary` ← **Head:** `feat-admin/sign-in-tracking` --- ### 📝 Commits (6) - [`1410526`](https://github.com/better-auth/better-auth/commit/1410526ef71bf1b1b63efd576051a5b2cc5ef63b) feat(admin): optional sign-in tracking - [`a6cff5b`](https://github.com/better-auth/better-auth/commit/a6cff5b440347ec4ce9dd790593454ea9ca68d44) chore: add tests - [`d4bf2d8`](https://github.com/better-auth/better-auth/commit/d4bf2d8e7eaa9787d7b00ee93f08973b33f8c586) chore: update docs - [`0d872b1`](https://github.com/better-auth/better-auth/commit/0d872b1b12ff2dbde17579c5b6ba2d2e1d9e77b5) chore: fix docs - [`2ed25ca`](https://github.com/better-auth/better-auth/commit/2ed25caf52fb7f07e579f5d4044c16df5d09b23e) chore: update jsdocs - [`dac141e`](https://github.com/better-auth/better-auth/commit/dac141eddbd67a0eee5b97d7ef0cea8ae878a0cb) Merge branch 'canary' into feat-admin/sign-in-tracking ### 📊 Changes **6 files changed** (+170 additions, -37 deletions) <details> <summary>View changed files</summary> 📝 `docs/content/docs/plugins/admin.mdx` (+29 -0) 📝 `packages/better-auth/src/plugins/admin/admin.test.ts` (+58 -0) 📝 `packages/better-auth/src/plugins/admin/admin.ts` (+15 -2) 📝 `packages/better-auth/src/plugins/admin/client.ts` (+2 -0) 📝 `packages/better-auth/src/plugins/admin/schema.ts` (+57 -34) 📝 `packages/better-auth/src/plugins/admin/types.ts` (+9 -1) </details> ### 📄 Description <!-- This is an auto-generated description by cubic. --> ## Summary by cubic Add optional sign-in tracking to the Admin plugin. When enabled, the user’s latestSignInAt is stored and updated on each sign-in, and the schema includes this field only when needed. - New Features - New features added - New signInTracking option (off by default). - Sets user.latestSignInAt = session.createdAt on sign-in. - Schema adds latestSignInAt to user only when signInTracking is true. - Admin client accepts signInTracking for typed usage. - Tests cover first and subsequent sign-ins. - Migration - Steps needed for adoption (if applicable) - If enabling signInTracking, add a nullable date column latestSignInAt to your users table. - No changes needed if you keep it disabled. <!-- End of auto-generated description by cubic. --> closes #4301 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-03-13 12:39:17 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/better-auth#5858