- Added SearchTextCache for LRU caching of extracted search text with mtime invalidation.
- Introduced SearchTextExtractor for lightweight extraction of searchable text from session messages.
- Updated SessionSearcher to utilize the new extractor and cache for improved search performance.
- Added tests for SearchTextCache and SearchTextExtractor to ensure functionality and correctness.
Subagent badges now show distinct colors instead of generic gray.
Colors are resolved from the project's .claude/agents/*.md frontmatter
(color field), with deterministic hash-based fallback for unconfigured types.
New AgentConfigReader service reads agent definitions via IPC, cached
per project root to avoid redundant disk reads on session refreshes.
Team member colors remain unaffected (team branch has priority).
Sessions without the cwd field (older JSONL format) were creating a
separate subproject group, even when all sessions with cwd shared the
same value. The orphan subproject got a relative fallback path that
failed git identity resolution, causing zero sessions to load on select.
Now only counts distinct real cwds when deciding whether to split,
treating cwd-less sessions as belonging to the same project.
- Add getFileSystemProvider() getter to ProjectScanner
- Update SessionParser.parseSessionFile() to pass provider to parseJsonlFile()
- Update SessionParser.parseSubagentFile() to pass provider to parseJsonlFile()
- Update SubagentResolver.parseSubagentFile() to pass provider to parseJsonlFile()
- Update SessionParser test mock to include getFileSystemProvider method
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Simplified the CI workflow by consolidating the validate job to run only on Ubuntu.
- Introduced a new test job that runs on both Ubuntu and Windows, including steps for dependency installation and testing.
- Updated the release workflow to directly publish macOS and Windows packages without intermediate artifact uploads.
- Improved the test cleanup process to include a delay and enhanced error handling for file removal on Windows.
- Added notarization configuration for macOS builds to support app distribution.
- Updated CI workflow to run on Ubuntu instead of macOS for improved compatibility.
- Modified test cleanup process to include retry logic for file removal.
- Refactored path handling in tests to use path.join for better cross-platform compatibility.