From 9822512aeb1dcacbc4229f1b538989225582798b Mon Sep 17 00:00:00 2001 From: Steve Korshakov Date: Sat, 20 Sep 2025 17:00:05 -0700 Subject: [PATCH] fix: use inTx wrapper instead of raw transactions for friend operations Fixes "undefined reading push" error by using the inTx wrapper which properly initializes the callbacks array needed by afterTx for notification sending. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude Co-Authored-By: Happy --- sources/app/social/friendAdd.ts | 4 ++-- sources/app/social/friendRemove.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sources/app/social/friendAdd.ts b/sources/app/social/friendAdd.ts index f4467ec..5746ea5 100644 --- a/sources/app/social/friendAdd.ts +++ b/sources/app/social/friendAdd.ts @@ -1,6 +1,6 @@ import { Context } from "@/context"; import { buildUserProfile, UserProfile } from "./type"; -import { db } from "@/storage/db"; +import { inTx } from "@/storage/inTx"; import { RelationshipStatus } from "@prisma/client"; import { relationshipSet } from "./relationshipSet"; import { relationshipGet } from "./relationshipGet"; @@ -20,7 +20,7 @@ export async function friendAdd(ctx: Context, uid: string): Promise { + return await inTx(async (tx) => { // Read current user objects const currentUser = await tx.account.findUnique({ diff --git a/sources/app/social/friendRemove.ts b/sources/app/social/friendRemove.ts index afb819a..0063d8c 100644 --- a/sources/app/social/friendRemove.ts +++ b/sources/app/social/friendRemove.ts @@ -1,12 +1,12 @@ import { Context } from "@/context"; import { buildUserProfile, UserProfile } from "./type"; -import { db } from "@/storage/db"; +import { inTx } from "@/storage/inTx"; import { RelationshipStatus } from "@prisma/client"; import { relationshipSet } from "./relationshipSet"; import { relationshipGet } from "./relationshipGet"; export async function friendRemove(ctx: Context, uid: string): Promise { - return await db.$transaction(async (tx) => { + return await inTx(async (tx) => { // Read current user objects const currentUser = await tx.account.findUnique({