Skip to content

Conversation

@vinistock
Copy link
Member

@vinistock vinistock commented Nov 11, 2025

Motivation

I believe this will close #3760

Since we're using JSON RPC to communicate test results between server and extension, we have to turn on

  • binmode: so that Windows preserves the \r\n\r\n sequences that are the key request separators
  • sync: so that the content of the pipe is not buffered, but immediately flushed

We already do this one very stdio we use and we forgot to do the same for the socket used for tests.

Implementation

Added binmode and sync to our LSP reporter socket.

Automated Tests

I believe that turning binmode on our fake test client would've been enough to catch this.

Copy link
Member Author


How to use the Graphite Merge Queue

Add the label graphite-merge to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@vinistock vinistock self-assigned this Nov 11, 2025
@vinistock vinistock added bugfix This PR will fix an existing bug server This pull request should be included in the server gem's release notes labels Nov 11, 2025 — with Graphite App
@vinistock vinistock marked this pull request as ready for review November 11, 2025 22:07
@vinistock vinistock requested a review from a team as a code owner November 11, 2025 22:07
@graphite-app
Copy link

graphite-app bot commented Nov 12, 2025

Merge activity

### Motivation

I believe this will close #3760

Since we're using JSON RPC to communicate test results between server and extension, we have to turn on

- binmode: so that Windows preserves the `\r\n\r\n` sequences that are the key request separators
- sync: so that the content of the pipe is not buffered, but immediately flushed

We already do this one very stdio we use and we forgot to do the same for the socket used for tests.

### Implementation

Added `binmode` and `sync` to our LSP reporter socket.

### Automated Tests

I believe that turning `binmode` on our fake test client would've been enough to catch this.
@graphite-app graphite-app bot force-pushed the 11-11-ensure_binmode_and_sync_on_lsp_reporter_socket branch from 46e63e5 to f226e90 Compare November 12, 2025 15:58
@graphite-app graphite-app bot merged commit f226e90 into main Nov 12, 2025
36 checks passed
@graphite-app graphite-app bot deleted the 11-11-ensure_binmode_and_sync_on_lsp_reporter_socket branch November 12, 2025 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix This PR will fix an existing bug server This pull request should be included in the server gem's release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Minitests test runs never report finished (on Windows)

2 participants