razor icon indicating copy to clipboard operation
razor copied to clipboard

Diagnostic single server

Open ryanbrandenburg opened this issue 3 years ago • 5 comments

Summary of the changes

  • Migrate diagnostics to single server.

Fixes: https://github.com/dotnet/razor-tooling/issues/6296

ryanbrandenburg avatar Oct 05 '22 20:10 ryanbrandenburg

IIRC a single server can't pull and push diagnostics at the same time. Meaning Razor diagnostics will break until converting the existing Razor diagnostic publisher to pull

NTaylorMullen avatar Oct 05 '22 20:10 NTaylorMullen

IIRC a single server can't pull and push diagnostics at the same time. Meaning Razor diagnostics will break until converting the existing Razor diagnostic publisher to pull

How would this break express itself? I ran through some diagnostic scenarios locally using the experimental extension and didn't see anything strange.

ryanbrandenburg avatar Oct 05 '22 21:10 ryanbrandenburg

How would this break express itself? I ran through some diagnostic scenarios locally using the experimental extension and didn't see anything strange.

Not entirely sure to be honest, I'd guess just no diagnostics showing up for either Razor or C#/HTML. Aditya / Christian / Etienne just always said having a single server with both push / pull was not supported. Maybe things have changed? /cc @gundermanc ?

NTaylorMullen avatar Oct 05 '22 21:10 NTaylorMullen

Aditya / Christian / Etienne just always said having a single server with both push / pull was not supported. Maybe things have changed? /cc @gundermanc ?

I don't see anything that seems to prevent simultaneous push and pull. I'd say if you aren't able to do push and pull simultaneously, file a bug and we should look into it.

gundermanc avatar Oct 05 '22 21:10 gundermanc

Blocked on https://github.com/dotnet/roslyn/pull/64642.

ryanbrandenburg avatar Oct 11 '22 20:10 ryanbrandenburg

Requesting re-reviews. In my struggle to get unit tests to work I ended up writing some Integration tests instead. The single-server Unit tests for this area get a bit weird because we rely on some launching of threads that don't happen by default in the test case and setting of global state. Once I started going down that road I felt that we were testing more of the test env than the reality, so I threw together an Integration test for the area instead (Which we wanted anyway).

ryanbrandenburg avatar Nov 14 '22 19:11 ryanbrandenburg