CM-68342: sweep all IDEs' session context and dedup reports#493
Conversation
Session start now reports the device context unconditionally (previously a
machine with no MCPs in the triggering IDE never created a device entity)
and collects MCP configs from every registered IDE, not just the triggering
one, sent as the config_files list. Unchanged payloads are skipped via a
sha256 cache (~/.cycode/.session-context-cache, tenant-aware, 7-day TTL,
written only after a successful send) so the common session start makes one
API call instead of two.
Also: resolve plugins of git/github-sourced marketplaces through
~/.claude/plugins/cache (previously only directory-type marketplaces
resolved, so their MCPs were silently missing), normalize plugin MCP
content to the canonical {"mcpServers": ...} shape, and drop the legacy
global_config_file field (the backend keeps its fallback for older CLIs).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
|
Sort config_files by path so the dedup digest doesn't depend on IDE registry order, and break mtime ties by name when resolving cached plugin dirs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…into CM-68342-session-context-sweep
Session start now reports the device context unconditionally (previously a machine with no MCPs in the triggering IDE never created a device entity) and collects MCP configs from every registered IDE, not just the triggering one, sent as the config_files list. Unchanged payloads are skipped via a sha256 cache (~/.cycode/.session-context-cache, tenant-aware, 7-day TTL, written only after a successful send) so the common session start makes one API call instead of two.
Also: resolve plugins of git/github-sourced marketplaces through ~/.claude/plugins/cache (previously only directory-type marketplaces resolved, so their MCPs were silently missing), normalize plugin MCP content to the canonical {"mcpServers": ...} shape, and drop the legacy global_config_file field (the backend keeps its fallback for older CLIs).