diff --git a/packages/server/src/http/WebSocketServer.ts b/packages/server/src/http/WebSocketServer.ts deleted file mode 100644 index 0f09f86..0000000 --- a/packages/server/src/http/WebSocketServer.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Context, Effect, Layer } from "effect" -import ws from "ws" -import { ExpressHTTPServer } from "../http/ExpressHTTPServer" - - -export class WebSocketServer extends Context.Tag("WebSocketServer")() {} - -export module WebSocketServer { - export const Live = Layer.effect(WebSocketServer, Effect.acquireRelease( - Effect.gen(function*() { - yield* Effect.logInfo("WebSocket server started") - return new ws.WebSocketServer({ server: yield* ExpressHTTPServer }) - }), - - wss => Effect.gen(function*() { - yield* Effect.logInfo("WebSocket server is stopping. Waiting for existing connections to end...") - yield* Effect.async(resume => { - wss.close(() => resume(Effect.logInfo("WebSocket server closed"))) - }) - }), - )) -} diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 3f5372a..3715159 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -5,7 +5,6 @@ import { ServerConfig } from "./ServerConfig" import { Services } from "./Services" import { ExpressApp } from "./http/ExpressApp" import { ExpressHTTPServer } from "./http/ExpressHTTPServer" -import { WebSocketServer } from "./http/WebSocketServer" import { RPCPlaygroundRoute } from "./rpc/RPCPlaygroundRoute" import { RPCRoute } from "./rpc/RPCRoute" import { RPCRouter } from "./rpc/RPCRouter" @@ -40,7 +39,6 @@ const ServerLive = Layer.empty.pipe( Layer.provideMerge(TRPCBuilder.Live), Layer.provideMerge(TRPCContextCreator.Live), - Layer.provideMerge(WebSocketServer.Live), Layer.provideMerge(ExpressHTTPServer.Live), Layer.provideMerge(ExpressApp.Live), ) diff --git a/packages/server/src/rpc/RPCWebSocketHandler.ts b/packages/server/src/rpc/RPCWebSocketHandler.ts deleted file mode 100644 index 52df8f8..0000000 --- a/packages/server/src/rpc/RPCWebSocketHandler.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { applyWSSHandler } from "@trpc/server/adapters/ws" -import { Effect, Layer } from "effect" -import { WebSocketServer } from "../http/WebSocketServer" -import { TRPCContextCreator } from "../trpc/TRPCContextCreator" -import { RPCRouter } from "./RPCRouter" - - -export module RPCWebSocketHandler { - export const Live = Layer.effectDiscard(Effect.acquireRelease( - Effect.gen(function*() { - return applyWSSHandler({ - wss: yield* WebSocketServer, - router: yield* RPCRouter, - createContext: (yield* TRPCContextCreator).createWebSocketContext, - }) - }), - - handler => Effect.sync(() => - handler.broadcastReconnectNotification() - ), - )) -} diff --git a/packages/webui/src/routes/index.lazy.tsx b/packages/webui/src/routes/index.lazy.tsx index 2cc3d44..f1f3cd7 100644 --- a/packages/webui/src/routes/index.lazy.tsx +++ b/packages/webui/src/routes/index.lazy.tsx @@ -1,7 +1,7 @@ import { Schema as S } from "@effect/schema" import { createLazyFileRoute } from "@tanstack/react-router" import { Option, flow, identity } from "effect" -import { IObservableArray, observable } from "mobx" +import { type IObservableArray, observable } from "mobx" import { observer } from "mobx-react-lite" import { useState } from "react" import { JsonifiableTodo, Todo } from "../data" diff --git a/packages/webui/src/trpc/TRPCClientProvider.tsx b/packages/webui/src/trpc/TRPCClientProvider.tsx index 307941f..7368da7 100644 --- a/packages/webui/src/trpc/TRPCClientProvider.tsx +++ b/packages/webui/src/trpc/TRPCClientProvider.tsx @@ -1,6 +1,6 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query" import { createWSClient, httpBatchLink, splitLink, wsLink } from "@trpc/client" -import { ReactNode, useState } from "react" +import { type ReactNode, useState } from "react" import { trpc } from "./trpc"