Browse Source

Updates messaging for Cloud patches security

main
Eric Amodio 1 year ago
parent
commit
422bafda35
4 changed files with 42 additions and 30 deletions
  1. +29
    -19
      src/plus/utils.ts
  2. +6
    -8
      src/plus/webviews/patchDetails/patchDetailsWebview.ts
  3. +6
    -2
      src/webviews/apps/plus/patchDetails/components/gl-patch-create.ts
  4. +1
    -1
      src/webviews/apps/plus/patchDetails/patchDetails.scss

+ 29
- 19
src/plus/utils.ts View File

@ -112,25 +112,35 @@ export async function ensureAccount(title: string, container: Container): Promis
export async function confirmDraftStorage(container: Container): Promise<boolean> {
if (container.storage.get('confirm:draft:storage', false)) return true;
const accept: MessageItem = { title: 'Yes' };
const decline: MessageItem = { title: 'No', isCloseAffordance: true };
const moreInfo: MessageItem = { title: 'More Info' };
const result = await window.showInformationMessage(
`Cloud Patches are securely stored by GitKraken.\n\nDo you want to continue?`,
{ modal: true },
accept,
decline,
moreInfo,
);
if (result === accept) {
void container.storage.store('confirm:draft:storage', true);
return true;
}
while (true) {
const accept: MessageItem = { title: 'Continue' };
const decline: MessageItem = { title: 'Cancel', isCloseAffordance: true };
const moreInfo: MessageItem = { title: 'Learn More' };
const security: MessageItem = { title: 'Security' };
const result = await window.showInformationMessage(
`Cloud Patches are securely stored by GitKraken and can be accessed by anyone with the link and a GitKraken account.`,
{ modal: true },
accept,
moreInfo,
security,
decline,
);
if (result === moreInfo) {
void env.openExternal(Uri.parse('https://help.gitkraken.com/gitlens/security'));
}
if (result === accept) {
void container.storage.store('confirm:draft:storage', true);
return true;
}
return false;
if (result === security) {
void env.openExternal(Uri.parse('https://help.gitkraken.com/gitlens/security'));
continue;
}
if (result === moreInfo) {
void env.openExternal(Uri.parse('https://www.gitkraken.com/solutions/cloud-patches'));
continue;
}
return false;
}
}

+ 6
- 8
src/plus/webviews/patchDetails/patchDetailsWebview.ts View File

@ -339,13 +339,6 @@ export class PatchDetailsWebviewProvider
return;
}
if (
!(await ensureAccount('Cloud Patches require a GitKraken account.', this.container)) ||
!(await confirmDraftStorage(this.container))
) {
return;
}
const changeset = this._context.draft.changesets?.[0];
if (changeset == null) return;
@ -413,7 +406,12 @@ export class PatchDetailsWebviewProvider
}
private async createDraft({ title, changesets, description }: CreatePatchParams): Promise<void> {
if (!(await ensureAccount('Cloud patches require a GitKraken account.', this.container))) return;
if (
!(await ensureAccount('Cloud Patches require a GitKraken account.', this.container)) ||
!(await confirmDraftStorage(this.container))
) {
return;
}
const createChanges: CreateDraftChange[] = [];

+ 6
- 2
src/webviews/apps/plus/patchDetails/components/gl-patch-create.ts View File

@ -132,8 +132,12 @@ export class GlPatchCreate extends GlTreeBase {
<gl-button full @click=${this.onCreateAll}>Create Cloud Patch</gl-button>
</span>
</p>
<!-- <p class="h-deemphasize"><code-icon icon="account"></code-icon> Requires a GitKraken account <a href="#">sign-in</a></p>
<p class="h-deemphasize"><code-icon icon="info"></code-icon> <a href="#">Learn more about cloud patches</a></p> -->
<!-- <p class="h-deemphasize"><code-icon icon="account"></code-icon> Requires a GitKraken account <a href="#">sign-in</a></p> -->
<p class="h-deemphasize"><code-icon icon="info"></code-icon> <a href="https://www.gitkraken.com/solutions/cloud-patches" title="Learn more about Cloud Patches"
aria-label="Learn more about GitKraken security">Cloud Patches</a> are <a href="https://help.gitkraken.com/gitlens/security/"
title="Learn more about Cloud Patches"
aria-label="Learn more about GitKraken security">securely stored</a> by GitKraken.
</p>
</div>
`;
}

+ 1
- 1
src/webviews/apps/plus/patchDetails/patchDetails.scss View File

@ -130,7 +130,7 @@ textarea.message-input__control {
}
&-deemphasize {
margin: 0.8rem 0 0.4rem;
opacity: 0.8;
opacity: 0.7;
}
&-no-border {
--vscode-sideBarSectionHeader-border: transparent;

Loading…
Cancel
Save