You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provider-state waits are bounded — a hung host bootstrap can no longer wedge auto-capture or profile learning forever.
No new work starts after disposal — idle events arriving after dispose back out instead of opening new captures; a web server that finishes starting after dispose is stopped instead of running orphaned.
First-prompt score scan runs on a macrotask — the host receives the plugin and its first prompt before the initial shard scan kicks in.
Embedding & search
Model warmup is bounded — a slow local-model load no longer stalls the first chat prompt; that search degrades to text-only while the load finishes in the background.
Punctuated queries return results — don't, foo.js, email@example.com, and reserved words like AND previously returned silently empty results (invalid FTS5 MATCH syntax). Tokens are now phrase-quoted on both the memory and transcript search paths.
SQLite & vector index
Content-only re-embeds keep tag vectors — updateVector no longer nulls tags_vector, so semantic tag search survives.
FTS update trigger is column-scoped — routine access_count and score touches no longer re-tokenize content, cutting write amplification.
Post-commit index failures are reported honestly — a failing backend insert no longer rejects an already-committed memory (callers retried into duplicates), and a dirty index now force-replaces itself from sqlite on the next search instead of staying broken until restart.
Re-embed migrations update the live index — searches no longer serve stale old-dimension vectors until a process restart; migrated memories also get fresh tag embeddings.
Web dashboard
IPv6 Host headers parse correctly — unbracketed literals like 2001:db8::1 are no longer misread as host+port.
New webServerAllowedHosts config option — binding remotely (webServerHost: "0.0.0.0") or behind a reverse proxy no longer blanket-rejects clients with 403. Bind address and accepted Host names are now configured separately.