cfb35b35c056501bd3b886b50b267da6cd315c89
AsyncRequestNotUsableException is thrown when the SSE client disconnects before the server finishes writing (normal: browser tab close, MCP client reconnect). The catch-all handler was logging it at ERROR level and then attempting to write a JSON ErrorResponse onto a text/event-stream response that no longer had a converter, producing a second spurious HttpMessageNotWritableException log entry. Fix: add a dedicated @ExceptionHandler(AsyncRequestNotUsableException) that logs at DEBUG only and returns void (no body).
trueref
Self-hosted Context7 clone in Java 21 + Spring Boot 3.5: indexes git repositories per tag, exposes a Streamable-HTTP MCP server, REST + Swagger, and a SvelteKit dashboard for ingestion observability and querying.
See:
- ARCHITECTURE.md — design, hexagonal layout, pipelines, MCP/REST surfaces.
- CODE_STYLE.md — conventions.
- FINDINGS.md — research notes backing every choice.
Quickstart
./mvnw -DskipTests package
java -jar trueref-bootstrap/target/trueref.jar
Browse:
- UI: http://localhost:8080/
- Swagger: http://localhost:8080/swagger-ui.html
- MCP endpoint: http://localhost:8080/mcp
- Actuator: http://localhost:8080/actuator
Description
Languages
Java
76.3%
Svelte
11.4%
Python
5.9%
TypeScript
3.4%
Shell
1.6%
Other
1.2%