Skip to content

Fix method graph panel stability and column behavior#10

Open
lchoquel wants to merge 12 commits intomainfrom
feature/Method-graph
Open

Fix method graph panel stability and column behavior#10
lchoquel wants to merge 12 commits intomainfrom
feature/Method-graph

Conversation

@lchoquel
Copy link
Member

@lchoquel lchoquel commented Feb 18, 2026

Summary

  • Keep panel in place on reveal: use reveal(undefined) instead of reveal(ViewColumn.Beside) so the panel stays in its current column when updating
  • Retain context when hidden: add retainContextWhenHidden: true to preserve webview content when backgrounded
  • Redirect stray files: when a file opens in the graph panel's column (e.g. user clicks explorer while graph has focus), close it there and re-open it in the main editor column

Test plan

  • Open an .mthds file, trigger "Show Method Graph"
  • Click on other files while the graph panel has focus — files should open in the main column, not the graph's column
  • Switch between .mthds files — the same panel should update in place without jumping
  • Close the panel, re-trigger — a fresh panel should appear beside the editor

🤖 Generated with Claude Code


Note

Medium Risk
Adds new VS Code extension features that execute an external pipelex-agent process on save and in a webview, introducing async/cancellation logic and potential platform/environment edge cases (Node vs web host, CLI resolution). Documentation/release tooling changes are low risk but broaden the operational surface area.

Overview
Adds Node-host-only Pipelex IDE extension features for .mthds: on-save validation via pipelex-agent diagnostics plus a new Pipelex: Show Method Graph command that renders a generated graph in a persistent webview, with CLI auto-resolution, timeouts, cancellation, and staleness guards.

Updates extension configuration (pipelex.validation.*) and activation to await Pipelex feature registration, and adds focused unit tests for the graph panel behavior, CLI resolution, JSON extraction, error location mapping, and inflight-process cancellation.

Separately updates release/docs plumbing: introduces a /release skill with a change-detection script, refreshes CHANGELOG.md, makes make check run tests, switches PyPI packaging to a dedicated README, and updates README branding/example rendering.

Written by Cursor Bugbot for commit ad57bef. This will update automatically on new commits. Configure here.

lchoquel and others added 9 commits February 17, 2026 10:32
Replace the repo root README (which includes VS Code banner and full
Taplo README) with a CLI-focused standalone README for the PyPI page.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Code blocks render as plain TOML on GitHub and have no syntax
coloring on PyPI. Use a hosted screenshot instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Backfill CHANGELOG.md with all changes since v0.2.1 (0.3.0–0.3.2 +
unreleased), annotate CLI-specific entries with plxt versions, and
broaden the title to cover both extension and CLI.

Add Changelog URL to pyproject.toml [project.urls] for PyPI sidebar.

Add .claude/skills/release/ project skill with detection script,
version map reference, and workflow instructions for automated
version bumping and changelog updates via /release.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The fix was already shipped in plxt 0.1.4 / ext v0.3.2 but was
mislabeled under [Unreleased] with an incorrect future version annotation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Integrate pipelex-agent CLI to provide on-save validation diagnostics
for MTHDS files with source-located errors, and add a "Show Method Graph"
command that renders the ReactFlow graph in a side panel. Includes CLI
resolution (venv, PATH, uv fallback), validation types, source locator,
and unit tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use undefined instead of ViewColumn.Beside when revealing an existing
panel so it stays in its current column. Add retainContextWhenHidden
to preserve webview content when backgrounded.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When a file opens in the graph panel's editor group (e.g. user clicks
explorer while the graph has focus), close it there and re-open it in
the main editor column to keep the graph group dedicated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9942fec934

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

… path

Address 6 PR review issues: extract shared processUtils (spawnCli,
cancelInflight helpers), cancel all inflight graph jobs on file switch
with staleness check, guard against infinite loop when panel is in
column 1, add missing warning message in MethodGraphPanel, detect
Windows .venv/Scripts path, and gate validator/graph behind child_process
availability for browser hosts. Add cliResolver unit tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

lchoquel and others added 2 commits February 18, 2026 17:25
registerNodeFeatures was called fire-and-forget, so the showMethodGraph
command could be missing at activation time and import failures were
unhandled. Make registerPipelexFeatures async, await the helper, and
surface errors as warnings.

Fix filename extraction using split('/') which broke on Windows
backslash paths — replace with a regex that handles both separators.

Add staleness guard after fs.promises.readFile so a file switch during
the read doesn't overwrite the current graph with stale HTML.

Add three new test files (processUtils, methodGraphPanel,
pipelexExtension) covering these bugs plus regression guards for
previous fixes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments