Merge branch 'master' into soft-delete

This commit is contained in:
Chad Scharf 2020-05-08 09:20:35 -04:00
commit 40ffda4da4
10 changed files with 42 additions and 17 deletions

2
jslib

@ -1 +1 @@
Subproject commit e9db844285e21525f5152e782063f04e02543553
Subproject commit 0092aac275e8efca66838a8c266eec1d455883aa

6
package-lock.json generated
View File

@ -904,9 +904,9 @@
"dev": true
},
"@types/lunr": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/@types/lunr/-/lunr-2.1.6.tgz",
"integrity": "sha512-Bz6fUhX1llTa7ygQJN3ttoVkkrpW7xxSEP7D7OYFO/FCBKqKqruRUZtJzTtYA0GkQX13lxU5u+8LuCviJlAXkQ==",
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/@types/lunr/-/lunr-2.3.3.tgz",
"integrity": "sha512-09sXZZVsB3Ib41U0fC+O1O+4UOZT1bl/e+/QubPxpqDWHNEchvx/DEb1KJMOwq6K3MTNzZFoNSzVdR++o1DVnw==",
"dev": true
},
"@types/mousetrap": {

View File

@ -28,7 +28,7 @@
"@ngtools/webpack": "^7.2.2",
"@types/chrome": "^0.0.73",
"@types/jasmine": "^3.3.12",
"@types/lunr": "^2.1.6",
"@types/lunr": "^2.3.3",
"@types/mousetrap": "^1.6.0",
"@types/node-forge": "^0.7.5",
"@types/papaparse": "^4.5.3",

View File

@ -1282,5 +1282,11 @@
},
"restoredItem": {
"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"
}
}

View File

@ -15,7 +15,7 @@ table {
.outter-table > tbody > tr > td {
padding: 0 0 0 10px;
border-bottom: 2px solid #3c8dbc;
border-bottom: 2px solid #175DDC;
height: 40px;
}
@ -56,7 +56,7 @@ img {
}
button:not(.link) {
background-color: #3c8dbc;
background-color: #175DDC;
padding: 5px 15px;
border-radius: 3px;
color: #ffffff;
@ -65,13 +65,13 @@ button:not(.link) {
button:not(.link):hover {
cursor: pointer;
background-color: #3681ad;
background-color: #1751bd;
}
button.link {
background: none;
padding: 5px 15px;
color: #3c8dbc;
color: #175DDC;
border: 0;
}

View File

@ -17,15 +17,14 @@ $gray: #555;
$gray-light: #777;
$text-muted: $gray-light;
$brand-primary: #3c8dbc;
$brand-primary: #175DDC;
$brand-danger: #dd4b39;
$brand-success: #00a65a;
$brand-info: #555555;
$brand-warning: #bf7e16;
$brand-primary-accent: #286090;
$brand-primary-accent: #1252A3;
$background-color: #efeff4;
$background-color-alt: #ecf0f5;
$background-color: #f0f0f0;
$box-background-color: white;
$box-background-hover-color: $list-item-hover;

View File

@ -33,8 +33,8 @@
</div>
<div class="box-content-row display-block" appBoxRow>
<label for="vaultTimeoutAction">{{'vaultTimeoutAction' | i18n}}</label>
<select id="vaultTimeoutAction" name="VaultTimeoutActions" [ngModel]="vaultTimeoutAction"
(ngModelChange)="saveVaultTimeoutAction($event)">
<select #vaultTimeoutActionSelect id="vaultTimeoutAction" name="VaultTimeoutActions"
[ngModel]="vaultTimeoutAction" (ngModelChange)="saveVaultTimeoutAction($event)">
<option *ngFor="let o of vaultTimeoutActions" [ngValue]="o.value">{{o.name}}</option>
</select>
</div>

View File

@ -45,6 +45,7 @@ const RateUrls = {
})
export class SettingsComponent implements OnInit {
@ViewChild('vaultTimeoutSelect', { read: ElementRef }) vaultTimeoutSelectRef: ElementRef;
@ViewChild('vaultTimeoutActionSelect', { read: ElementRef }) vaultTimeoutActionSelectRef: ElementRef;
vaultTimeouts: any[];
vaultTimeout: number = null;
vaultTimeoutActions: any[];
@ -126,6 +127,20 @@ export class SettingsComponent implements OnInit {
}
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;
await this.vaultTimeoutService.setVaultTimeoutOptions(this.vaultTimeout != null ? this.vaultTimeout : null,
this.vaultTimeoutAction);

View File

@ -10,7 +10,5 @@
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.automation.apple-events</key>
<true/>
</dict>
</plist>

View File

@ -43,6 +43,10 @@ const MonthAbbr = ['mm', 'mm', 'mm', 'mm', 'mm', 'mm'];
const YearAbbrShort = ['yy', 'åå', 'jj', 'aa', 'гг', 'rr'];
const YearAbbrLong = ['yyyy', 'åååå', 'jjjj', 'aa', 'гггг', 'rrrr'];
const OperationDelays = new Map<string, number>([
['buzzsprout.com', 100],
]);
/* tslint:disable */
const IsoCountries: { [id: string]: string; } = {
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;
}
// Add a small delay between operations
fillScript.properties.delay_between_operations = 20;
didAutofill = true;
if (!options.skipLastUsed) {
this.cipherService.updateLastUsedDate(options.cipher.id);