From 8ec1ecdbb48ed6e4a9954781852e39e05092801f Mon Sep 17 00:00:00 2001 From: beilunyang <786220806@qq.com> Date: Mon, 23 Jun 2025 00:37:12 +0800 Subject: [PATCH] fix: new received emails not showing --- app/api/emails/[id]/route.ts | 9 +++++++-- workers/email-receiver.ts | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/api/emails/[id]/route.ts b/app/api/emails/[id]/route.ts index 29e70bf..0725745 100644 --- a/app/api/emails/[id]/route.ts +++ b/app/api/emails/[id]/route.ts @@ -1,7 +1,7 @@ import { NextResponse } from "next/server" import { createDb } from "@/lib/db" import { emails, messages } from "@/lib/schema" -import { eq, and, lt, or, sql, ne } from "drizzle-orm" +import { eq, and, lt, or, sql, ne, isNull } from "drizzle-orm" import { encodeCursor, decodeCursor } from "@/lib/cursor" import { getUserId } from "@/lib/apiKey" import { checkBasicSendPermission } from "@/lib/send-permissions" @@ -87,7 +87,12 @@ export async function GET( const baseConditions = and( eq(messages.emailId, id), - messageType === 'sent' ? eq(messages.type, "sent") : ne(messages.type, "sent") + messageType === 'sent' + ? eq(messages.type, "sent") + : or( + ne(messages.type, "sent"), + isNull(messages.type) + ) ) const totalResult = await db.select({ count: sql`count(*)` }) diff --git a/workers/email-receiver.ts b/workers/email-receiver.ts index b8d3ffe..26c6f72 100644 --- a/workers/email-receiver.ts +++ b/workers/email-receiver.ts @@ -29,6 +29,7 @@ const handleEmail = async (message: ForwardableEmailMessage, env: Env) => { subject: parsedMessage.subject || '(无主题)', content: parsedMessage.text || '', html: parsedMessage.html || '', + type: 'received', }).returning().get() const webhook = await db.query.webhooks.findFirst({