-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
Telemetry/opt in welcome screen #42110
Conversation
…_in_welcome_screen
…_in_welcome_screen
💔 Build Failed |
💔 Build Failed |
…_in_welcome_screen
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.
💔 Build Failed |
💔 Build Failed |
💚 Build Succeeded |
Quick look at the screenshots in the description, it reads that Step 1 has the first dot (under the box) as gray when it should be blue. In other words, the active slide should be associated with a blue dot. This may just be a mixup in the description, as I've not run this locally to confirm, but just pointing it out in the even it needs to change. Looks good! |
@ryankeairns Thanks for the review! I just set the |
@Bamieh for the active card, perhaps just use a regular Unrelated, if the user clicks 'Try sample data' will they navigate away and potentially never reach the second card for telemetry? |
*/ | ||
|
||
// @ts-ignore | ||
export { TelemetryOptInProvider } from '../../../../../../src/legacy/core_plugins/kibana/public/home/telemetry_opt_in'; // eslint-disable-line |
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.
// eslint-disable-line
is not necessary here
This include needs to be tested out with a packaged version of the Kibana code. When Kibana is built, the location of x-pack
moves. Relative imports out of x-pack this way, do not work afaik
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.
I'm disabling eslint as it spreads the export
statement into 3 lines as the import string is long. Then the @ts-ignore
does not ignore the right line. Moving the @ts-ignore
line between those 3 lines of the export
statement also makes the linter complain.
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.
I did test this in a production build and it works fine; there are places in x-pack where its requiring code from src as well in a 100 different files (searched x-pack folder for ../src
excluding test files)
x-pack/legacy/plugins/telemetry/public/services/telemetry_opt_in.test.mocks.js
Show resolved
Hide resolved
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.
I'm going to go ahead and request more changes and ask you to investigate the import made outside of x-pack to OSS code. While that obviously works when running from source, I want to make extra sure it won't break in a build
How do we test that in this PR branch?
I am ++ for a quick fix of the flash of the upper banner. Would it be possible to tweak some timing around there? |
…_in_welcome_screen
@tsullivan thanks for the review. To test this scenario:
You can press Another way to test this is by having some data in ES, then the welcome screen will not show in the first place; leaving the users with the opt in banner to enable telemetry. |
@tsullivan @alexfrancoeur For the banner timeout enhancement I will create a separate PR for it as it seems out of scope for this PR. |
💚 Build Succeeded |
…kibana into telemetry/opt_in_welcome_screen
💔 Build Failed |
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!
Reviewed the code changes and tested in a local build
💔 Build Failed |
💚 Build Succeeded |
* refactor opt_in_message * welcome optin card * finish optin in welcome screen * add steps * disable current step * remove checkbox option * add metrics * fix typescript checks * hide in oss * update snapshots * only require TelemetryOptInProvider if telemetry is enabled * pass telemetry description from service * remove x-pack import * remove x-pack import * update image * update per design feedback * update props * fix in oss * await before moving to next screen * utlize bannerId in telemtry provider * keep export in 1 line * ts-ignore banner import * add test * update tests * update translations * update home tests * remove extra license header * showTelemetryOptIn -> shouldShowTelemetryOptIn * remote extra EuiTexts * update jest snapshot * unencrypted telemetry example
* refactor opt_in_message * welcome optin card * finish optin in welcome screen * add steps * disable current step * remove checkbox option * add metrics * fix typescript checks * hide in oss * update snapshots * only require TelemetryOptInProvider if telemetry is enabled * pass telemetry description from service * remove x-pack import * remove x-pack import * update image * update per design feedback * update props * fix in oss * await before moving to next screen * utlize bannerId in telemtry provider * keep export in 1 line * ts-ignore banner import * add test * update tests * update translations * update home tests * remove extra license header * showTelemetryOptIn -> shouldShowTelemetryOptIn * remote extra EuiTexts * update jest snapshot * unencrypted telemetry example
💚 Build Succeeded |
Summary
Add Telemetry Opt in card to welcome screen. Closes https://github.com/elastic/dev/issues/1075
The telemetry in opt in screen will be hidden in the following scenarios:
xpack.telemetry.banner: false
.xpack.telemetry.enabled: false
.Scenarios:
The user clicks "No":
Opt in banner and this card will never be shown again. Telemetry is opted out.
The user clicks "Yes":
Opt in banner and this card will never be shown again. Telemetry is opted in.
The user does not get the welcome screen
Users who already have data on elasticsearch will not see the welcome screen, hence they will only see the opt in banner.
Step 1:
Step 2:
With example opened:
Dev Docs
Added Telemetry Opt in card to welcome screen. The aim is to increate increase opt in rate. Added tracking to measure the success of this change.