Unverified Commit d5973a54 authored by Denys Butenko's avatar Denys Butenko Committed by GitHub
Browse files

NAS-125093 / 24.04 / Similar tickets in Feedback dialog (#9349)

parent 1194089d
Showing with 299 additions and 12 deletions
+299 -12
......@@ -262,6 +262,8 @@ import {
ZfsSnapshot,
} from 'app/interfaces/zfs-snapshot.interface';
import {
SimilarIssue,
SimilarIssuesParams,
SupportConfig, SupportConfigUpdate,
} from 'app/modules/ix-feedback/interfaces/file-ticket.interface';
......@@ -753,6 +755,7 @@ export interface ApiCallDirectory {
'support.is_available': { params: void; response: boolean };
'support.is_available_and_enabled': { params: void; response: boolean };
'support.update': { params: [SupportConfigUpdate]; response: SupportConfig };
'support.similar_issues': { params: SimilarIssuesParams; response: SimilarIssue[] };
// System
'system.advanced.config': { params: void; response: AdvancedConfig };
......
......@@ -4,4 +4,32 @@
[tooltip]="tooltips.title | translate"
[placeholder]="tooltips.title | translate"
[required]="true"
[hint]="hint$ | async"
></ix-input>
<div *ngIf="hasSimilarIssues$ | async as issues" class="similar-issues">
<div *ngIf="issues.length" class="similar-issues-header">
<div class="similar-issues-title">
{{ 'The following issues were already reported.' | translate }}
</div>
<div class="similar-issues-subtitle">
{{ 'Do any of them look similar?' | translate }}
</div>
</div>
<div *ngIf="issues.length" class="similar-issues-body">
<a
*ngFor="let issue of issues"
class="similar-issue"
target="_blank"
[href]="issue.url"
[ixTest]="['similar-issue', issue.id]"
>
<span
class="issue-type-icon"
[style.background-image]="'url(https://ixsystems.atlassian.net' + issue.img + ')'"
></span>
<span [innerHTML]="sanitizeHtml(issue.summary)"></span>
<ix-icon name="mdi-open-in-new"></ix-icon>
</a>
</div>
</div>
@import 'mixins/animations';
.similar-issues-body {
display: flex;
flex-direction: column;
gap: 4px;
max-height: 148px;
overflow-y: auto;
padding: 0;
}
.similar-issue {
align-items: flex-start;
background: var(--bg1);
border: 1px solid var(--lines);
display: flex;
gap: 6px;
padding: 4px 8px;
.ix-icon.mdi-set {
font-size: inherit;
}
}
.issue-type-icon {
@include fade-in();
background: var(--bg2);
border-radius: 2px;
display: inline-flex;
flex: 0 0 auto;
height: 16px;
margin-top: 2px;
width: 16px;
}
.similar-issues-header {
font-weight: bold;
margin-bottom: 8px;
margin-top: -12px;
}
import { HarnessLoader } from '@angular/cdk/testing';
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
import { ReactiveFormsModule } from '@angular/forms';
import { createComponentFactory, Spectator } from '@ngneat/spectator/jest';
import { mockProvider, createComponentFactory, Spectator } from '@ngneat/spectator/jest';
import { of } from 'rxjs';
import { FileTicketFormComponent } from 'app/modules/ix-feedback/file-ticket-form/file-ticket-form.component';
import { similarTickets } from 'app/modules/ix-feedback/file-ticket-form/similar-tickets.mock';
import { IxFeedbackService } from 'app/modules/ix-feedback/ix-feedback.service';
import { IxInputHarness } from 'app/modules/ix-forms/components/ix-input/ix-input.harness';
import { IxFormsModule } from 'app/modules/ix-forms/ix-forms.module';
......@@ -17,7 +20,13 @@ describe('FileTicketFormComponent', () => {
IxFormsModule,
],
declarations: [],
providers: [],
providers: [
mockProvider(IxFeedbackService, {
oauthToken$: of('test-token'),
getOauthToken: jest.fn(() => 'test-token'),
getSimilarIssues: jest.fn(() => of(similarTickets)),
}),
],
});
beforeEach(() => {
......@@ -33,4 +42,14 @@ describe('FileTicketFormComponent', () => {
title: 'Test subject',
});
});
it('checks for similar issues when title is changed', async () => {
const title = await loader.getHarness(IxInputHarness.with({ label: 'Subject' }));
await title.setValue('Similar');
expect(spectator.inject(IxFeedbackService).getSimilarIssues).toHaveBeenCalledWith('Similar');
expect(spectator.query('.similar-issues-title')).toHaveText('The following issues were already reported.');
expect(spectator.query('.similar-issues-subtitle')).toHaveText('Do any of them look similar?');
expect(spectator.queryAll('.similar-issue')).toHaveLength(9);
});
});
......@@ -2,23 +2,73 @@ import {
Component,
} from '@angular/core';
import { FormControl, Validators } from '@angular/forms';
import { UntilDestroy } from '@ngneat/until-destroy';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
import { TranslateService } from '@ngx-translate/core';
import {
combineLatest,
debounceTime, distinctUntilChanged, filter, map, switchMap,
} from 'rxjs';
import { helptextSystemSupport as helptext } from 'app/helptext/system/support';
import {
CreateNewTicket,
} from 'app/modules/ix-feedback/interfaces/file-ticket.interface';
import { IxFeedbackService } from 'app/modules/ix-feedback/ix-feedback.service';
@UntilDestroy()
@Component({
templateUrl: './file-ticket-form.component.html',
styleUrls: ['./file-ticket-form.component.scss'],
})
export class FileTicketFormComponent {
protected title = new FormControl<string>('', [Validators.required]);
protected similarIssues$ = this.title.valueChanges.pipe(
filter(() => Boolean(this.feedback.getOauthToken())),
filter((query) => query.length > 3),
debounceTime(500),
distinctUntilChanged(),
switchMap((query) => this.feedback.getSimilarIssues(query)),
);
protected hasSimilarIssues$ = combineLatest([
this.title.valueChanges,
this.similarIssues$,
]).pipe(
map(([title, issues]) => {
if (title.length > 3) {
return issues;
}
return [];
}),
);
protected readonly hint$ = this.feedback.oauthToken$.pipe(map((token) => {
if (token) {
return '';
}
return this.translate.instant('Login To Jira first to enable autocomplete feature for similar issues.');
}));
readonly tooltips = {
title: helptext.title.tooltip,
};
constructor(
private feedback: IxFeedbackService,
private sanitizer: DomSanitizer,
private translate: TranslateService,
) {
this.feedback.oauthToken$.pipe(
filter(Boolean),
untilDestroyed(this),
).subscribe(() => {
this.title.enable();
});
}
sanitizeHtml(url: string): SafeHtml {
return this.sanitizer.bypassSecurityTrustHtml(url);
}
getPayload(): Partial<CreateNewTicket> {
return {
title: this.title.value,
......
export const similarTickets = [
{
url: 'https://ixsystems.atlassian.net/browse/NAS-125093',
id: 87844,
key: 'NAS-125093',
keyHtml: 'NAS-125093',
img: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10311?size=medium',
summary: '<b>Similar</b> tickets screen',
summaryText: 'Similar tickets screen',
},
{
url: 'https://ixsystems.atlassian.net/browse/NAS-122608',
id: 79257,
key: 'NAS-122608',
keyHtml: 'NAS-122608',
img: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium',
summary: 'Figure out a max limit for <b>similar</b> apps on the UI',
summaryText: 'Figure out a max limit for similar apps on the UI',
},
{
url: 'https://ixsystems.atlassian.net/browse/NAS-121981',
id: 77378,
key: 'NAS-121981',
keyHtml: 'NAS-121981',
img: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10308?size=medium',
summary: 'Add <b>similar</b>ity score for retrieving <b>similar</b> apps',
summaryText: 'Add similarity score for retrieving similar apps',
},
{
url: 'https://ixsystems.atlassian.net/browse/NAS-121950',
id: 77215,
key: 'NAS-121950',
keyHtml: 'NAS-121950',
img: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10311?size=medium',
summary: 'Improvements to <b>similar</b> apps',
summaryText: 'Improvements to similar apps',
},
{
url: 'https://ixsystems.atlassian.net/browse/NAS-121562',
id: 75489,
key: 'NAS-121562',
keyHtml: 'NAS-121562',
img: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10311?size=medium',
summary: 'Add endpoint to retrieve <b>similar</b> apps',
summaryText: 'Add endpoint to retrieve similar apps',
},
{
url: 'https://ixsystems.atlassian.net/browse/NAS-121484',
id: 75191,
key: 'NAS-121484',
keyHtml: 'NAS-121484',
img: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10303?size=medium',
summary: '<b>Similar</b> Apps Navigation is not working',
summaryText: 'Similar Apps Navigation is not working',
},
{
url: 'https://ixsystems.atlassian.net/browse/NAS-120377',
id: 71041,
key: 'NAS-120377',
keyHtml: 'NAS-120377',
img: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10310?size=medium',
summary: 'Extract <b>similar</b> Manage Certificates code',
summaryText: 'Extract similar Manage Certificates code',
},
{
url: 'https://ixsystems.atlassian.net/browse/NAS-120285',
id: 70573,
key: 'NAS-120285',
keyHtml: 'NAS-120285',
img: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10311?size=medium',
summary: 'Implement API endpoint for <b>similar</b> apps',
summaryText: 'Implement API endpoint for similar apps',
},
{
url: 'https://ixsystems.atlassian.net/browse/NAS-120107',
id: 69799,
key: 'NAS-120107',
keyHtml: 'NAS-120107',
img: '/rest/api/2/universal_avatar/view/type/issuetype/avatar/10311?size=medium',
summary: 'Implement <b>Similar</b> Apps for the App Detail View',
summaryText: 'Implement Similar Apps for the App Detail View',
},
];
......@@ -2,19 +2,22 @@ import {
TicketCategory, TicketCriticality, TicketEnvironment, TicketType,
} from 'app/enums/file-ticket.enum';
export interface CreateNewTicket {
attach_debug: boolean;
body: string;
category?: string | TicketCategory;
title: string;
type?: TicketType;
token?: string;
interface EnterpriseFields {
name?: string;
email?: string;
cc?: string[];
phone?: string;
environment?: TicketEnvironment;
criticality?: TicketCriticality;
category?: TicketCategory;
}
export interface CreateNewTicket extends EnterpriseFields {
attach_debug: boolean;
body: string;
title: string;
type?: TicketType;
token?: string;
}
export interface SupportConfig {
......@@ -53,3 +56,18 @@ export type AttachTicketParams = [
filename: string,
ticket: number,
];
export type SimilarIssuesParams = [
token: string,
query: string,
];
export interface SimilarIssue {
id: number;
url: string;
img: string;
key: string;
keyHtml: string;
summary: string;
summaryText: string;
}
......@@ -4,11 +4,12 @@ import { Store } from '@ngrx/store';
import html2canvas, { Options } from 'html2canvas';
import {
BehaviorSubject,
Observable, combineLatest, filter, first, map, switchMap,
Observable, combineLatest, filter, first, map, of, switchMap,
} from 'rxjs';
import {
AddReview, AttachmentAddedResponse,
} from 'app/modules/ix-feedback/interfaces/feedback.interface';
import { SimilarIssue } from 'app/modules/ix-feedback/interfaces/file-ticket.interface';
import { SystemGeneralService } from 'app/services/system-general.service';
import { WebSocketService } from 'app/services/ws.service';
import { AppState } from 'app/store';
......@@ -20,7 +21,7 @@ import { ReviewAddedResponse } from './interfaces/feedback.interface';
})
export class IxFeedbackService {
isReviewAllowed$ = new BehaviorSubject<boolean>(false);
private oauthToken$ = new BehaviorSubject<string>(null);
oauthToken$ = new BehaviorSubject<string>(null);
private readonly hostname = 'https://feedback.ui.truenas.com';
constructor(
......@@ -102,4 +103,12 @@ export class IxFeedbackService {
}),
);
}
getSimilarIssues(query: string): Observable<SimilarIssue[]> {
if (!this.getOauthToken()) {
return of([]);
}
return this.ws.call('support.similar_issues', [this.getOauthToken(), query]);
}
}
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1102,6 +1102,7 @@
"Display network interface IP address. The primary interface IP address is the default. A different interface IP address can be chosen.": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -1905,6 +1906,7 @@
"Logging Level": "",
"Logical Block Size": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Long": "",
......@@ -3363,6 +3365,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
......@@ -1192,6 +1192,7 @@
"Distinguished Name": "",
"Distributed Hot Spares": "",
"Do <b>NOT</b> change this setting when using Windows as the initiator. Only needs to be changed in large environments where the number of systems using a specific RPM is needed for accurate reporting statistics.": "",
"Do any of them look similar?": "",
"Do not enable ALUA on TrueNAS unless it is also supported by and enabled on the client computers. ALUA only works when enabled on both the client and server.": "",
"Do not save": "",
"Do not set this if the Serial Port is disabled.": "",
......@@ -2174,6 +2175,7 @@
"Logical Block Size": "",
"Login Attempts": "",
"Login To Jira To Submit": "",
"Login To Jira first to enable autocomplete feature for similar issues.": "",
"Login error. Please try again.": "",
"Logout": "",
"Logs": "",
......@@ -3791,6 +3793,7 @@
"The following changes to this SMB Share require the SMB Service to be restarted before they can take effect.": "",
"The following datasets cannot be unlocked.": "",
"The following disks have exported pools on them.\n Using those disks will make existing pools on them unable to be imported.\n You will lose any and all data in selected disks.": "",
"The following issues were already reported.": "",
"The following { n, plural, one {application} other {# applications} } will be upgraded. Are you sure you want to proceed?": "",
"The following { n, plural, one {boot environment} other {# boot environments} } will be deleted. Are you sure you want to proceed?": "",
"The following { n, plural, one {docker image} other {# docker images} } will be deleted. Are you sure you want to proceed?": "",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment