Skip to content

Commit 404ecdd

Browse files
committed
Updates walkthrough & messaging
1 parent 5217a24 commit 404ecdd

File tree

11 files changed

+128
-50
lines changed

11 files changed

+128
-50
lines changed

docs/telemetry-events.md

Lines changed: 15 additions & 5 deletions
Large diffs are not rendered by default.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19859,7 +19859,7 @@
1985919859
{
1986019860
"id": "get-started-community",
1986119861
"title": "Welcome to GitLens",
19862-
"description": "Thank you for installing GitLens—the most popular Git extension for VS Code!\n\n**Community vs. Pro**\n\nYou're using **GitLens Community** edition: Track code changes and see who made them with features like in-editor blame annotations, hovers, CodeLens, and more—completely free.\n\n**Leverage powerful workflows with GitLens Pro**\n\nThe **GitLens Pro** edition unlocks advanced features to accelerate PR reviews, gain actionable insights with rich code visuals, and streamline team collaboration to boost productivity.\n\n[Get Started with GitLens Pro](command:gitlens.walkthrough.plus.signUp)",
19862+
"description": "Thank you for installing GitLens—the most popular Git extension for VS Code!\n\n**Community vs. Pro**\n\nYou're using **GitLens Community** edition.\nTrack code changes and see who made them with features like in-editor blame annotations, hovers, CodeLens, and more—completely free.\n\n**Leverage powerful workflows with GitLens Pro**\n\nThe **GitLens Pro** edition unlocks advanced features to accelerate PR reviews, gain actionable insights with rich code visuals, and streamline team collaboration to boost productivity.\n\n[Get Started with GitLens Pro](command:gitlens.walkthrough.plus.signUp)",
1986319863
"media": {
1986419864
"markdown": "walkthroughs/welcome/get-started-community.md"
1986519865
},
@@ -19883,7 +19883,7 @@
1988319883
{
1988419884
"id": "welcome-in-trial-expired",
1988519885
"title": "Get the most out of GitLens",
19886-
"description": "Thanks for installing GitLens and trying out GitLens Pro.\n\nYou're now on the GitLens Community edition, our free extension that helps you track code changes and who made them, with features like in-editor blame annotations, hovers, CodeLens, and more.\n\nLearn more about the [difference between GitLens Community vs. Pro](command:gitlens.walkthrough.openCommunityVsPro).\n\n**Unlock more powerful tools with GitLens Pro**\n\n[Upgrade to GitLens Pro](command:gitlens.walkthrough.plus.upgrade)\n\nWith GitLens Pro, you can accelerate PR reviews, visualize code history in-depth, and enhance collaboration across your team. It's the perfect upgrade to streamline your VS Code workflow.",
19886+
"description": "Thanks for installing GitLens and trying out GitLens Pro.\n\nYou're now on the **GitLens Community** edition.\nTrack code changes and see who made them with features like in-editor blame annotations, hovers, CodeLens, and more—completely free.\n\nLearn more about the [difference between GitLens Community vs. Pro](command:gitlens.walkthrough.openCommunityVsPro).\n\n**Unlock more powerful tools with GitLens Pro**\n\n[Upgrade to GitLens Pro](command:gitlens.walkthrough.plus.upgrade)\n\nWith GitLens Pro, you can accelerate PR reviews, visualize code history in-depth, and enhance collaboration across your team. It's the perfect upgrade to streamline your VS Code workflow.",
1988719887
"media": {
1988819888
"markdown": "walkthroughs/welcome/welcome-in-trial-expired.md"
1988919889
},
@@ -19895,7 +19895,7 @@
1989519895
{
1989619896
"id": "welcome-in-trial-expired-eligible",
1989719897
"title": "Get the most out of GitLens ",
19898-
"description": "Thanks for installing GitLens, the #1 most downloaded Git extension in VS Code.\n\nYou're currently using **GitLens Community**, our free extension that helps you track code changes and who made them, with features like in-editor blame annotations, hovers, CodeLens, and more.\n\n**Unlock more powerful tools — Try GitLens Pro again free for 14 days.**\n\n[Get Started with GitLens Pro](command:gitlens.walkthrough.plus.upgrade)\n\nWith GitLens Pro, you can accelerate PR reviews, visualize code history in-depth, and enhance collaboration across your team. It's the perfect upgrade to streamline your VS Code workflow.",
19898+
"description": "Thanks for installing GitLens and trying out GitLens Pro.\n\nYou're using **GitLens Community** edition.\nTrack code changes and see who made them with features like in-editor blame annotations, hovers, CodeLens, and more—completely free.\n\n**Unlock more powerful tools — Try GitLens Pro again** free for another 14 days.\n\n[Reactivate GitLens Pro Trial](command:gitlens.walkthrough.plus.reactivate)\n\nWith GitLens Pro, you can accelerate PR reviews, visualize code history in-depth, and enhance collaboration across your team. It's the perfect upgrade to streamline your VS Code workflow.",
1989919899
"media": {
1990019900
"markdown": "walkthroughs/welcome/welcome-in-trial-expired-eligible.md"
1990119901
},

src/commands/walkthroughs.ts

Lines changed: 56 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export class WalkthroughOpenWalkthroughCommand extends Command {
5858
const command = Commands.OpenWalkthrough;
5959
this.container.telemetry.sendEvent('walkthrough/action', {
6060
type: 'command',
61-
name: command,
61+
name: 'open/walkthrough',
6262
command: command,
6363
});
6464
executeCommand(command);
@@ -76,7 +76,7 @@ export class WalkthroughPlusUpgradeCommand extends Command {
7676
const command = Commands.PlusUpgrade;
7777
this.container.telemetry.sendEvent('walkthrough/action', {
7878
type: 'command',
79-
name: command,
79+
name: 'plus/upgrade',
8080
command: command,
8181
});
8282
executeCommand(command);
@@ -94,8 +94,8 @@ export class WalkthroughOpenHelpCenterCommand extends Command {
9494
const url = urls.helpCenter;
9595
this.container.telemetry.sendEvent('walkthrough/action', {
9696
type: 'url',
97-
name: url,
98-
command: url,
97+
name: 'open/help-center',
98+
url: url,
9999
});
100100
void openUrl(url);
101101
}
@@ -112,7 +112,24 @@ export class WalkthroughPlusSignUpCommand extends Command {
112112
const command = Commands.PlusSignUp;
113113
this.container.telemetry.sendEvent('walkthrough/action', {
114114
type: 'command',
115-
name: command,
115+
name: 'plus/sign-up',
116+
command: command,
117+
});
118+
executeCommand(command);
119+
}
120+
}
121+
122+
@command()
123+
export class WalkthroughPlusReactivateCommand extends Command {
124+
constructor(private readonly container: Container) {
125+
super(Commands.WalkthroughPlusReactivate);
126+
}
127+
128+
execute() {
129+
const command = Commands.PlusReactivateProTrial;
130+
this.container.telemetry.sendEvent('walkthrough/action', {
131+
type: 'command',
132+
name: 'plus/reactivate',
116133
command: command,
117134
});
118135
executeCommand(command);
@@ -130,8 +147,8 @@ export class WalkthroughOpenCommunityVsProCommand extends Command {
130147
const url = urls.communityVsPro;
131148
this.container.telemetry.sendEvent('walkthrough/action', {
132149
type: 'url',
133-
name: url,
134-
command: url,
150+
name: 'open/help-center/community-vs-pro',
151+
url: url,
135152
});
136153
void openUrl(url);
137154
}
@@ -148,7 +165,7 @@ export class WalkthroughShowGraphCommand extends Command {
148165
const command = Commands.ShowGraph;
149166
this.container.telemetry.sendEvent('walkthrough/action', {
150167
type: 'command',
151-
name: command,
168+
name: 'open/graph',
152169
command: command,
153170
});
154171
executeCommand(command);
@@ -166,7 +183,7 @@ export class WalkthroughGitLensInspectCommand extends Command {
166183
const command = Commands.ShowCommitDetailsView;
167184
this.container.telemetry.sendEvent('walkthrough/action', {
168185
type: 'command',
169-
name: command,
186+
name: 'open/inspect',
170187
command: command,
171188
});
172189
executeCommand(command);
@@ -184,8 +201,8 @@ export class WalkthroughOpenInteractiveCodeHistoryCommand extends Command {
184201
const url = urls.interactiveCodeHistory;
185202
this.container.telemetry.sendEvent('walkthrough/action', {
186203
type: 'url',
187-
name: url,
188-
command: url,
204+
name: 'open/help-center/interactive-code-history',
205+
url: url,
189206
});
190207
void openUrl(url);
191208
}
@@ -202,7 +219,7 @@ export class WalkthroughShowLaunchpadCommand extends Command {
202219
const command = Commands.ShowLaunchpad;
203220
this.container.telemetry.sendEvent('walkthrough/action', {
204221
type: 'command',
205-
name: command,
222+
name: 'open/launchpad',
206223
command: command,
207224
});
208225
executeCommand(command);
@@ -220,13 +237,30 @@ export class WalkthroughWorktreeCreateCommand extends Command {
220237
const command = Commands.GitCommandsWorktreeCreate;
221238
this.container.telemetry.sendEvent('walkthrough/action', {
222239
type: 'command',
223-
name: command,
240+
name: 'create/worktree',
224241
command: command,
225242
});
226243
executeCommand(command);
227244
}
228245
}
229246

247+
@command()
248+
export class WalkthroughOpenDevExPlatformCommand extends Command {
249+
constructor(private readonly container: Container) {
250+
super(Commands.WalkthoughOpenDevExPlatform);
251+
}
252+
253+
execute() {
254+
const url = urls.platform;
255+
this.container.telemetry.sendEvent('walkthrough/action', {
256+
type: 'url',
257+
name: 'open/devex-platform',
258+
url: url,
259+
});
260+
void openUrl(url);
261+
}
262+
}
263+
230264
// https://help.gitkraken.com/gitlens/gitlens-home/#accelerate-pr-reviews
231265
@command()
232266
export class WalkthroughOpenAccelereatePrReviewsCommand extends Command {
@@ -238,8 +272,8 @@ export class WalkthroughOpenAccelereatePrReviewsCommand extends Command {
238272
const url = urls.acceleratePrReviews;
239273
this.container.telemetry.sendEvent('walkthrough/action', {
240274
type: 'url',
241-
name: url,
242-
command: url,
275+
name: 'open/help-center/accelerate-pr-reviews',
276+
url: url,
243277
});
244278
void openUrl(url);
245279
}
@@ -256,7 +290,7 @@ export class WalkthroughShowDraftsViewCommand extends Command {
256290
const command = Commands.ShowDraftsView;
257291
this.container.telemetry.sendEvent('walkthrough/action', {
258292
type: 'command',
259-
name: command,
293+
name: 'open/drafts',
260294
command: command,
261295
});
262296
executeCommand(command);
@@ -274,8 +308,8 @@ export class WalkthroughOpenStreamlineCollaboration extends Command {
274308
const url = urls.streamlineCollaboration;
275309
this.container.telemetry.sendEvent('walkthrough/action', {
276310
type: 'url',
277-
name: url,
278-
command: url,
311+
name: 'open/help-center/streamline-collaboration',
312+
url: url,
279313
});
280314
void openUrl(url);
281315
}
@@ -292,7 +326,7 @@ export class WalkthroughConnectIntegrationsCommand extends Command {
292326
const command = Commands.PlusConnectCloudIntegrations;
293327
this.container.telemetry.sendEvent('walkthrough/action', {
294328
type: 'command',
295-
name: command,
329+
name: 'connect/integrations',
296330
command: command,
297331
});
298332
executeCommand(command);
@@ -310,7 +344,7 @@ export class WalkthroughShowAutolinksCommand extends Command {
310344
const command = Commands.ShowSettingsPageAndJumpToAutolinks;
311345
this.container.telemetry.sendEvent('walkthrough/action', {
312346
type: 'command',
313-
name: command,
347+
name: 'open/autolinks',
314348
command: command,
315349
});
316350
executeCommand(command);
@@ -328,8 +362,8 @@ export class WalkthroughOpenStartIntegrations extends Command {
328362
const url = urls.startIntegrations;
329363
this.container.telemetry.sendEvent('walkthrough/action', {
330364
type: 'url',
331-
name: url,
332-
command: url,
365+
name: 'open/help-center/start-integrations',
366+
url: url,
333367
});
334368
void openUrl(url);
335369
}

src/constants.commands.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,11 +262,13 @@ export const enum Commands {
262262
WalkthroughOpenWalkthrough = 'gitlens.walkthrough.openWalkthrough',
263263
WalkthroughPlusSignUp = 'gitlens.walkthrough.plus.signUp',
264264
WalkthroughPlusUpgrade = 'gitlens.walkthrough.plus.upgrade',
265+
WalkthroughPlusReactivate = 'gitlens.walkthrough.plus.reactivate',
265266
WalkthroughShowAutolinks = 'gitlens.walkthrough.showAutolinks',
266267
WalkthroughShowDraftsView = 'gitlens.walkthrough.showDraftsView',
267268
WalkthroughShowGraph = 'gitlens.walkthrough.showGraph',
268269
WalkthroughShowLaunchpad = 'gitlens.walkthrough.showLaunchpad',
269270
WalkthroughWorktreeCreate = 'gitlens.walkthrough.worktree.create',
271+
WalkthoughOpenDevExPlatform = 'gitlens.walkthrough.openDevExPlatform',
270272

271273
Deprecated_DiffHeadWith = 'gitlens.diffHeadWith',
272274
Deprecated_DiffWorkingWith = 'gitlens.diffWorkingWith',

src/constants.telemetry.ts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,9 @@ export type TelemetryEvents = {
435435
step?: WalkthroughSteps;
436436
};
437437
/** Sent when the walkthrough is opened */
438-
'walkthrough/action': { type: 'url' | 'command'; name: string } & ({ command: string } | { url: string });
438+
'walkthrough/action':
439+
| { type: 'command'; name: WalkthroughActionNames; command: string }
440+
| { type: 'url'; name: WalkthroughActionNames; url: string };
439441
'walkthrough/completion': {
440442
'context.key': WalkthroughContextKeys;
441443
};
@@ -445,6 +447,26 @@ export type TelemetryEvents = {
445447
WebviewShownEventData & Record<`context.${string}`, string | number | boolean | undefined>
446448
>;
447449

450+
type WalkthroughActionNames =
451+
| 'open/help-center/start-integrations'
452+
| 'open/help-center/accelerate-pr-reviews'
453+
| 'open/help-center/streamline-collaboration'
454+
| 'open/help-center/interactive-code-history'
455+
| 'open/help-center/community-vs-pro'
456+
| 'open/devex-platform'
457+
| 'open/drafts'
458+
| 'connect/integrations'
459+
| 'open/autolinks'
460+
| 'open/graph'
461+
| 'open/launchpad'
462+
| 'create/worktree'
463+
| 'open/help-center'
464+
| 'plus/sign-up'
465+
| 'plus/upgrade'
466+
| 'plus/reactivate'
467+
| 'open/walkthrough'
468+
| 'open/inspect';
469+
448470
type AIEventDataBase = {
449471
'model.id': AIModels;
450472
'model.provider.id': AIProviders;

src/plus/gk/account/subscriptionService.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ export class SubscriptionService implements Disposable {
492492
const learn: MessageItem = { title: 'Learn More' };
493493
const confirm: MessageItem = { title: 'Continue', isCloseAffordance: true };
494494
const result = await window.showInformationMessage(
495-
`You are now on the ${actual.name} plan and have full access to all GitLens Pro features.`,
495+
`You are now on ${actual.name} and have full access to all GitLens Pro features.`,
496496
{ modal: true },
497497
confirm,
498498
learn,
@@ -526,7 +526,7 @@ export class SubscriptionService implements Disposable {
526526
const learn: MessageItem = { title: 'Community vs. Pro' };
527527
const confirm: MessageItem = { title: 'Continue', isCloseAffordance: true };
528528
const result = await window.showInformationMessage(
529-
`You are now on the ${actual.name} plan.`,
529+
`You are now on ${actual.name}.`,
530530
{
531531
modal: true,
532532
detail: 'You only have access to Pro features on publicly-hosted repos. For full access to all Pro features, please upgrade to GitLens Pro.',
@@ -700,10 +700,10 @@ export class SubscriptionService implements Disposable {
700700
if (isSubscriptionTrial(this._subscription)) {
701701
const remaining = getSubscriptionTimeRemaining(this._subscription, 'days');
702702

703-
const confirm: MessageItem = { title: 'OK' };
703+
const confirm: MessageItem = { title: 'OK', isCloseAffordance: true };
704704
const learn: MessageItem = { title: "See What's New" };
705705
const result = await window.showInformationMessage(
706-
`Your Pro trial has been reactivated! Experience all the new Pro features for another ${pluralize(
706+
`Your GitLens Pro trial has been reactivated! Experience all the new Pro features for another ${pluralize(
707707
'day',
708708
remaining ?? 0,
709709
)}.`,

src/webviews/apps/plus/shared/components/home-account-content.ts

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@ export class GLHomeAccountContent extends LitElement {
4949
margin-bottom: 1.3rem;
5050
}
5151
52+
button-container .button-suffix {
53+
display: inline-flex;
54+
align-items: center;
55+
white-space: nowrap;
56+
gap: 0.2em;
57+
margin-left: 0.4rem;
58+
}
59+
5260
gl-accordion {
5361
border-top: 1px solid var(--vscode-sideBarSectionHeader-border);
5462
}
@@ -367,23 +375,23 @@ export class GLHomeAccountContent extends LitElement {
367375
case SubscriptionState.ProTrialExpired:
368376
return html`
369377
<div class="account">
378+
<p>Thank you for trying <a href="${urls.communityVsPro}">GitLens Pro</a>.</p>
370379
<p>
371-
Thank you for trying <a href="${urls.communityVsPro}">GitLens Pro</a>. <br /><br />
372380
Continue leveraging Pro features and workflows on privately-hosted repos by upgrading today.
373381
</p>
374382
<button-container>
375383
<gl-button full href="command:gitlens.plus.upgrade">Upgrade to Pro</gl-button>
376384
</button-container>
377-
${this.renderPromo(promo)}
385+
${this.renderPromo(promo)} ${this.renderIncludesDevEx()}
378386
</div>
379387
`;
380388

381389
case SubscriptionState.ProTrialReactivationEligible:
382390
return html`
383391
<div class="account">
384392
<p>
385-
Reactivate your Pro trial and experience all the new Pro features — free for another
386-
${pluralize('day', proTrialLengthInDays)}!
393+
Reactivate your GitLens Pro trial and experience all the new Pro features — free for another
394+
${pluralize('day', proTrialLengthInDays)}.
387395
</p>
388396
<button-container>
389397
<gl-button
@@ -393,27 +401,25 @@ export class GLHomeAccountContent extends LitElement {
393401
'day',
394402
proTrialLengthInDays,
395403
)}"
396-
>Reactivate Pro Trial</gl-button
404+
>Reactivate GitLens Pro Trial</gl-button
397405
>
398406
</button-container>
399-
${this.renderIncludesDevEx()}
400407
</div>
401408
`;
402409

403410
default:
404411
return html`
405412
<div class="account">
406413
<p>
407-
Unlock advanced workflows and professional developer features with
414+
Unlock advanced features and workflows on private repos, accelerate reviews, and streamline
415+
collaboration with
408416
<a href="${urls.communityVsPro}">GitLens Pro</a>.
409417
</p>
410418
<button-container>
411419
<gl-button full href="command:gitlens.plus.signUp">Try GitLens Pro</gl-button>
420+
<span class="button-suffix">or <a href="command:gitlens.plus.login">sign in</a></span>
412421
</button-container>
413-
<p>
414-
Get ${proTrialLengthInDays} days of GitLens Pro for free — no credit card required. Or
415-
<a href="command:gitlens.plus.login">sign in</a>.
416-
</p>
422+
<p>Get ${proTrialLengthInDays} days of GitLens Pro for free — no credit card required.</p>
417423
</div>
418424
`;
419425
}

walkthroughs/welcome/welcome-in-trial-expired-eligible.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
<img src="thumbnails/welcome.png" alt="Learn about GitLens Community vs Pro" />
55
</a>
66

7-
Access features that accelerate PR reviews, provide actionable code visuals, and streamline collaboration to supercharge Git and VS Code. There are workflows in the walkthrough that utilize Pro features designed to further increase developer productivity for professional developers and teams.
7+
Accelerate PR reviews, gain actionable code insights with visualizations, and streamline collaboration to supercharge your Git and VS Code experience. Leverage powerful workflows with GitLens Pro that will increase productivity for you and your team.
88

9-
[Get started with GitLens Pro](command:gitlens.walkthrough.plus.signUp) free for 14 days — no credit card required.
9+
[Reactivate your GitLens Pro trial](command:gitlens.walkthrough.plus.reactivate) and experience all the new Pro features — free for another 14 days.

walkthroughs/welcome/welcome-in-trial-expired.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
<img src="thumbnails/welcome.png" alt="Learn about GitLens Community vs Pro" />
55
</a>
66

7-
Access features that accelerate PR reviews, provide actionable code visuals, and streamline collaboration to supercharge Git and VS Code. There are workflows in the walkthrough that utilize Pro features designed to further increase developer productivity for professional developers and teams.
7+
Accelerate PR reviews, gain actionable code insights with visualizations, and streamline collaboration to supercharge your Git and VS Code experience. Leverage powerful workflows with GitLens Pro that will increase productivity for you and your team.
88

9-
[Upgrade to GitLens Pro](command:gitlens.walkthrough.plus.upgrade) today. You’ll not only receive GitLens Pro, but a suite of powerful Git visualizations and dev productivity tools from anywhere you work: IDE, desktop, terminal, and more.
9+
[Upgrade to GitLens Pro](command:gitlens.walkthrough.plus.upgrade) today. Includes access to the [GitKraken DevEx platform](command:gitlens.walkthrough.openDevExPlatform), unleashing powerful Git visualization & productivity capabilities everywhere you work: IDE, desktop, browser, and terminal.

0 commit comments

Comments
 (0)