Browse Source

Changes to "plan"

main
Eric Amodio 1 year ago
parent
commit
45ccaae9fe
15 changed files with 36 additions and 43 deletions
  1. +1
    -1
      .github/ISSUE_TEMPLATE/config.yml
  2. +7
    -7
      package.json
  3. +2
    -2
      src/commands/quickCommand.steps.ts
  4. +2
    -2
      src/errors.ts
  5. +4
    -4
      src/git/remotes/richRemoteProvider.ts
  6. +1
    -1
      src/plus/subscription/subscriptionService.ts
  7. +1
    -1
      src/quickpicks/items/directive.ts
  8. +1
    -1
      src/views/nodes/worktreesNode.ts
  9. +2
    -2
      src/webviews/apps/home/home.html
  10. +3
    -6
      src/webviews/apps/plus/account/components/account-content.ts
  11. +3
    -3
      src/webviews/apps/plus/shared/components/feature-gate-plus-state.ts
  12. +1
    -3
      src/webviews/apps/settings/partials/commit-graph.html
  13. +1
    -3
      src/webviews/apps/settings/partials/views.worktrees.html
  14. +3
    -3
      src/webviews/apps/shared/components/feature-gate-badge.ts
  15. +4
    -4
      src/webviews/apps/welcome/welcome.html

+ 1
- 1
.github/ISSUE_TEMPLATE/config.yml View File

@ -8,4 +8,4 @@ contact_links:
about: Read the GitLens support documentation about: Read the GitLens support documentation
- name: GitKraken Support - name: GitKraken Support
url: https://gitkraken.com/gitlens-support url: https://gitkraken.com/gitlens-support
about: Get email support for issues and questions on paid features or relating to your GitKraken account or subscription
about: Get email support for issues and questions on paid features or relating to your GitKraken account or plan

+ 7
- 7
package.json View File

