Conversation
CatarinaGamboa
left a comment
There was a problem hiding this comment.
Reviewed with Claude Code (reviewer + adversarial agents per PR, findings checked against the code before posting).
| extension.webview?.sendMessage({ type: "diagnostics", diagnostics }); | ||
| if (extension.context) | ||
| extension.webview?.sendMessage({ type: "context", context: extension.context, errorAtCursor: extension.errorAtCursor }); | ||
| extension.diagnosticsEmitter.fire(diagnostics); |
There was a problem hiding this comment.
A verifier crash fires no event. onDiagnostics only fires on liquidjava/diagnostics. When the verifier throws, the server catches it in LJDiagnosticsService.generateDiagnostics and sends liquidjava/failure instead, and handleLJFailure doesn't fire anything. A test waiting on onDiagnostics then sits until the 120s Mocha timeout, with nothing saying the server crashed. #130 asked for tests to be able to tell a crash apart from a slow run.
Suggest firing something from handleLJFailure too (a separate onFailure event, or a status-change event), so tests can fail fast with a clear message.
Expose readiness, diagnostic events (including empty results), current status/diagnostics, and webview messages through the running extension’s activation API. Startup failures reject readiness while existing extension behavior stays intact.
Validation: lint, TypeScript, production bundle, VSIX packaging, and extension installation passed. The integration smoke test in #131 uses this API.
Closes #130.
Generated by Codex.