Prisma pulse issue
whne trying to connect pulse got this error, I also tried .stream() method, same result....
I'm using nextjs 15 with server actions
Error creating stream: [TypeError: fetch failed] {
[cause]: Error [InvalidArgumentError]: invalid upgrade header
at new Promise (<anonymous>) {
code: 'UND_ERR_INVALID_ARG'
}
}
PULSE FUNCTION
'use server';
import { prisma } from '../prisma-client';
export const getBookingStream = async () => {
try {
const stream = await prisma.booking.subscribe();
console.log('Stream created successfully', stream);
} catch (error) {
console.error('Error creating stream:', error);
}
};
CLIENT INIT
import { PrismaClient } from '@prisma/client/edge';
import { withAccelerate } from '@prisma/extension-accelerate';
import { withPulse } from '@prisma/extension-pulse/workerd';
const globalForPrisma = globalThis as unknown as { prisma: ReturnType<typeof createPrismaClient>; };
function createPrismaClient() {
return new PrismaClient().$extends(withAccelerate()).$extends(
withPulse({
apiKey: process.env.PULSE_API_KEY as string,
}),
);
}
export const prisma = globalForPrisma.prisma || createPrismaClient();
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;
I'm using nextjs 15 with server actions
Error creating stream: [TypeError: fetch failed] {
[cause]: Error [InvalidArgumentError]: invalid upgrade header
at new Promise (<anonymous>) {
code: 'UND_ERR_INVALID_ARG'
}
}
PULSE FUNCTION
'use server';
import { prisma } from '../prisma-client';
export const getBookingStream = async () => {
try {
const stream = await prisma.booking.subscribe();
console.log('Stream created successfully', stream);
} catch (error) {
console.error('Error creating stream:', error);
}
};
CLIENT INIT
import { PrismaClient } from '@prisma/client/edge';
import { withAccelerate } from '@prisma/extension-accelerate';
import { withPulse } from '@prisma/extension-pulse/workerd';
const globalForPrisma = globalThis as unknown as { prisma: ReturnType<typeof createPrismaClient>; };
function createPrismaClient() {
return new PrismaClient().$extends(withAccelerate()).$extends(
withPulse({
apiKey: process.env.PULSE_API_KEY as string,
}),
);
}
export const prisma = globalForPrisma.prisma || createPrismaClient();
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;