From c405ebcb56f1aa862ac9df65b39457e4be82205c Mon Sep 17 00:00:00 2001
From: beerpsi <92439990+beer-psi@users.noreply.github.com>
Date: Sat, 6 Jun 2026 19:33:07 +0700
Subject: [PATCH] Update last seen after the request is finished (#1643)
* Skip locked rows when updating last seen date
* run as post-response hook
* return correct key
* Change it on the frontend instead
* Session may not be available
* Don't cause a diff
---
.../dashboard/users/UserSettingsPage.tsx | 7 ++--
.../src/server/middleware/update-last-seen.ts | 32 +++++++++----------
2 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/typescript/client/src/app/pages/dashboard/users/UserSettingsPage.tsx b/typescript/client/src/app/pages/dashboard/users/UserSettingsPage.tsx
index 2884a296f..3d1794fe9 100644
--- a/typescript/client/src/app/pages/dashboard/users/UserSettingsPage.tsx
+++ b/typescript/client/src/app/pages/dashboard/users/UserSettingsPage.tsx
@@ -306,7 +306,7 @@ function ChangePasswordForm({ reqUser }: { reqUser: UserDocument }) {
function ChangeUsernameForm({ reqUser }: { reqUser: UserDocument }) {
const lastUsernameChange = useApiQuery<
- { canChange: false; nextAvailableChange: integer | null } | { canChange: true }
+ { canChange: false; nextChange: integer | null } | { canChange: true }
>(`/users/${reqUser.id}/last-username-change`);
const nameChangeFormik = useFormik({
@@ -424,10 +424,7 @@ function ChangeUsernameForm({ reqUser }: { reqUser: UserDocument }) {
You can only change your username every 6 months. Your next username change
will be available on{" "}
- {new Date(
- lastUsernameChange.data?.nextAvailableChange ?? 0,
- ).toLocaleDateString()}
- .
+ {new Date(lastUsernameChange.data?.nextChange ?? 0).toLocaleDateString()}.
)}