Commit Graph

5 Commits

Author SHA1 Message Date
moze
c3e657e2a1 fix: return 405 on POST /sse so MCP clients fall back to legacy SSE transport
All checks were successful
Build and publish Docker image / Build and push CPU image (push) Successful in 2m8s
Build and publish Docker image / Build and push GPU image (push) Successful in 3m1s
Modern MCP clients (Claude Code, etc.) probe for Streamable HTTP transport by
POSTing an InitializeRequest to the server URL first. Per MCP spec 2025-11-25,
they fall back to legacy HTTP+SSE only on 400/404/405.

Previously, POST /sse fell through the SPA resource resolver (which had 'sse'
missing from EXCLUDED_PREFIXES) and returned 500, causing clients to abort
instead of retrying with the GET-based SSE handshake.

Fix:
- Add 'sse' to EXCLUDED_PREFIXES so the SPA resolver ignores that path
- Add explicit @PostMapping("/sse") returning 405 Method Not Allowed with
  Allow: GET header — the correct signal for Streamable HTTP probe fallback
2026-05-06 02:08:32 +02:00
moze
cfb35b35c0 fix: suppress SSE client-disconnect noise in GlobalExceptionHandler
All checks were successful
Build and publish Docker image / Build and push CPU image (push) Successful in 2m9s
Build and publish Docker image / Build and push GPU image (push) Successful in 3m0s
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).
2026-05-06 01:53:09 +02:00
moze
e7a8aa95fc fix: add missing port/out and adapter/out sources; fix .gitignore and .dockerignore
All checks were successful
Build and publish Docker image / Build and push CPU image (push) Successful in 2m16s
Build and publish Docker image / Build and push GPU image (push) Successful in 3m6s
- .gitignore had bare 'out/' matching source directories; changed to '/out/'
- All 45 files under trueref-domain/port/out and trueref-adapters/.../out
  were silently excluded from the initial commit
- Added .dockerignore to exclude data/, runtime/, logs/ from build context
2026-05-06 01:36:14 +02:00
moze
0a7fc2c84d ci: fix docker workflow - registry cache, build-push-action@v6, REGISTRY_TOKEN
Some checks failed
Build and publish Docker image / Build and push CPU image (push) Failing after 51s
Build and publish Docker image / Build and push GPU image (push) Failing after 1m2s
- Replace type=gha cache (disabled on this runner) with type=registry cache
- Upgrade docker/build-push-action v5 → v6 (matches whisper-rtx2080 pattern)
- Switch auth to REGISTRY_USERNAME/REGISTRY_TOKEN repo secrets
- Split into two parallel jobs (build-cpu / build-gpu) for visibility
- Use github.ref conditions (Gitea compat) instead of is_default_branch
2026-05-06 01:20:51 +02:00
moze
c5f950c2c0 Initial commit: trueref v0.1.0-SNAPSHOT
Some checks failed
Build and publish Docker image / Build and push (push) Failing after 1m27s
Java 21 / Spring Boot 3.5.3 multi-module Maven project.
Hybrid BM25+HNSW search with RRF, cross-encoder reranker,
ONNX Runtime 1.22.0 (CPU + CUDA 12 GPU variants).
2026-05-06 00:49:16 +02:00