Conversation
Co-authored-by: tnaum-ms <171359267+tnaum-ms@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
This PR merges release 0.6.1 to main, introducing privacy compliance improvements for the Query Insights feedback feature and updating the privacy policy link.
- Version bump from 0.6.0 to 0.6.1 across package files
- Privacy consent checkbox added to feedback dialog with Data Protection Addendum notice
- Feedback signals now respect VS Code telemetry settings (only enabled when
telemetryLevelis "all") - Survey functionality disabled in production
- Privacy policy link updated in README
Reviewed Changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json, package-lock.json | Version bump to 0.6.1 |
| src/commands/openCollectionView/openCollectionView.ts | Adds telemetry-based feedback signal control |
| src/webviews/documentdb/collectionView/collectionViewController.ts | Adds feedbackSignalsEnabled configuration property |
| src/webviews/documentdb/collectionView/components/queryInsightsTab/QueryInsightsTab.tsx | Conditionally renders FeedbackCard based on configuration |
| src/webviews/documentdb/collectionView/components/queryInsightsTab/components/FeedbackDialog.tsx | Adds privacy consent checkbox and Data Protection Addendum notice |
| src/webviews/documentdb/collectionView/components/toolbar/ToolbarMainView.tsx | Comments out toolbar feedback menu |
| src/utils/survey.ts | Disables survey functionality |
| src/utils/survey.*.test.ts | Re-enables survey in tests |
| l10n/bundle.l10n.json | Adds privacy-related strings, removes unused "Provide Feedback" |
| README.md | Updates privacy statement link |
| CHANGELOG.md | Documents 0.6.1 changes |
| docs/release-notes/0.6.md | Adds 0.6.1 patch release notes |
| docs/index.md | Adds link to 0.6.1 release notes |
| const handleClose = () => { | ||
| if (!isSubmitting) { | ||
| setSelectedReasons(new Set()); | ||
| setConsentChecked(false); | ||
| onClose(); | ||
| } | ||
| }; |
There was a problem hiding this comment.
The handleClose function resets both selectedReasons and consentChecked, but handleSubmit only resets selectedReasons (line 82). While the useEffect hook (lines 43-46) handles cleanup when open changes, for consistency and to avoid relying solely on the effect, consider also adding setConsentChecked(false) after line 82 in the handleSubmit function to ensure complete state cleanup regardless of the dialog close timing.
| feedbackSignalsEnabled = telemetryLevel === 'all'; | ||
| } catch { | ||
| // If we fail to read telemetry settings, default to false | ||
| feedbackSignalsEnabled = false; |
There was a problem hiding this comment.
The variable feedbackSignalsEnabled is initialized to false on line 44 and then potentially reassigned in the try block (line 47). However, the catch block on line 48 also sets it to false (line 50), which is redundant since it already has this value from the initialization. Consider removing the assignment in the catch block since the initial value already serves as the fallback.
| feedbackSignalsEnabled = false; |
No description provided.