From e3aba59d060e07bf5e54f7cb8080ddfc9e8c81c0 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Thu, 14 May 2026 19:19:52 -0400 Subject: [PATCH] refactor(server): drop unused Ref in listener stop The forceRequested Ref + trailing re-yield of forceCloseOnce only forced graceful stops to wait for a concurrent force-close's WebSocketTracker cleanup. The scope close already triggers closeAllConnections via the serverRef.forceStop flag, so all callers observe the same end state without it. --- packages/opencode/src/server/server.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/opencode/src/server/server.ts b/packages/opencode/src/server/server.ts index d5881de0e5..b7a46918b2 100644 --- a/packages/opencode/src/server/server.ts +++ b/packages/opencode/src/server/server.ts @@ -1,6 +1,6 @@ import { NodeHttpServer } from "@effect/platform-node" import * as Log from "@opencode-ai/core/util/log" -import { ConfigProvider, Context, Effect, Exit, Layer, Ref, Scope } from "effect" +import { ConfigProvider, Context, Effect, Exit, Layer, Scope } from "effect" import { HttpRouter, HttpServer } from "effect/unstable/http" import { OpenApi } from "effect/unstable/httpapi" import { createServer } from "node:http" @@ -173,17 +173,14 @@ function setupMdns(opts: ListenOptions, port: number, scope: Scope.Scope) { function makeStop(state: ListenerState, unpublishMdns: Effect.Effect) { return Effect.gen(function* () { - const forceRequested = yield* Ref.make(false) const forceCloseOnce = yield* Effect.cached(forceClose(state).pipe(Effect.ignore)) const closeScopeOnce = yield* Effect.cached(Scope.close(state.scope, Exit.void).pipe(Effect.ignore)) return (close?: boolean) => Effect.gen(function* () { - if (close) yield* Ref.set(forceRequested, true) yield* unpublishMdns if (close) yield* forceCloseOnce yield* closeScopeOnce - if (yield* Ref.get(forceRequested)) yield* forceCloseOnce }) }) }