biomejs / biome

A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.

Home Page:https://biomejs.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ› `biome lsp-proxy` hangs with certain input

jscheid opened this issue Β· comments

Environment information

CLI:
  Version:                      1.8.1
  Color support:                true

Platform:
  CPU Architecture:             aarch64
  OS:                           macos

Environment:
  BIOME_LOG_DIR:                unset
  NO_COLOR:                     unset
  TERM:                         "xterm-256color"
  JS_RUNTIME_VERSION:           unset
  JS_RUNTIME_NAME:              unset
  NODE_PACKAGE_MANAGER:         unset

Biome Configuration:
  Status:                       unset

Workspace:
  Open Documents:               0

What happened?

#!/bin/sh

(
  printf 'Content-Length: 75\r\n\r\n{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"capabilities":{}}}' && \
    printf 'Content-Length: 54\r\n\r\n{"jsonrpc":"2.0","method":"initialized","params":null}' && sleep 1 && \
    printf 'Content-Length: 140\r\n\r\n{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{"uri":"file:///a.rs","languageId":"rust","version":0,"text":""}}}'
) | biome lsp-proxy

Running the above hangs indefinitely here on my system. It works as expected if I change the languageId to javascript (and adjust the Content-Length of the third message from 140 to 146.)

I understand that biome isn't supporting Rust but the server shouldn't hang.

Expected result

Server doesn't hang, maybe it should return an error instead or maybe it should ignore the wrong languageId.

Code of Conduct

  • I agree to follow Biome's Code of Conduct