From d13b24a5da6069d285b312334fc3506ab95fa2fe Mon Sep 17 00:00:00 2001 From: csh Date: Wed, 24 Dec 2025 13:45:35 +0800 Subject: [PATCH] :bug: fix(lsp_server): disable diagnostics publishing by default --- lsp-server/src/core/server.cppm | 9 ++++++++- lsp-server/src/provider/manifest.cppm | 2 ++ lsp-server/test/test_provider/server_json_test.cppm | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lsp-server/src/core/server.cppm b/lsp-server/src/core/server.cppm index 6f937bd..91da116 100644 --- a/lsp-server/src/core/server.cppm +++ b/lsp-server/src/core/server.cppm @@ -94,7 +94,14 @@ namespace lsp::core InitializeManagerHub(); RegisterProviders(); - RegisterDiagnosticsPublisher(); + if (provider::kEnableDiagnosticsPublisher) + { + RegisterDiagnosticsPublisher(); + } + else + { + spdlog::debug("Diagnostics publisher disabled (staged rollout)"); + } spdlog::debug("LSP server initialized with {} providers.", dispatcher_.GetAllSupportedMethods().size()); } diff --git a/lsp-server/src/provider/manifest.cppm b/lsp-server/src/provider/manifest.cppm index 4dd7fdf..ce9c7c6 100644 --- a/lsp-server/src/provider/manifest.cppm +++ b/lsp-server/src/provider/manifest.cppm @@ -88,6 +88,8 @@ import lsp.provider.trace.set_trace; export namespace lsp::provider { + inline constexpr bool kEnableDiagnosticsPublisher = false; + using AllProviders = ProviderRegistry< completion_item::Resolve, Initialize, diff --git a/lsp-server/test/test_provider/server_json_test.cppm b/lsp-server/test/test_provider/server_json_test.cppm index 995448c..5be3e80 100644 --- a/lsp-server/test/test_provider/server_json_test.cppm +++ b/lsp-server/test/test_provider/server_json_test.cppm @@ -324,7 +324,7 @@ namespace lsp::test::provider auto expected = FindPosition(content, "function UnitFunc", false); assertTrue(location.range.start.line == expected.line, "Definition should resolve in document"); - assertTrue(saw_diagnostics, "Server should publish diagnostics after didOpen"); + assertTrue(!saw_diagnostics, "Server should not publish diagnostics during staged rollout"); assertTrue(!by_id["5"].error.has_value(), "Shutdown response should not contain error"); return result; }