@ -3937,7 +3937,7 @@
"gitlens.plusFeatures.enabled": { "gitlens.plusFeatures.enabled": {
"type": "boolean", "type": "boolean",
"default": true, "default": true,
"markdownDescription": "Specifies whether to hide or show features that require a trial or paid subscription and are not accessible given the opened repositories and current trial or subscription",
"markdownDescription": "Specifies whether to hide or show features that require a trial or paid plan and are not accessible given the opened repositories and current trial or plan",
"scope": "window", "scope": "window",
"order": 60 "order": 60
}, },
@ -14134,12 +14134,12 @@
}, },
{ {
"view": "gitlens.views.workspaces", "view": "gitlens.views.workspaces",
"contents": "[Create Cloud Workspace](command:gitlens.views.workspaces.create)\n\n☁️ Access is based on your subscription, e.g. Free, Pro, etc",
"contents": "[Create Cloud Workspace](command:gitlens.views.workspaces.create)\n\n☁️ Access is based on your plan, e.g. Free, Pro, etc",
"when": "gitlens:plus" "when": "gitlens:plus"
}, },
{ {
"view": "gitlens.views.workspaces", "view": "gitlens.views.workspaces",
"contents": "[Start Free Pro Trial](command:gitlens.plus.loginOrSignUp)\n\nStart a free 7-day Pro trial to use GitKraken Workspaces, or [sign in](command:gitlens.plus.loginOrSignUp).\n☁️ Requires an account and access is based on your subscription, e.g. Free, Pro, etc",
"contents": "[Start Free Pro Trial](command:gitlens.plus.loginOrSignUp)\n\nStart a free 7-day Pro trial to use GitKraken Workspaces, or [sign in](command:gitlens.plus.loginOrSignUp).\n☁️ Requires an account and access is based on your plan, e.g. Free, Pro, etc",
"when": "!gitlens:plus" "when": "!gitlens:plus"
}, },
{ {
@ -14159,17 +14159,17 @@
}, },
{ {
"view": "gitlens.views.worktrees", "view": "gitlens.views.worktrees",
"contents": "[Preview Pro](command:gitlens.plus.startPreviewTrial)\n\nPreview Pro for 3 days, or [sign in](command:gitlens.plus.loginOrSignUp) to start a full 7-day Pro trial.\n✨ A trial or paid subscription is required to use this on privately hosted repos.",
"contents": "[Preview Pro](command:gitlens.plus.startPreviewTrial)\n\nPreview Pro for 3 days, or [sign in](command:gitlens.plus.loginOrSignUp) to start a full 7-day Pro trial.\n✨ A trial or paid plan is required to use this on privately hosted repos.",
"when": "gitlens:plus:required && gitlens:plus:state == 0" "when": "gitlens:plus:required && gitlens:plus:state == 0"
}, },
{ {
"view": "gitlens.views.worktrees", "view": "gitlens.views.worktrees",
"contents": "Your 3-day Pro preview has ended, start a free Pro trial to get an additional 7 days, or [sign in](command:gitlens.plus.loginOrSignUp).\n\n[Start Free Pro Trial](command:gitlens.plus.loginOrSignUp)\n✨ A trial or paid subscription is required to use this on privately hosted repos.",
"contents": "Your 3-day Pro preview has ended, start a free Pro trial to get an additional 7 days, or [sign in](command:gitlens.plus.loginOrSignUp).\n\n[Start Free Pro Trial](command:gitlens.plus.loginOrSignUp)\n✨ A trial or paid plan is required to use this on privately hosted repos.",
"when": "gitlens:plus:required && gitlens:plus:state == 2" "when": "gitlens:plus:required && gitlens:plus:state == 2"
}, },
{ {
"view": "gitlens.views.worktrees", "view": "gitlens.views.worktrees",
"contents": "Your Pro trial has ended, please upgrade to continue to use this on privately hosted repos.\n\n[Upgrade to Pro](command:gitlens.plus.purchase)\n✨ A paid subscription is required to use this on privately hosted repos.",
"contents": "Your Pro trial has ended, please upgrade to continue to use this on privately hosted repos.\n\n[Upgrade to Pro](command:gitlens.plus.purchase)\n✨ A paid plan is required to use this on privately hosted repos.",
"when": "gitlens:plus:required && gitlens:plus:state == 4" "when": "gitlens:plus:required && gitlens:plus:state == 4"
} }
], ],
@ -14434,7 +14434,7 @@
{ {
"id": "gitlens.welcome.trial", "id": "gitlens.welcome.trial",
"title": "Trialing GitLens Pro", "title": "Trialing GitLens Pro",
"description": "During your trial, you have access to ✨ features on privately hosted repos and ☁️ features based on the Pro tier. [Learn more](https://www.gitkraken.com/gitlens/plus-features)\n\n[Upgrade to Pro](command:gitlens.plus.purchase)",
"description": "During your trial, you have access to ✨ features on privately hosted repos and ☁️ features based on the Pro plan. [Learn more](https://www.gitkraken.com/gitlens/plus-features)\n\n[Upgrade to Pro](command:gitlens.plus.purchase)",
"media": { "media": {
"markdown": "walkthroughs/welcome/trial.md" "markdown": "walkthroughs/welcome/trial.md"
}, },

+ 2
- 2
src/commands/quickCommand.steps.ts View File

@ -2425,9 +2425,9 @@ export async function* ensureAccessStep<
} else { } else {
if (access.subscription.required == null) return undefined; if (access.subscription.required == null) return undefined;
placeholder = '✨ Requires a trial or paid subscription for use on privately hosted repos';
placeholder = '✨ Requires a trial or paid plan for use on privately hosted repos';
if (isSubscriptionPaidPlan(access.subscription.required) && access.subscription.current.account != null) { if (isSubscriptionPaidPlan(access.subscription.required) && access.subscription.current.account != null) {
placeholder = '✨ Requires a paid subscription for use on privately hosted repos';
placeholder = '✨ Requires a paid plan for use on privately hosted repos';
directives.push(createDirectiveQuickPickItem(Directive.RequiresPaidSubscription, true)); directives.push(createDirectiveQuickPickItem(Directive.RequiresPaidSubscription, true));
} else if ( } else if (
access.subscription.current.account == null && access.subscription.current.account == null &&

+ 2
- 2
src/errors.ts View File

@ -12,9 +12,9 @@ export class AccessDeniedError extends Error {
if (subscription.account?.verified === false) { if (subscription.account?.verified === false) {
message = 'Email verification required'; message = 'Email verification required';
} else if (required != null && isSubscriptionPaidPlan(required)) { } else if (required != null && isSubscriptionPaidPlan(required)) {
message = 'Paid subscription required';
message = 'Paid plan required';
} else { } else {
message = 'Subscription required';
message = 'Plan required';
} }
super(message); super(message);

+ 4
- 4
src/git/remotes/richRemoteProvider.ts View File

@ -509,7 +509,7 @@ export abstract class RichRemoteProvider extends RemoteProvider {
} }
export async function ensurePaidPlan(providerName: string, container: Container): Promise<boolean> { export async function ensurePaidPlan(providerName: string, container: Container): Promise<boolean> {
const title = `Connecting to a ${providerName} instance for rich integration features requires a trial or paid subscription.`;
const title = `Connecting to a ${providerName} instance for rich integration features requires a trial or paid plan.`;
while (true) { while (true) {
const subscription = await container.subscription.getSubscription(); const subscription = await container.subscription.getSubscription();
@ -539,7 +539,7 @@ export async function ensurePaidPlan(providerName: string, container: Container)
const startTrial = { title: 'Preview Pro' }; const startTrial = { title: 'Preview Pro' };
const cancel = { title: 'Cancel', isCloseAffordance: true }; const cancel = { title: 'Cancel', isCloseAffordance: true };
const result = await window.showWarningMessage( const result = await window.showWarningMessage(
`${title}\n\nDo you want to preview Pro features for 3 days?`,
`${title}\n\nDo you want to preview features for 3 days?`,
{ modal: true }, { modal: true },
startTrial, startTrial,
cancel, cancel,
@ -553,7 +553,7 @@ export async function ensurePaidPlan(providerName: string, container: Container)
const signIn = { title: 'Start Free Pro Trial' }; const signIn = { title: 'Start Free Pro Trial' };
const cancel = { title: 'Cancel', isCloseAffordance: true }; const cancel = { title: 'Cancel', isCloseAffordance: true };
const result = await window.showWarningMessage( const result = await window.showWarningMessage(
`${title}\n\nDo you want to continue to use Pro features on privately hosted repos, free for an additional 7 days?`,
`${title}\n\nDo you want to continue to use features on privately hosted repos, free for an additional 7 days?`,
{ modal: true }, { modal: true },
signIn, signIn,
cancel, cancel,
@ -568,7 +568,7 @@ export async function ensurePaidPlan(providerName: string, container: Container)
const upgrade = { title: 'Upgrade to Pro' }; const upgrade = { title: 'Upgrade to Pro' };
const cancel = { title: 'Cancel', isCloseAffordance: true }; const cancel = { title: 'Cancel', isCloseAffordance: true };
const result = await window.showWarningMessage( const result = await window.showWarningMessage(
`${title}\n\nDo you want to continue to use Pro features on privately hosted repos?`,
`${title}\n\nDo you want to continue to use features on privately hosted repos?`,
{ modal: true }, { modal: true },
upgrade, upgrade,
cancel, cancel,

+ 1
- 1
src/plus/subscription/subscriptionService.ts View File

@ -468,7 +468,7 @@ export class SubscriptionService implements Disposable {
const confirm: MessageItem = { title: 'Start Free Pro Trial', isCloseAffordance: true }; const confirm: MessageItem = { title: 'Start Free Pro Trial', isCloseAffordance: true };
const cancel: MessageItem = { title: 'Cancel' }; const cancel: MessageItem = { title: 'Cancel' };
const result = await window.showInformationMessage( const result = await window.showInformationMessage(
'Your 3-day Pro preview has ended, start a free Pro trial to get an additional 7 days.\n\n✨ A trial or paid subscription is required to use Pro features on privately hosted repos.',
'Your 3-day Pro preview has ended, start a free Pro trial to get an additional 7 days.\n\n✨ A trial or paid plan is required to use Pro features on privately hosted repos.',
{ modal: true }, { modal: true },
confirm, confirm,
cancel, cancel,

+ 1
- 1
src/quickpicks/items/directive.ts View File

@ -56,7 +56,7 @@ export function createDirectiveQuickPickItem(
break; break;
case Directive.RequiresPaidSubscription: case Directive.RequiresPaidSubscription:
label = 'Upgrade to Pro'; label = 'Upgrade to Pro';
detail = 'A paid subscription is required to use this on privately hosted repos';
detail = 'A paid plan is required to use this on privately hosted repos';
break; break;
} }
} }

+ 1
- 1
src/views/nodes/worktreesNode.ts View File

@ -58,7 +58,7 @@ export class WorktreesNode extends ViewNode {
item.contextValue = ContextValues.Worktrees; item.contextValue = ContextValues.Worktrees;
item.description = access.allowed item.description = access.allowed
? undefined ? undefined
: ` ${GlyphChars.Warning} Requires a trial or paid subscription for use on privately hosted repos`;
: ` ${GlyphChars.Warning} Requires a trial or paid plan for use on privately hosted repos`;
// TODO@eamodio `folder` icon won't work here for some reason // TODO@eamodio `folder` icon won't work here for some reason
item.iconPath = new ThemeIcon('folder-opened'); item.iconPath = new ThemeIcon('folder-opened');
return item; return item;

+ 2
- 2
src/webviews/apps/home/home.html View File

@ -307,8 +307,8 @@
> >
</nav> </nav>
<p class="t-subtle"> <p class="t-subtle">
✨ Requires a trial or paid subscription to use this on privately hosted repos. <br />
☁️ Requires an account and access is based on your subscription, e.g. Free, Pro, etc
✨ Requires a trial or paid plan to use this on privately hosted repos. <br />
☁️ Requires an account and access is based on your plan, e.g. Free, Pro, etc
</p> </p>
</main> </main>

+ 3
- 6
src/webviews/apps/plus/account/components/account-content.ts View File

@ -185,7 +185,7 @@ export class AccountContent extends LitElement {
</button-container> </button-container>
<p> <p>
You only have access to features on local and publicly hosted repos and features based on You only have access to features on local and publicly hosted repos and features based on
your subscription, e.g. Free, Pro, etc.
your plan, e.g. Free, Pro, etc.
</p> </p>
`; `;
@ -199,7 +199,7 @@ export class AccountContent extends LitElement {
<gk-button full href="command:gitlens.plus.purchase">Upgrade to Pro</gk-button> <gk-button full href="command:gitlens.plus.purchase">Upgrade to Pro</gk-button>
</button-container> </button-container>
<p> <p>
You have access to features on privately hosted repos and features based on the Pro tier
You have access to features on privately hosted repos and features based on the Pro plan
during your trial. during your trial.
</p> </p>
`; `;
@ -211,10 +211,7 @@ export class AccountContent extends LitElement {
>Manage Account</gk-button >Manage Account</gk-button
> >
</button-container> </button-container>
<p>
You have access to features on privately hosted repos and features based on your
subscription.
</p>
<p>You have access to features on privately hosted repos and features based on your plan.</p>
`; `;
} }

+ 3
- 3
src/webviews/apps/plus/shared/components/feature-gate-plus-state.ts View File

@ -78,7 +78,7 @@ export class FeatureGatePlusState extends LitElement {
Preview Pro for 3 days, or Preview Pro for 3 days, or
<a href="command:gitlens.plus.loginOrSignUp">sign in</a> to start a full 7-day Pro trial. <a href="command:gitlens.plus.loginOrSignUp">sign in</a> to start a full 7-day Pro trial.
</p> </p>
<p> A trial or paid subscription is required to use this on privately hosted repos.</p>
<p> A trial or paid plan is required to use this on privately hosted repos.</p>
`; `;
case SubscriptionState.FreePreviewTrialExpired: case SubscriptionState.FreePreviewTrialExpired:
@ -90,7 +90,7 @@ export class FeatureGatePlusState extends LitElement {
<gk-button appearance="${appearance}" href="command:gitlens.plus.loginOrSignUp" <gk-button appearance="${appearance}" href="command:gitlens.plus.loginOrSignUp"
>Start Free Pro Trial</gk-button >Start Free Pro Trial</gk-button
> >
<p> A trial or paid subscription is required to use this on privately hosted repos.</p>
<p> A trial or paid plan is required to use this on privately hosted repos.</p>
`; `;
case SubscriptionState.FreePlusTrialExpired: case SubscriptionState.FreePlusTrialExpired:
@ -99,7 +99,7 @@ export class FeatureGatePlusState extends LitElement {
<gk-button appearance="${appearance}" href="command:gitlens.plus.purchase" <gk-button appearance="${appearance}" href="command:gitlens.plus.purchase"
>Upgrade to Pro</gk-button >Upgrade to Pro</gk-button
> >
<p> A paid subscription is required to use this on privately hosted repos.</p>
<p> A paid plan is required to use this on privately hosted repos.</p>
`; `;
} }

+ 1
- 3
src/webviews/apps/settings/partials/commit-graph.html View File

@ -1,9 +1,7 @@
<section id="commit-graph" class="section--settings section--collapsible"> <section id="commit-graph" class="section--settings section--collapsible">
<div class="section__header"> <div class="section__header">
<h2> <h2>
Commit Graph&nbsp;<span title="Requires a trial or paid subscription for use on privately hosted repos"
>✨</span
>
Commit Graph&nbsp;<span title="Requires a trial or paid plan for use on privately hosted repos"></span>
<a <a
class="link__learn-more" class="link__learn-more"
title="Learn more" title="Learn more"

+ 1
- 3
src/webviews/apps/settings/partials/views.worktrees.html View File

@ -1,9 +1,7 @@
<section id="worktrees-view" class="section--settings section--collapsible"> <section id="worktrees-view" class="section--settings section--collapsible">
<div class="section__header"> <div class="section__header">
<h2> <h2>
Worktrees view&nbsp;<span title="Requires a trial or paid subscription for use on privately hosted repos"
>✨</span
>
Worktrees view&nbsp;<span title="Requires a trial or paid plan for use on privately hosted repos"></span>
<a <a
class="link__learn-more" class="link__learn-more"
title="Learn more" title="Learn more"

+ 3
- 3
src/webviews/apps/shared/components/feature-gate-badge.ts View File

@ -118,18 +118,18 @@ export class FeatureGateBadge extends LitElement {
case SubscriptionState.Free: case SubscriptionState.Free:
case SubscriptionState.FreePreviewTrialExpired: case SubscriptionState.FreePreviewTrialExpired:
return html`<span class="badge-footnote" return html`<span class="badge-footnote"
> Requires a trial or paid subscription for use on privately hosted repos.</span
> Requires a trial or paid plan for use on privately hosted repos.</span
>`; >`;
case SubscriptionState.FreePlusTrialExpired: case SubscriptionState.FreePlusTrialExpired:
case SubscriptionState.FreeInPreviewTrial: case SubscriptionState.FreeInPreviewTrial:
case SubscriptionState.FreePlusInTrial: case SubscriptionState.FreePlusInTrial:
return html`<span class="badge-footnote" return html`<span class="badge-footnote"
> Requires a paid subscription for use on privately hosted repos.</span
> Requires a paid plan for use on privately hosted repos.</span
>`; >`;
case SubscriptionState.Paid: case SubscriptionState.Paid:
/* prettier-ignore */ /* prettier-ignore */
return html`<span class="badge-footnote" return html`<span class="badge-footnote"
>You have access to features on privately hosted repos and features based on your subscription.</span
>You have access to features on privately hosted repos and features based on your plan.</span
>`; >`;
default: default:
return nothing; return nothing;

+ 4
- 4
src/webviews/apps/welcome/welcome.html View File

@ -62,11 +62,11 @@
<p> <p>
✨ require a ✨ require a
<a class="muted" href="https://www.gitkraken.com/gitlens/pricing" title="Learn more" <a class="muted" href="https://www.gitkraken.com/gitlens/pricing" title="Learn more"
>trial or paid subscription</a
>trial or paid plan</a
> >
for use on privately hosted repos for use on privately hosted repos
<br /> <br />
☁️ require an account and access is based on your subscription, e.g. Free, Pro, etc
☁️ require an account and access is based on your plan, e.g. Free, Pro, etc
</p> </p>
</div> </div>
<h3 class="checkbox-group"> <h3 class="checkbox-group">
@ -542,9 +542,9 @@
</main> </main>
<footer> <footer>
<p> <p>
✨ Requires a trial or paid subscription for use on privately hosted repos
✨ Requires a trial or paid plan for use on privately hosted repos
<br /> <br />
☁️ Requires an account and access is based on your subscription, e.g. Free, Pro, etc
☁️ Requires an account and access is based on your plan, e.g. Free, Pro, etc
</p> </p>
</footer> </footer>
#{endOfBody} #{endOfBody}

Loading…
Cancel
Save