Add About section, MCP update flow, and session restore#3
Add About section, MCP update flow, and session restore#3YuliiaKovalova merged 2 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds an “About” section to the Binlog Explorer tree (showing extension/MCP server info and update actions), introduces an MCP server update flow (including deferred updates to avoid file locks), and implements session restore so previously loaded binlogs reopen automatically on reload.
Changes:
- Added About/MCP nodes to the tree view plus commands to refresh info, check for updates, and update the MCP server.
- Implemented session restore from
globalState, including UI flags to prevent welcome-view flicker during restore/update. - Updated extension contributions (welcome view + commands/menus) and bumped versioning metadata.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| src/extension.ts | Adds activation-time update/apply flow, version detection, NuGet lookup, update commands, and session restore logic. |
| src/binlogTreeView.ts | Adds About/MCP tree nodes and a restoring spinner state. |
| package.json | Adds welcome view variant for updates, new commands, and context-menu items for About/MCP. |
| package-lock.json | Updates lockfile metadata (currently mismatched with package.json). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
b501981 to
fca74df
Compare
## Summary Adds an About section to the Binlog Explorer tree view with MCP server version info, update checking, and one-click updates. Also adds session restore so previously loaded binlogs are automatically reopened on VS Code reload. ## Features ### About / MCP Server Section - New About root node in the tree view showing extension and MCP versions - MCP Server child node with tool location, config file links, and update status - Right-click context menu: Refresh and Check for Updates ### Update Flow - Auto-check on activation: shows popup only when an update is available - Check for Updates command: explicitly checks and confirms even when up to date - No binlog loaded: runs dotnet tool update directly (no MCP server running) - Binlog loaded: defers update to next reload to avoid file-lock conflicts - Shows Updating MCP server welcome view during deferred updates ### Version Detection - Reads version from ~/.dotnet/tools/.store/ directory structure - Works with all MCP versions including v0.1.0/v0.2.0 that lack --version - Falls back to --version CLI flag for newer versions ### NuGet Version Check - Uses dotnet package search --exact-match --format json - Respects all configured NuGet sources including local/private feeds ### Session Restore - On activation, auto-restores previously loaded binlogs from globalState - Shows Restoring previous session spinner to prevent welcome view flicker ### MCP Server cwd - Extension sets cwd on the MCP server config to the workspace folder - Helps relative binlog paths resolve correctly ## Other Changes - AboutInfo fields prefixed with mcp for clarity - fetchAboutInfo supports three modes: interactive, auto, silent - Version bumped to 0.10.1 - Three new commands: checkForUpdates, updateMcpServer, refreshMcpInfo
fca74df to
1020b6f
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 4 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@SergeyTeplyakov could you please check the comments posted by Copilot and fix what makes sense to you? |
- Switch all child_process.exec calls to execFile with argument arrays to avoid shell injection and quoting issues on paths with metacharacters - Tighten .store version filter from /^\d+\.\d+/ to /^\d+\.\d+\.\d+$/ to exclude prerelease folders that would cause NaN in compareVersions - Rename 'Refresh' command title to 'Binlog: Refresh MCP Info' for consistency with the extension's naming convention
|
@YuliiaKovalova addressed the comments. |
|
ah! You merged it :) |
thank you for the contribution! |
|
Awesome!! |
Summary
Adds an About section to the Binlog Explorer tree view with MCP server version info, update checking, and one-click updates. Also adds session restore so previously loaded binlogs are automatically reopened on VS Code reload.
Features
About / MCP Server Section
Update Flow
Version Detection
NuGet Version Check
Session Restore
MCP Server cwd
Other Changes