perf(extension): metadata cache + native session filter#25
perf(extension): metadata cache + native session filter#25perler wants to merge 4 commits intoes6kr:mainfrom
Conversation
Per-project .tree-cache.json stores Phase 1 (UUID map + summaries) and Phase 2 (session tree data) output alongside session files. Cache is invalidated by comparing file mtimes - full hit returns cached data in <100ms, partial miss only reloads changed sessions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Work Server <work@server.local>
Implement getParent() on SessionTreeProvider so VS Code shows its built-in find/filter widget (Ctrl+F) in the tree view. Uses a parentMap populated lazily as nodes are expanded. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Work Server <work@server.local>
…filter - Remove redundant listProjects calls from hot path (was called 3x per refresh, each reading ALL projects' session files synchronously) - loadProjectTreeData now resolves single project directly instead of listing all projects - Cache project names and current project state in tree provider - Use p.displayName from listProjects instead of calling folderNameToPath again (eliminates ~3000 redundant sync file reads) - Flip folderNameToPath priority: try claude.json config first (covers 89% of projects with single cached read), then fall back to session file extraction - Add WebviewView filter input above tree for session search by title/summary, replacing built-in tree search (getParent removed) - Filter loads all projects into in-memory cache, hides non-matching projects, auto-expands matches - parseJsonlLines now skips malformed JSON lines instead of throwing - Add webServerPath config and base path support for web package Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Work Server <work@server.local>
…commands Remove the custom SearchViewProvider webview and use VS Code's built-in showInputBox for session filtering. Adds filter/clear commands with context-aware toolbar icons. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Work Server <work@server.local>
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (12)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
@claude-sessions/corefor fast project tree loading without re-parsing full JSONL session fileslistProjectsbottleneck in the extension tree providergetParent()on the tree provider to enable VS Code's built-in tree search (Ctrl+F)References #21 — implements the InputBox workaround described there while the inline filter limitation remains a VS Code platform constraint.
Test plan
treeView.messageshows the active filter textgetParent()🤖 Generated with Claude Code