- src/semantic-cache.ts: Add robust URL sanitization in initialize().
Trim whitespace and reject malformed URLs (e.g. empty host like
'http://:8666') before passing to ChromaClient.
- src/main.ts: Validate ChromaDB URL in the settings tab onChange.
Fall back to 'http://localhost:8000' if the value is empty or lacks
'://'.
- docker-compose.yml: Add CHROMA_SERVER_CORS_ALLOW_ORIGINS=["*"] to
allow cross-origin requests from Obsidian's app://obsidian.md origin.
- Bundle chromadb into main.js via esbuild instead of externalizing it.
Obsidian's renderer cannot resolve bare require('chromadb') against a
plugin-local node_modules. By bundling, the client library is inlined and
works out of the box with just manifest.json + main.js.
- Remove eager cache initialization from OllamaClient constructor to avoid
unhandled promise rejections when chromadb/ChromaDB is unavailable.
- Fix 'Failed to execute fetch on Window: Illegal invocation' by wrapping
the default fetch fallback in an arrow function:
this.fetchFn = fetchFn ?? ((url, init) => fetch(url, init));
This preserves the window binding when fetch is called later.
- Update install.sh and README to remove the obsolete node_modules/chromadb
copy step.
- Update ollama-client-cache tests to reflect that cache initialization is
no longer eager.