Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: getsentry/XcodeBuildMCP
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: getsentry/XcodeBuildMCP
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: cursor/shutdown-process-bugs-e2e4
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 29 files changed
  • 3 contributors

Commits on Mar 14, 2026

  1. fix(mcp): Harden server lifecycle shutdown

    Attach MCP shutdown handlers before async startup, add broken-pipe and
    crash handling, and explicitly stop the Xcode watcher during teardown.
    This closes lifecycle gaps that could leave MCP processes running after
    clients disappear and adds concrete shutdown reasons for investigation.
    
    Add lifecycle Sentry metrics, richer session diagnostics, and a repro
    script so process age, peer counts, memory, and active runtime state are
    visible when this issue recurs in the wild.
    
    Fixes #273
    Co-Authored-By: Codex <noreply@openai.com>
    cameroncooke and codex committed Mar 14, 2026
    Configuration menu
    Copy the full SHA
    c3d78ca View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2026

  1. fix(mcp): Bound fast-exit server close on stdio disconnect

    When the MCP parent process exits abruptly with in-flight requests, shutdown can
    block indefinitely waiting for server.close(). This keeps npm exec wrapper
    processes alive and allows the child node process to climb in RSS.
    
    Add a transport-disconnect fast-exit path that detaches lifecycle handlers,
    races server.close() against a short timeout, and then exits immediately.
    This preserves normal shutdown behavior for other reasons and keeps Sentry
    enabled.
    
    Also add focused unit tests for the bounded close helper outcomes.
    
    Fixes #273
    cameroncooke committed Mar 15, 2026
    Configuration menu
    Copy the full SHA
    db34445 View commit details
    Browse the repository at this point in the history
  2. build(deps): Upgrade MCP SDK to 1.27.1

    Update @modelcontextprotocol/sdk from ^1.25.1 to ^1.27.1 so local
    and harness testing run on the latest SDK behavior.
    
    Add /repros to .gitignore to keep lifecycle repro artifacts out of
    source control during repeated leak investigations.
    
    Refs #273
    Co-Authored-By: Codex <noreply@openai.com>
    cameroncooke and codex committed Mar 15, 2026
    Configuration menu
    Copy the full SHA
    7756e9e View commit details
    Browse the repository at this point in the history
  3. Update mcp.json

    cameroncooke committed Mar 15, 2026
    Configuration menu
    Copy the full SHA
    28bd7c4 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2026

  1. fix(server): Redesign MCP shutdown with bounded Sentry flush

    Move MCP shutdown orchestration into a dedicated bounded runner and stop
    using Sentry.close in MCP shutdown paths.
    
    Suppress stdio immediately on transport disconnect, capture one shutdown
    summary event, seal further capture, then perform bounded Sentry.flush
    before explicit exit. Add shared bulk cleanup helpers for tracked runtime
    resources and wire shutdown through those helpers.
    
    This keeps shutdown deterministic under parent/disconnect teardown while
    preserving high-value shutdown telemetry.
    
    Co-Authored-By: OpenAI Codex <noreply@openai.com>
    cameroncooke and codex committed Mar 16, 2026
    Configuration menu
    Copy the full SHA
    3bfa481 View commit details
    Browse the repository at this point in the history
  2. Fix process shutdown bugs: remove incorrect killed flag check and sna…

    …pshot map keys during iteration
    cursoragent committed Mar 16, 2026
    Configuration menu
    Copy the full SHA
    058e822 View commit details
    Browse the repository at this point in the history
Loading