-
Notifications
You must be signed in to change notification settings - Fork 335
[VSC-1753]Add notification system for pre-releases campaigns #1643
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
Conversation
e921dc0 to
9c4da40
Compare
|
Download the artifacts for this pull request: |
|
Thanks for the implementation. |
I couldn't find a way to do this within VS Code API, however, we could add a timer, so after the "learn more" button is pressed we can wait for a time and re-redisplay the notification. We can agree on the amount of time if you think this would be a better experience than the current one (closing the notification after any button press). |
ff3bd7a to
4f76674
Compare
|
Looks good! Thanks. |
brianignacio5
left a comment
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.
LGTM
Fabricio-ESP
left a comment
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.
Looks good
Description
This pull request introduces a pre-release notification system to promote the new ESP-IDF Extension setup experience with the ESP-IDF Installer Manager (EIM). The notification includes comprehensive telemetry tracking, campaign-based targeting, and full internationalization support.
Pre-release notification system implementation:
src/preReleaseNotification.ts: Added a new notification system that displays a targeted campaign message to promote the pre-release version featuring the new EIM setup experience. Includes campaign-based tracking to ensure the notification is shown only once per campaign, telemetry integration for user interaction analytics, and proper handling of user responses (try pre-release, learn more, dismiss).src/extension.ts: Integrated the pre-release notification into the extension activation flow, positioned after the changelog viewer to ensure proper initialization sequence.src/config.ts: Added configuration constants for the pre-release notification system, including the campaign key for EIM setup 2025 and storage key for tracking shown campaigns.Telemetry and analytics integration:
src/preReleaseNotification.ts: Implemented comprehensive telemetry tracking for all user interactions including notification display, button clicks (try pre-release, learn more, dismiss), and campaign identification. Uses the existing telemetry infrastructure with event namepreReleaseNotificationand properties for campaign tracking, action identification, and extension version.Localization and internationalization support:
src/preReleaseNotification.ts: Added full localization support using VS Code'sl10n.t()system for all user-facing strings including the main notification message, button labels, and instruction text.l10n/bundle.l10n.es.json,l10n/bundle.l10n.pt.json,l10n/bundle.l10n.ru.json,l10n/bundle.l10n.zh-CN.json: Added comprehensive translations for the pre-release notification in Spanish, Portuguese, Russian, and Chinese, including the main promotional message about EIM, button labels ("Try New Pre-Release", "Learn More", "Not Now"), installation instructions, and confirmation dialogs.Type of change
Please delete options that are not relevant.
Steps to test this pull request
When extension activates for the first time, the notification will pop-up. It will only be shown once to users.
How has this been tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Test Configuration:
Checklist