feat(web-next): register realtime-ping inbound (env-gateable)

This commit is contained in:
2026-05-08 23:20:58 +02:00
parent 90ef577b9d
commit 2351ca6249
2 changed files with 8 additions and 1 deletions

View File

@@ -23,6 +23,7 @@ import {
import { import {
InMemoryRealtimeBroadcaster, InMemoryRealtimeBroadcaster,
RealtimeHandlerRegistry, RealtimeHandlerRegistry,
realtimePingInboundDescriptor,
type IRealtimeBroadcaster, type IRealtimeBroadcaster,
type IRealtimeHandlerRegistry, type IRealtimeHandlerRegistry,
} from "@repo/core-realtime"; } from "@repo/core-realtime";
@@ -120,6 +121,9 @@ export async function bindAllProduction(deps: BindAllDeps): Promise<void> {
bindProductionMarketingPages(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 20 bindProductionMarketingPages(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 20
bindProductionNavigation(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 21 bindProductionNavigation(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 21
bindProductionMedia(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 22 bindProductionMedia(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 22
if (process.env.REALTIME_PING_DISABLED !== "true") {
realtimeRegistry.register(realtimePingInboundDescriptor(realtime));
}
bindRealtimeBridge(bus, realtime); bindRealtimeBridge(bus, realtime);
} }
@@ -139,6 +143,9 @@ export async function bindAllDevSeed(deps: BindAllDeps): Promise<void> {
await bindDevSeedMarketingPages(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 20 await bindDevSeedMarketingPages(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 20
await bindDevSeedNavigation(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 21 await bindDevSeedNavigation(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 21
await bindDevSeedMedia(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 22 await bindDevSeedMedia(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 22
if (process.env.REALTIME_PING_DISABLED !== "true") {
realtimeRegistry.register(realtimePingInboundDescriptor(realtime));
}
bindRealtimeBridge(bus, realtime); bindRealtimeBridge(bus, realtime);
} }

View File

@@ -23,7 +23,7 @@ export const realtimePongChannel = defineRealtimeChannel(
export function realtimePingInboundDescriptor( export function realtimePingInboundDescriptor(
broadcaster: IRealtimeBroadcaster, broadcaster: IRealtimeBroadcaster,
): IInboundDescriptor<typeof realtimePingChannel.name, typeof pingSchema> { ): IInboundDescriptor<"realtime.ping", z.ZodType<PingPayload>> {
return { return {
descriptor: realtimePingChannel, descriptor: realtimePingChannel,
handler: async (input: PingPayload, ctx: RealtimeContext): Promise<void> => { handler: async (input: PingPayload, ctx: RealtimeContext): Promise<void> => {