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.
There was a problem hiding this comment.
Added onFailure to the test API in f68f1e8. Verifier crashes now emit it after setting the crashed state, so integration tests can fail immediately. The focused regression check, lint, typecheck, and extension installation passed.
Co-authored-by: Codex <codex@openai.com>
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.