-
Notifications
You must be signed in to change notification settings - Fork 4
fix(deps): update dependency @vscode/extension-telemetry to ^0.9.0 #83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
📝 WalkthroughWalkthroughThe pull request updates the top-level dependency Suggested reviewers
Pre-merge checks✅ Passed checks (5 passed)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: ASSERTIVE Plan: Pro Disabled knowledge base sources:
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (1)
Comment |
6942d8b to
7123473
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #83 +/- ##
=====================================
Coverage 73% 73%
=====================================
Files 577 577
Lines 47663 47663
Branches 5597 5597
=====================================
Hits 34939 34939
Misses 10887 10887
Partials 1837 1837 🚀 New features to boost your workflow:
|
3a9b7ba to
7f50b10
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
package.json(1 hunks)
🧰 Additional context used
🪛 GitHub Actions: CI
package.json
[error] 1-1: Dependency graph inconsistency detected by npm ci: lock file diverges from package.json. Consider running 'npm install' to synchronize.
🪛 GitHub Actions: Copilot Setup Steps
package.json
[warning] 1-1: EBADENGINE: Unsupported engine. Required node >=22.17.0, current node v22.15.1. Consider upgrading Node to satisfy engine requirements.
🔇 Additional comments (2)
package.json (2)
2169-2169: Good: telemetry update addresses shutdown behavior concerns.The v0.8.4–v0.8.5 fixes for shutdown behavior and connection loss mentioned in release notes align with the linked issue #192742 about delayed process termination. The version bump is within reasonable semver bounds for a pre-1.0 package.
1-1: Review comment is incorrect.The package.json contains no Node version requirement—its
enginesfield specifies only"vscode": "^1.103.0". The CI workflow usesNODE_VERSION: 22.x, which is flexible and accepts any 22.x release. No mismatch exists.Likely an incorrect or invalid review comment.
4011ae1 to
9d45c75
Compare
9d45c75 to
73ef508
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
package.json(1 hunks)
🧰 Additional context used
🪛 GitHub Actions: CD
package.json
[warning] 1-1: Unsupported engine: current Node/v12+ (v22.15.1) does not satisfy required: node >=22.17.0 for @vscode/python-extension@1.0.6. Consider upgrading Node to at least 22.17.0.
🪛 GitHub Actions: CI
package.json
[warning] 1-1: EBADENGINE: Unsupported engine. The package '@vscode/python-extension@1.0.6' requires node >=22.17.0 (current: v22.15.1) and npm 10.9.2. Consider upgrading Node.js to satisfy engine requirements.
95841ca to
c8c0bdf
Compare
9c168e5 to
3c4294f
Compare
1b335af to
2ac94d1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (1)
package.json(1 hunks)
2ac94d1 to
aa3817b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (1)
package.json(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Build & Package Extension
8b9019c to
67c6bda
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (1)
package.json(1 hunks)
| "@lumino/widgets": "^2.4.0", | ||
| "@nteract/messaging": "^7.0.0", | ||
| "@vscode/extension-telemetry": "^0.7.7", | ||
| "@vscode/extension-telemetry": "^0.9.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🔴 Critical blocker: telemetry wrapper incompatible with v0.8.0+ API—fix required before merge.
Line 2492 updates @vscode/extension-telemetry to ^0.9.0, but v0.8.0 introduced a breaking change: raw Error logging was removed. The telemetry wrapper at src/platform/telemetry/index.ts still converts errors to properties and calls reporter.sendTelemetryEvent(), which no longer works. This will cause runtime failures when error events are sent.
Per the past review, sendTelemetryEventInternal() must detect error events and call reporter.sendTelemetryErrorEvent(eventNameSent, customProperties, measures) instead.
Action required: Confirm that src/platform/telemetry/index.ts has been updated to use the new API before merging, or defer this PR until the fix is in place.
---
🏁 Script executed:
```shell
#!/bin/bash
# Check if telemetry wrapper file exists and inspect error handling
fd -t f "index.ts" -p "*/telemetry/*" | head -20
Length of output: 100
🏁 Script executed:
#!/bin/bash
# Search for sendTelemetryErrorEvent and sendTelemetryEvent usage in telemetry files
rg -n "sendTelemetry(ErrorEvent|Event)" --type ts -A 2 -B 2 | head -60Length of output: 5637
🏁 Script executed:
#!/bin/bash
# Check for error event handling patterns in telemetry code
rg -n "sendTelemetryEvent|sendTelemetryErrorEvent" --type ts -C 3 | head -80Length of output: 7626
🏁 Script executed:
#!/bin/bash
# Look for the specific file mentioned in the review
find . -name "index.ts" -path "*/telemetry/*" -type f 2>/dev/null | xargs catLength of output: 13512
---
🏁 Script executed:
```shell
#!/bin/bash
# Check if sendTelemetryErrorEvent is used anywhere in the codebase
rg -n "sendTelemetryErrorEvent" --type ts
Length of output: 0
🔴 Critical blocker: telemetry wrapper incompatible with v0.8.0+ API—update required.
Line 2492 updates @vscode/extension-telemetry to ^0.9.0. Version 0.8.0 introduced a breaking change: raw Error logging was removed, requiring the sendTelemetryErrorEvent() API instead. The wrapper at src/platform/telemetry/index.ts still calls reporter.sendTelemetryEvent() when errors occur (line ~195), which fails with v0.9.0.
Fix: Update sendTelemetryEventInternal() to detect error events and call reporter.sendTelemetryErrorEvent(eventNameSent, customProperties, measures) instead of sendTelemetryEvent() when ex is defined.
🤖 Prompt for AI Agents
In package.json at line ~2492 and in src/platform/telemetry/index.ts around line
~195, the telemetry wrapper is incompatible with @vscode/extension-telemetry
v0.8.0+; update sendTelemetryEventInternal() so when an error object (ex) is
provided it calls reporter.sendTelemetryErrorEvent(eventNameSent,
customProperties, measures) instead of reporter.sendTelemetryEvent(...); detect
presence of ex, map customProperties/measures as before, and call
sendTelemetryErrorEvent with the same event name and payload; optionally
fallback to sendTelemetryEvent if sendTelemetryErrorEvent is not available to
preserve backward compatibility.
67c6bda to
55886e9
Compare
This PR contains the following updates:
^0.7.7->^0.9.0Release Notes
Microsoft/vscode-extension-telemetry (@vscode/extension-telemetry)
v0.9.9Compare Source
Changes:
This list of changes was auto generated.
v0.9.8Compare Source
Changes:
This list of changes was auto generated.
v0.9.7Compare Source
Changes:
This list of changes was auto generated.
v0.9.6Compare Source
v0.9.5Compare Source
v0.9.4: Align measurements with propertiesCompare Source
v0.9.3: Improved user agentCompare Source
navigator.userAgentDatais unavailable. Thanks to @seznav0.9.2: Global Privacy Control compliance fixesCompare Source
This release contains a small fix to the 1DS package used by Microsoft extensions in the web to ensure compliance with the California's Global Privacy Control. If you're not a Microsoft extension, then it is safe to disregard this release as it contains no new features or improvements for the third party flow.
v0.9.1: Fixunhandlederrorcommon props.Compare Source
Thanks to a community contribution by @ilia-db the
unhandlederrorevent handler has been properly fixed to include common properties.v0.9.0: Use app insights basics versus the complete app insights package to reduce bundle sizeCompare Source
Application insights web basics comes with the ability to pass in a fetch pollyfill that allows it to be used for both Node and Web. This is similar to what we already do for first party extensions using the 1DS package.
While there is no breaking changes here, the replacement of a key dependency with what should be an equivalent alternative may have unknown edge cases that were not accounted for, therefore the version has been bumped to reflect this.
Bundlephobia reports a 67Kb decline in bundle size with this change.
v0.8.5: Improve shutdown performanceCompare Source
v0.8.4: Fix data loss on connection lossCompare Source
sendRawTelemetryEventsendingkey: keypairs instead ofkey: valuepairsv0.8.3Compare Source
v0.8.2: Fix missingsendRawTelemetryEventfunction + Dependency updatesCompare Source
sendRawTelemetryEventfunction which was missing in the implementation, but defined in the.d.tsv0.8.1: Better teardown + error handlingCompare Source
This release only contains bug fixes
sendErrorDatafunction microsoft#158v0.8.0: Better align telemetry reporters across desktop and webCompare Source
Note: This release contains a breaking change to the typings.
The ability to log a raw
Errorobject has been removed. You will now have to usesendTelemetryErrorEventand break the error stack down into the properties you want due to the web app insights and 1DS library both not supporting this. We want the module to abstract the details away and offer a uniform experience across all platforms.Also fixes a bug surrounding not logging events properly on shutdown.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
Summary by CodeRabbit