From e565a6c77fa8c5b2632879ed7fbfb17f7595b8fb Mon Sep 17 00:00:00 2001 From: MartinBraquet Date: Thu, 23 Oct 2025 18:45:37 +0200 Subject: [PATCH] Set last online upon user creation --- backend/api/src/create-user.ts | 6 ++++++ backend/api/src/set-last-online-time.ts | 8 ++++++-- web/hooks/use-online.ts | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/backend/api/src/create-user.ts b/backend/api/src/create-user.ts index 60c5bedd..1d7be9a1 100644 --- a/backend/api/src/create-user.ts +++ b/backend/api/src/create-user.ts @@ -14,6 +14,7 @@ import {insert} from 'shared/supabase/utils' import {convertPrivateUser, convertUser} from 'common/supabase/users' import {getBucket} from "shared/firebase-utils"; import {sendWelcomeEmail} from "email/functions/helpers"; +import {setLastOnlineTimeUser} from "api/set-last-online-time"; export const createUser: APIHandler<'create-user'> = async ( props, @@ -134,6 +135,11 @@ export const createUser: APIHandler<'create-user'> = async ( } catch (e) { console.error('Failed to sendWelcomeEmail', e) } + try { + await setLastOnlineTimeUser(auth.uid) + } catch (e) { + console.error('Failed to set last online time', e) + } } return { diff --git a/backend/api/src/set-last-online-time.ts b/backend/api/src/set-last-online-time.ts index e5374535..eae4d524 100644 --- a/backend/api/src/set-last-online-time.ts +++ b/backend/api/src/set-last-online-time.ts @@ -6,7 +6,12 @@ export const setLastOnlineTime: APIHandler<'set-last-online-time'> = async ( auth ) => { if (!auth || !auth.uid) return + await setLastOnlineTimeUser(auth.uid) + // console.log('setLastOnline') +} + +export const setLastOnlineTimeUser = async (userId: string) => { const pg = createSupabaseDirectClient() await pg.none(` INSERT INTO user_activity (user_id, last_online_time) @@ -16,7 +21,6 @@ export const setLastOnlineTime: APIHandler<'set-last-online-time'> = async ( SET last_online_time = EXCLUDED.last_online_time WHERE user_activity.last_online_time < now() - interval '1 minute'; `, - [auth.uid] + [userId] ) - // console.log('setLastOnline') } diff --git a/web/hooks/use-online.ts b/web/hooks/use-online.ts index 6fb1e35b..32db23d3 100644 --- a/web/hooks/use-online.ts +++ b/web/hooks/use-online.ts @@ -9,7 +9,7 @@ export const useOnline = () => { useEffect(() => { if (!profile || !isAuthed) return void (async () => { - const date = new Date().toISOString() + // const date = new Date().toISOString() // const result = await run( // db // .from('profiles')