Skip to content

Commit 0caa018

Browse files
fix(updateLastActive): handle errors gracefully in presence channel subscription
1 parent b4f0bb8 commit 0caa018

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

src/app/actions/memberActions.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,18 @@ export async function updateLastActive() {
9595
const userId = await getAuthUserId();
9696

9797
try {
98-
return prisma.member.update({
98+
const result = await prisma.member.updateMany({
9999
where: { userId },
100100
data: { updated: new Date() }
101-
})
101+
});
102+
103+
if (result.count === 0) {
104+
return null;
105+
}
106+
107+
return result;
102108
} catch (error) {
103109
console.log(error);
104-
throw error;
110+
return null;
105111
}
106112
}

src/hooks/usePresenceChannel.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@ export const usePresenceChannel = (userId: string | null, profileComplete: boole
2424

2525
const handleSubscriptionSucceeded = useCallback(async (members: Members) => {
2626
handleSetMembers(Object.keys(members.members));
27-
await updateLastActive();
27+
28+
try {
29+
await updateLastActive();
30+
} catch {
31+
// non-blocking: presence should continue even if last-active update fails
32+
}
2833
}, [handleSetMembers]);
2934

3035
const handleMemberAdded = useCallback((member: { id: string }) => {

0 commit comments

Comments
 (0)