Merge branch 'master' into soft-delete
This commit is contained in:
commit
40ffda4da4
2
jslib
2
jslib
|
@ -1 +1 @@
|
||||||
Subproject commit e9db844285e21525f5152e782063f04e02543553
|
Subproject commit 0092aac275e8efca66838a8c266eec1d455883aa
|
|
@ -904,9 +904,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/lunr": {
|
"@types/lunr": {
|
||||||
"version": "2.1.6",
|
"version": "2.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/@types/lunr/-/lunr-2.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/@types/lunr/-/lunr-2.3.3.tgz",
|
||||||
"integrity": "sha512-Bz6fUhX1llTa7ygQJN3ttoVkkrpW7xxSEP7D7OYFO/FCBKqKqruRUZtJzTtYA0GkQX13lxU5u+8LuCviJlAXkQ==",
|
"integrity": "sha512-09sXZZVsB3Ib41U0fC+O1O+4UOZT1bl/e+/QubPxpqDWHNEchvx/DEb1KJMOwq6K3MTNzZFoNSzVdR++o1DVnw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/mousetrap": {
|
"@types/mousetrap": {
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
"@ngtools/webpack": "^7.2.2",
|
"@ngtools/webpack": "^7.2.2",
|
||||||
"@types/chrome": "^0.0.73",
|
"@types/chrome": "^0.0.73",
|
||||||
"@types/jasmine": "^3.3.12",
|
"@types/jasmine": "^3.3.12",
|
||||||
"@types/lunr": "^2.1.6",
|
"@types/lunr": "^2.3.3",
|
||||||
"@types/mousetrap": "^1.6.0",
|
"@types/mousetrap": "^1.6.0",
|
||||||
"@types/node-forge": "^0.7.5",
|
"@types/node-forge": "^0.7.5",
|
||||||
"@types/papaparse": "^4.5.3",
|
"@types/papaparse": "^4.5.3",
|
||||||
|
|
|
@ -1282,5 +1282,11 @@
|
||||||
},
|
},
|
||||||
"restoredItem": {
|
"restoredItem": {
|
||||||
"message": "Restored Item"
|
"message": "Restored Item"
|
||||||
|
},
|
||||||
|
"vaultTimeoutLogOutConfirmation": {
|
||||||
|
"message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?"
|
||||||
|
},
|
||||||
|
"vaultTimeoutLogOutConfirmationTitle": {
|
||||||
|
"message": "Timeout Action Confirmation"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ table {
|
||||||
|
|
||||||
.outter-table > tbody > tr > td {
|
.outter-table > tbody > tr > td {
|
||||||
padding: 0 0 0 10px;
|
padding: 0 0 0 10px;
|
||||||
border-bottom: 2px solid #3c8dbc;
|
border-bottom: 2px solid #175DDC;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ img {
|
||||||
}
|
}
|
||||||
|
|
||||||
button:not(.link) {
|
button:not(.link) {
|
||||||
background-color: #3c8dbc;
|
background-color: #175DDC;
|
||||||
padding: 5px 15px;
|
padding: 5px 15px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
|
@ -65,13 +65,13 @@ button:not(.link) {
|
||||||
|
|
||||||
button:not(.link):hover {
|
button:not(.link):hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background-color: #3681ad;
|
background-color: #1751bd;
|
||||||
}
|
}
|
||||||
|
|
||||||
button.link {
|
button.link {
|
||||||
background: none;
|
background: none;
|
||||||
padding: 5px 15px;
|
padding: 5px 15px;
|
||||||
color: #3c8dbc;
|
color: #175DDC;
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,15 +17,14 @@ $gray: #555;
|
||||||
$gray-light: #777;
|
$gray-light: #777;
|
||||||
$text-muted: $gray-light;
|
$text-muted: $gray-light;
|
||||||
|
|
||||||
$brand-primary: #3c8dbc;
|
$brand-primary: #175DDC;
|
||||||
$brand-danger: #dd4b39;
|
$brand-danger: #dd4b39;
|
||||||
$brand-success: #00a65a;
|
$brand-success: #00a65a;
|
||||||
$brand-info: #555555;
|
$brand-info: #555555;
|
||||||
$brand-warning: #bf7e16;
|
$brand-warning: #bf7e16;
|
||||||
$brand-primary-accent: #286090;
|
$brand-primary-accent: #1252A3;
|
||||||
|
|
||||||
$background-color: #efeff4;
|
$background-color: #f0f0f0;
|
||||||
$background-color-alt: #ecf0f5;
|
|
||||||
|
|
||||||
$box-background-color: white;
|
$box-background-color: white;
|
||||||
$box-background-hover-color: $list-item-hover;
|
$box-background-hover-color: $list-item-hover;
|
||||||
|
|
|
@ -33,8 +33,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="box-content-row display-block" appBoxRow>
|
<div class="box-content-row display-block" appBoxRow>
|
||||||
<label for="vaultTimeoutAction">{{'vaultTimeoutAction' | i18n}}</label>
|
<label for="vaultTimeoutAction">{{'vaultTimeoutAction' | i18n}}</label>
|
||||||
<select id="vaultTimeoutAction" name="VaultTimeoutActions" [ngModel]="vaultTimeoutAction"
|
<select #vaultTimeoutActionSelect id="vaultTimeoutAction" name="VaultTimeoutActions"
|
||||||
(ngModelChange)="saveVaultTimeoutAction($event)">
|
[ngModel]="vaultTimeoutAction" (ngModelChange)="saveVaultTimeoutAction($event)">
|
||||||
<option *ngFor="let o of vaultTimeoutActions" [ngValue]="o.value">{{o.name}}</option>
|
<option *ngFor="let o of vaultTimeoutActions" [ngValue]="o.value">{{o.name}}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -45,6 +45,7 @@ const RateUrls = {
|
||||||
})
|
})
|
||||||
export class SettingsComponent implements OnInit {
|
export class SettingsComponent implements OnInit {
|
||||||
@ViewChild('vaultTimeoutSelect', { read: ElementRef }) vaultTimeoutSelectRef: ElementRef;
|
@ViewChild('vaultTimeoutSelect', { read: ElementRef }) vaultTimeoutSelectRef: ElementRef;
|
||||||
|
@ViewChild('vaultTimeoutActionSelect', { read: ElementRef }) vaultTimeoutActionSelectRef: ElementRef;
|
||||||
vaultTimeouts: any[];
|
vaultTimeouts: any[];
|
||||||
vaultTimeout: number = null;
|
vaultTimeout: number = null;
|
||||||
vaultTimeoutActions: any[];
|
vaultTimeoutActions: any[];
|
||||||
|
@ -126,6 +127,20 @@ export class SettingsComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
async saveVaultTimeoutAction(newValue: string) {
|
async saveVaultTimeoutAction(newValue: string) {
|
||||||
|
if (newValue === 'logOut') {
|
||||||
|
const confirmed = await this.platformUtilsService.showDialog(
|
||||||
|
this.i18nService.t('vaultTimeoutLogOutConfirmation'),
|
||||||
|
this.i18nService.t('vaultTimeoutLogOutConfirmationTitle'),
|
||||||
|
this.i18nService.t('yes'), this.i18nService.t('cancel'), 'warning');
|
||||||
|
if (!confirmed) {
|
||||||
|
this.vaultTimeoutActions.forEach((option: any, i) => {
|
||||||
|
if (option.value === this.vaultTimeoutAction) {
|
||||||
|
this.vaultTimeoutActionSelectRef.nativeElement.value = i + ': ' + this.vaultTimeoutAction;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
this.vaultTimeoutAction = newValue;
|
this.vaultTimeoutAction = newValue;
|
||||||
await this.vaultTimeoutService.setVaultTimeoutOptions(this.vaultTimeout != null ? this.vaultTimeout : null,
|
await this.vaultTimeoutService.setVaultTimeoutOptions(this.vaultTimeout != null ? this.vaultTimeout : null,
|
||||||
this.vaultTimeoutAction);
|
this.vaultTimeoutAction);
|
||||||
|
|
|
@ -10,7 +10,5 @@
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.network.server</key>
|
<key>com.apple.security.network.server</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.security.automation.apple-events</key>
|
|
||||||
<true/>
|
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|
|
@ -43,6 +43,10 @@ const MonthAbbr = ['mm', 'mm', 'mm', 'mm', 'mm', 'mm'];
|
||||||
const YearAbbrShort = ['yy', 'åå', 'jj', 'aa', 'гг', 'rr'];
|
const YearAbbrShort = ['yy', 'åå', 'jj', 'aa', 'гг', 'rr'];
|
||||||
const YearAbbrLong = ['yyyy', 'åååå', 'jjjj', 'aa', 'гггг', 'rrrr'];
|
const YearAbbrLong = ['yyyy', 'åååå', 'jjjj', 'aa', 'гггг', 'rrrr'];
|
||||||
|
|
||||||
|
const OperationDelays = new Map<string, number>([
|
||||||
|
['buzzsprout.com', 100],
|
||||||
|
]);
|
||||||
|
|
||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
const IsoCountries: { [id: string]: string; } = {
|
const IsoCountries: { [id: string]: string; } = {
|
||||||
afghanistan: "AF", "aland islands": "AX", albania: "AL", algeria: "DZ", "american samoa": "AS", andorra: "AD",
|
afghanistan: "AF", "aland islands": "AX", albania: "AL", algeria: "DZ", "american samoa": "AS", andorra: "AD",
|
||||||
|
@ -174,6 +178,9 @@ export default class AutofillService implements AutofillServiceInterface {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add a small delay between operations
|
||||||
|
fillScript.properties.delay_between_operations = 20;
|
||||||
|
|
||||||
didAutofill = true;
|
didAutofill = true;
|
||||||
if (!options.skipLastUsed) {
|
if (!options.skipLastUsed) {
|
||||||
this.cipherService.updateLastUsedDate(options.cipher.id);
|
this.cipherService.updateLastUsedDate(options.cipher.id);
|
||||||
|
|
Loading…
Reference in New Issue