Context
src/utils/device-name-resolver.ts uses execSync to call xcrun devicectl list devices, which blocks the Node.js event loop. While mitigated by a 10s timeout and 30s TTL cache, it would be cleaner to use an async alternative.
Flagged by Sentry bot on PR #325.
Recommendation
Replace execSync/readFileSync/unlinkSync with async equivalents (execFile from child_process/promises, fs.promises.readFile, fs.promises.unlink). Low priority given the MCP server's single-request-at-a-time model and the caching layer.
Context
src/utils/device-name-resolver.tsusesexecSyncto callxcrun devicectl list devices, which blocks the Node.js event loop. While mitigated by a 10s timeout and 30s TTL cache, it would be cleaner to use an async alternative.Flagged by Sentry bot on PR #325.
Recommendation
Replace
execSync/readFileSync/unlinkSyncwith async equivalents (execFilefromchild_process/promises,fs.promises.readFile,fs.promises.unlink). Low priority given the MCP server's single-request-at-a-time model and the caching layer.