Repository navigation
0.3.5
CRITICAL
- Fix 1: node.go:133 — Count query now applies workspace/namespace/type filters via dynamic SQL, so filtered counts match the node list.
HIGH
- Fix 3: edge.go + models/edge.go — Added EdgeType.IsValid() with 9 valid types. Edge Create handler now rejects invalid edge_type with 400.
- Fix 4: ask.go:182 — Removed hardcoded workspace="hermes" default in Graph(), now consistent with other endpoints (empty = all).
MEDIUM
- Fix 5: node.go:157 — GetHistory now checks if node exists first. Returns 404 for missing node, 200 with empty array for existing node with no history (was 500).
- Fix 7: index.html — 3 polling intervals (health 30s, ollama 10s, node-count 15s) now tracked in variables. Cleared on visibilitychange=hidden, restarted on visible. Saves battery/CPU on background tabs.
- Fix 8: search.go — FTS limit capped to 1-100 (default 10). Semantic and Hybrid endpoints also cap req.Limit to 1-100. Prevents unbounded queries.
- Fix 9: search.go:174 — EmbedBatch now checks len(embeddings) == 0 after the batch call, returning 500 with clear message instead of panicking on embeddings[0].
LOW
- Fix 10: embedder/ollama.go — Health() now parses /api/tags response and verifies the configured model (e.g. nomic-embed-text:v1.5) is actually loaded in Ollama. Returns error if model missing.
- Fix 11: router.go — getLocalVersion() now uses sync.Once to read VERSION file exactly once, caching the result. Eliminates disk I/O on every health check.
Also fixed:
- Fix 12: graph.html — Recursive setTimeout for simulated recall now tracked in simTimer. Cleared on tab hidden, restarted on visible. Prevents timeout accumulation.