Commit Graph

17 Commits

Author SHA1 Message Date
lukaszraczylo 47c83a71e2 Add windows embeddings as well. 2025-12-19 02:17:15 +00:00
lukaszraczylo 48e54a6773 Dynamically download ONNX libraries from microshit's website. 2025-12-19 02:17:14 +00:00
lukaszraczylo 02169677a9 Release local embeddings and local sqlite-vec without need for chroma. 2025-12-19 02:17:14 +00:00
lukaszraczylo 6e4c132651 Move from chroma to sqlitevec with local embedding 2025-12-19 02:17:13 +00:00
lukaszraczylo 6a685a79c2 Additional abstractions for both sqlite and chroma. 2025-12-19 02:17:12 +00:00
lukaszraczylo c40fa7317b Dashboard and sdk processor improvements. 2025-12-19 02:17:12 +00:00
lukaszraczylo cded6bb532 Improvements to the queue processing. 2025-12-19 02:17:11 +00:00
lukaszraczylo 0af10165c6 Move SDK processing to async queue. 2025-12-19 02:17:10 +00:00
lukaszraczylo bc4e9e66ae Add the statusline. Fix the installation. 2025-12-19 02:17:09 +00:00
lukaszraczylo be4a7c19d0 Fix the issue with hanging browser tab. 2025-12-19 02:17:08 +00:00
lukaszraczylo 38b3786942 HTTP and SSE dead client fix
Fix 1: HTTP Server timeouts (service.go)
  - Added IdleTimeout: 120s - closes idle keep-alive connections
  - Added ReadTimeout: 30s - prevents hung connections waiting for request data

  Fix 2: SSE dead client cleanup (broadcaster.go) - This was the real leak
  - Bug: When Write() failed on a disconnected client, it just logged and continued - the dead client stayed in the clients map forever
  - Effect: Dead clients accumulated and every Broadcast() call would try (and fail) to write to them
  - Fix: Now tracks failed writes and removes dead clients from the map

  The SSE bug was likely the main cause. Every time a browser tab closed or connection dropped, the client stayed registered. On each broadcast (processing status updates happen frequently), it would try to write to dead connections, fail, but never clean up.
2025-12-19 02:17:07 +00:00
lukaszraczylo 816af36dd3 Startup and update sequence
1. Version mismatch restart loop (pkg/hooks/worker.go):
    - Added versionsCompatible() and extractBaseVersion() functions
    - Hooks no longer restart worker when base versions match (e.g., v0.3.5-dirty ≈ v0.3.5-2-gca711a8-dirty)
2. Auto-update detection (internal/update/update.go):
    - isNewerVersion() now extracts base version before comparing
    - No longer always reports updates for dirty/dev builds
3. Non-blocking ChromaDB sync (internal/worker/handlers.go):
    - SyncUserPrompt now runs in a goroutine with 10-second timeout
    - /api/sessions/init responds immediately without waiting for ChromaDB
2025-12-19 02:17:06 +00:00
lukaszraczylo 7a6182bb3b Fix autoupdate, add healtcheck status to the dashboard 2025-12-19 02:17:05 +00:00
lukaszraczylo 9c7fcbc64c Hotfix: Auto update capability. 2025-12-19 02:17:04 +00:00
lukaszraczylo 7f9a28743e Add placeholder for the build to progress. 2025-12-19 02:17:03 +00:00
lukaszraczylo 85e1dfa7f3 Release to the world. 2025-12-19 02:17:02 +00:00
lukaszraczylo d7c20cea54 Initial commit 2025-12-19 02:17:02 +00:00