microsoft / microsoft/GitHub-Copilot-for-Azure
Suppress Cursor telemetry hook errors when Node.js is unavailable
- Dominant language
- Python
- Stars
- 250
- Forks
- 204
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 67
Description
### Problem
The Cursor telemetry hook added by microsoft/GitHub-Copilot-for-Azure#3146 invokes the cross-platform runner with `node`. If Node.js is not installed or cannot be found on `PATH`, Cursor can surface a hook execution error to the user even though telemetry is non-critical.
This tracks [JasonYeMSFT's review feedback](https://github.com/microsoft/GitHub-Copilot-for-Azure/pull/3146#discussion_r3928734791) separately from the cross-platform runner change.
### Desired Solution
Update the Cursor hook command or runner invocation so a missing `node` executable is actively and portably suppressed on Windows, macOS, and Linux. Telemetry should remain best-effort and should not interrupt or display an error during normal Cursor usage.
Add coverage for the missing-runtime behavior and retain the current behavior when Node.js is available.
### Alternatives and Workarounds
Users can install Node.js or ensure it is available on `PATH`, but telemetry should not impose a visible runtime requirement. Shell-specific fallback syntax is difficult because Cursor supports only one cross-platform command per hook.
### Impact
Prevents non-critical telemetry setup from producing user-facing hook errors on Cursor machines without Node.js.
### Additional Context
Follow-up to microsoft/GitHub-Copilot-for-Azure#3146 and the original cross-platform telemetry work tracked in microsoft/GitHub-Copilot-for-Azure-pr#363.
Contributor guide
Research direction
Start by locating the Cursor telemetry hook and its cross-platform runner invocation described in this issue. Add coverage for behavior when the node executable is unavailable on Windows, macOS, and Linux, while preserving the current behavior when Node.js is present; done means missing Node.js causes no user-facing hook error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100