diff --git a/docs/telemetry-events.md b/docs/telemetry-events.md index 9a7b3b7e8b5ce..a78a298e59b11 100644 --- a/docs/telemetry-events.md +++ b/docs/telemetry-events.md @@ -2023,7 +2023,7 @@ or ```typescript { 'command': string, - 'name': 'open/help-center/start-integrations' | 'open/help-center/accelerate-pr-reviews' | 'open/help-center/streamline-collaboration' | 'open/help-center/interactive-code-history' | 'open/help-center/community-vs-pro' | 'open/devex-platform' | 'open/drafts' | 'connect/integrations' | 'open/autolinks' | 'open/graph' | 'open/launchpad' | 'create/worktree' | 'open/help-center' | 'plus/sign-up' | 'plus/upgrade' | 'plus/reactivate' | 'open/walkthrough' | 'open/inspect', + 'name': 'open/help-center/start-integrations' | 'open/help-center/accelerate-pr-reviews' | 'open/help-center/streamline-collaboration' | 'open/help-center/interactive-code-history' | 'open/help-center/community-vs-pro' | 'open/help-center/home-view' | 'open/devex-platform' | 'open/drafts' | 'open/home' | 'connect/integrations' | 'open/autolinks' | 'open/graph' | 'open/launchpad' | 'create/worktree' | 'open/help-center' | 'plus/sign-up' | 'plus/upgrade' | 'plus/reactivate' | 'open/walkthrough' | 'open/inspect', 'type': 'command' } ``` @@ -2032,7 +2032,7 @@ or ```typescript { - 'name': 'open/help-center/start-integrations' | 'open/help-center/accelerate-pr-reviews' | 'open/help-center/streamline-collaboration' | 'open/help-center/interactive-code-history' | 'open/help-center/community-vs-pro' | 'open/devex-platform' | 'open/drafts' | 'connect/integrations' | 'open/autolinks' | 'open/graph' | 'open/launchpad' | 'create/worktree' | 'open/help-center' | 'plus/sign-up' | 'plus/upgrade' | 'plus/reactivate' | 'open/walkthrough' | 'open/inspect', + 'name': 'open/help-center/start-integrations' | 'open/help-center/accelerate-pr-reviews' | 'open/help-center/streamline-collaboration' | 'open/help-center/interactive-code-history' | 'open/help-center/community-vs-pro' | 'open/help-center/home-view' | 'open/devex-platform' | 'open/drafts' | 'open/home' | 'connect/integrations' | 'open/autolinks' | 'open/graph' | 'open/launchpad' | 'create/worktree' | 'open/help-center' | 'plus/sign-up' | 'plus/upgrade' | 'plus/reactivate' | 'open/walkthrough' | 'open/inspect', 'type': 'url', 'url': string } @@ -2042,7 +2042,7 @@ or ```typescript { - 'context.key': 'integrations' | 'gettingStarted' | 'visualizeCodeHistory' | 'prReviews' | 'streamlineCollaboration' + 'context.key': 'integrations' | 'homeView' | 'gettingStarted' | 'visualizeCodeHistory' | 'prReviews' | 'streamlineCollaboration' } ``` diff --git a/package.json b/package.json index 7f6cf34fce215..c86c8d025892d 100644 --- a/package.json +++ b/package.json @@ -21360,6 +21360,17 @@ ], "when": "gitlens:plus:state == 6" }, + { + "id": "welcome-home-view", + "title": "(New) The Home View", + "description": "Compact yet powerful, the Home View helps you quickly start work on issues, create PRs, and manage branches—all from a single intelligent view.\n\nImprove workflow visibility with clear paths to take action on:\n\n- What am I actively working on now?\n- What should I work on next?\n- What have I worked on recently?\n\nThe Home View is the perfect companion for developers looking to reduce tedious context switching and stay focused on their work in VS Code.\n\n\n[Open the Home View](command:gitlens.walkthrough.showHomeView)\n$(gitlens-play-button)  [Watch a video on the Home view](command:gitlens.walkthrough.openHomeViewVideo)", + "media": { + "markdown": "walkthroughs/welcome/home.md" + }, + "completionEvents": [ + "onContext:gitlens:walkthroughState:homeView == true" + ] + }, { "id": "visualize-code-history", "title": "Interactive Code History", diff --git a/src/commands/walkthroughs.ts b/src/commands/walkthroughs.ts index 1198c89271aff..645801a388811 100644 --- a/src/commands/walkthroughs.ts +++ b/src/commands/walkthroughs.ts @@ -373,3 +373,39 @@ export class WalkthroughOpenStartIntegrations extends GlCommandBase { void openUrl(url); } } + +// https://help.gitkraken.com/gitlens/home-view +@command() +export class WalkthroughOpenHomeViewVideo extends GlCommandBase { + constructor(private readonly container: Container) { + super('gitlens.walkthrough.openHomeViewVideo'); + } + + execute(): void { + const url = urls.homeView; + this.container.telemetry.sendEvent('walkthrough/action', { + type: 'url', + name: 'open/help-center/home-view', + url: url, + }); + void openUrl(url); + } +} + +// gitlens.showHomeView +@command() +export class WalkthroughShowHomeViewCommand extends GlCommandBase { + constructor(private readonly container: Container) { + super('gitlens.walkthrough.showHomeView'); + } + + execute(): void { + const command: GlCommands = 'gitlens.showHomeView'; + this.container.telemetry.sendEvent('walkthrough/action', { + type: 'command', + name: 'open/home', + command: command, + }); + executeCommand(command); + } +} diff --git a/src/constants.commands.ts b/src/constants.commands.ts index b86939869c28e..0e8cf11e00196 100644 --- a/src/constants.commands.ts +++ b/src/constants.commands.ts @@ -85,6 +85,7 @@ type InternalWalkthroughCommands = | 'gitlens.walkthrough.openAcceleratePrReviews' | 'gitlens.walkthrough.openCommunityVsPro' | 'gitlens.walkthrough.openHelpCenter' + | 'gitlens.walkthrough.openHomeViewVideo' | 'gitlens.walkthrough.openInteractiveCodeHistory' | 'gitlens.walkthrough.openStartIntegrations' | 'gitlens.walkthrough.openStreamlineCollaboration' @@ -95,6 +96,7 @@ type InternalWalkthroughCommands = | 'gitlens.walkthrough.showAutolinks' | 'gitlens.walkthrough.showDraftsView' | 'gitlens.walkthrough.showGraph' + | 'gitlens.walkthrough.showHomeView' | 'gitlens.walkthrough.showLaunchpad' | 'gitlens.walkthrough.worktree.create' | 'gitlens.walkthrough.openDevExPlatform'; diff --git a/src/constants.telemetry.ts b/src/constants.telemetry.ts index 73744716e88b1..d2169a7003aef 100644 --- a/src/constants.telemetry.ts +++ b/src/constants.telemetry.ts @@ -869,8 +869,10 @@ type WalkthroughActionNames = | 'open/help-center/streamline-collaboration' | 'open/help-center/interactive-code-history' | 'open/help-center/community-vs-pro' + | 'open/help-center/home-view' | 'open/devex-platform' | 'open/drafts' + | 'open/home' | 'connect/integrations' | 'open/autolinks' | 'open/graph' diff --git a/src/constants.ts b/src/constants.ts index 53f6dcfecac4a..5f77bd72002f5 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -154,7 +154,7 @@ export const trackableSchemes = Object.freeze( ]), ); -const utm = 'utm_source=gitlens-extension&utm_medium=in-app-links'; +const utm = 'source=gitlens&product=gitlens&utm_source=gitlens-extension&utm_medium=in-app-links'; export const urls = Object.freeze({ codeSuggest: `https://gitkraken.com/solutions/code-suggest?${utm}`, cloudPatches: `https://gitkraken.com/solutions/cloud-patches?${utm}`, @@ -178,6 +178,7 @@ export const urls = Object.freeze({ acceleratePrReviews: `https://help.gitkraken.com/gitlens/gitlens-start-here/?${utm}#accelerate-pr-reviews`, communityVsPro: `https://help.gitkraken.com/gitlens/gitlens-community-vs-gitlens-pro/?${utm}`, + homeView: `https://help.gitkraken.com/gitlens/home-view/?${utm}&utm_campaign=walkthrough`, interactiveCodeHistory: `https://help.gitkraken.com/gitlens/gitlens-start-here/?${utm}#interactive-code-history`, startIntegrations: `https://help.gitkraken.com/gitlens/gitlens-start-here/?${utm}#improve-workflows-with-integrations`, streamlineCollaboration: `https://help.gitkraken.com/gitlens/gitlens-start-here/?${utm}#streamline-collaboration`, diff --git a/src/telemetry/walkthroughStateProvider.ts b/src/telemetry/walkthroughStateProvider.ts index 3e4fb60f9f93e..6019cb653e31c 100644 --- a/src/telemetry/walkthroughStateProvider.ts +++ b/src/telemetry/walkthroughStateProvider.ts @@ -11,6 +11,7 @@ import type { UsageChangeEvent } from './usageTracker'; export type WalkthroughContextKeys = | 'gettingStarted' + | 'homeView' | 'visualizeCodeHistory' | 'prReviews' | 'streamlineCollaboration' @@ -46,6 +47,16 @@ const walkthroughRequiredMapping: Readonly + Home View + + +Located in the VS Code sidebar, the GitLens Home View highlights your current work with clear, actionable insights, guides you to Start Work on your next important tasks, and tracks recently modified branches for easy task-switching. + +[Connect Integrations](command:gitlens.walkthrough.connectIntegrations) with hosting and issue services like GitHub, GitLab, Azure DevOps, Jira, Bitbucket, and more to help you monitor and take action on branches, issues, and pull requests. + +Learn more on our detailed [Home View Help Center Page](command:gitlens.walkthrough.openHomeViewVideo). diff --git a/walkthroughs/welcome/improve-workflows-with-integrations.md b/walkthroughs/welcome/improve-workflows-with-integrations.md index cd662c17eac24..ebc56d6772865 100644 --- a/walkthroughs/welcome/improve-workflows-with-integrations.md +++ b/walkthroughs/welcome/improve-workflows-with-integrations.md @@ -1,11 +1,11 @@ ### Integrate with Git Hosting & Issue Services - - Image + + Autolinks Connect GitLens to GitHub, GitLab, and Jira to link PRs and issues to branches and commits, track and manage PRs in Launchpad, and start work on issues seamlessly. With Autolinks, GitLens surfaces links to issues and PRs related to your commits automatically, from a variety of services and custom servers. -Watch a [video](https://help.gitkraken.com/gitlens/gitlens-start-here/#integrations) about improving GitLens with integrations. +Watch a [video](command:gitlens.walkthrough.openStartIntegrations) about improving GitLens with integrations. diff --git a/walkthroughs/welcome/thumbnails/home-view.jpg b/walkthroughs/welcome/thumbnails/home-view.jpg new file mode 100644 index 0000000000000..10e99c627e619 Binary files /dev/null and b/walkthroughs/welcome/thumbnails/home-view.jpg differ