Skip to content

Harden LSP request parsing and lookup bounds - #3313

Merged
Widthdom merged 11 commits into
mainfrom
fix-issue3230-3229-3206-3205-3204-3203-3137-3136-3130-3128
Jun 6, 2026
Merged

Harden LSP request parsing and lookup bounds#3313
Widthdom merged 11 commits into
mainfrom
fix-issue3230-3229-3206-3205-3204-3203-3137-3136-3130-3128

Conversation

@Widthdom

@Widthdom Widthdom commented Jun 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • Harden LSP frame parsing with header count/byte budgets and duplicate Content-Length rejection.
  • Validate request IDs and textDocument.uri values before cloning, parsing, or path fallback.
  • Bound LSP symbol query work, document symbol output, position line reads, basename fallback candidates, and unknown-method diagnostic echo coverage.
  • Add bilingual changelog fragments and update USER_GUIDE.md with the documented LSP limits.

Issues

Fixes #3230
Fixes #3229
Fixes #3206
Fixes #3205
Fixes #3204
Fixes #3203
Fixes #3137
Fixes #3136
Fixes #3130
Fixes #3128

Validation

  • dotnet build
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj --filter "FullyQualifiedName~LspServerTests|FullyQualifiedName~LspServerRequestIdTests"
  • dotnet run --project tools/CodeIndex.Changelog -- check
  • dotnet ./src/CodeIndex/bin/Debug/net8.0/cdidx.dll status --check --json
  • Codex adversarial review after conflict resolution: No blocking/actionable issues found.

Scope Notes

  • No target issue was excluded; all requested issues had no prior comments before the work-start comments were added.
  • No additional follow-up issue was opened for unrelated findings.

@Widthdom
Widthdom marked this pull request as ready for review June 6, 2026 01:51
…06-3205-3204-3203-3137-3136-3130-3128

# Conflicts:
#	src/CodeIndex/Lsp/LspServer.cs
@Widthdom
Widthdom merged commit dfe3c4d into main Jun 6, 2026
10 checks passed
@Widthdom
Widthdom deleted the fix-issue3230-3229-3206-3205-3204-3203-3137-3136-3130-3128 branch June 6, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment