diff --git a/jslib b/jslib index 24fe836032..2db9e1ce0d 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit 24fe836032354d4ec39435776e54dd0995e1b389 +Subproject commit 2db9e1ce0d7a702f07f20ecb916dd8191ff617e1 diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index af284dde2b..34dce1738f 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -983,6 +983,14 @@ "cfTypeBoolean": { "message": "Boolean" }, + "cfTypeLinked": { + "message": "Linked", + "description": "This describes a field that is 'linked' (tied) to another field." + }, + "linkedValue": { + "message": "Linked value", + "description": "This describes a value that is 'linked' (tied) to another value." + }, "popup2faCloseMessage": { "message": "Clicking outside the popup window to check your email for your verification code will cause this popup to close. Do you want to open this popup in a new window so that it does not close?" }, @@ -1085,6 +1093,9 @@ "lastName": { "message": "Last Name" }, + "fullName": { + "message": "Full Name" + }, "identityName": { "message": "Identity Name" }, diff --git a/src/background/main.background.ts b/src/background/main.background.ts index e18837ba30..349a2152b1 100644 --- a/src/background/main.background.ts +++ b/src/background/main.background.ts @@ -271,7 +271,7 @@ export default class MainBackground { const message = Object.assign({}, { command: subscriber }, arg); that.runtimeBackground.processMessage(message, that, null); } - }(), this.vaultTimeoutService, this.logService); + }(), this.vaultTimeoutService, this.logService, this.cryptoFunctionService); } async bootstrap() { diff --git a/src/popup/scss/box.scss b/src/popup/scss/box.scss index d3f40f07e8..9503b482a1 100644 --- a/src/popup/scss/box.scss +++ b/src/popup/scss/box.scss @@ -531,6 +531,10 @@ color: themed('mutedColor'); } + &.icon-small { + min-width: 25px; + } + img { border-radius: $border-radius; max-height: 20px; diff --git a/src/popup/vault/add-edit-custom-fields.component.html b/src/popup/vault/add-edit-custom-fields.component.html index 4fe2eae422..aa8262e3f9 100644 --- a/src/popup/vault/add-edit-custom-fields.component.html +++ b/src/popup/vault/add-edit-custom-fields.component.html @@ -16,15 +16,20 @@
- + - + + +
- +
@@ -47,6 +52,9 @@
diff --git a/src/popup/vault/add-edit.component.html b/src/popup/vault/add-edit.component.html index 76f571d15e..6427b0cd21 100644 --- a/src/popup/vault/add-edit.component.html +++ b/src/popup/vault/add-edit.component.html @@ -324,7 +324,8 @@ - + +
{{'ownership' | i18n}} diff --git a/src/popup/vault/view-custom-fields.component.html b/src/popup/vault/view-custom-fields.component.html index 8c3c1853b4..a3ec154475 100644 --- a/src/popup/vault/view-custom-fields.component.html +++ b/src/popup/vault/view-custom-fields.component.html @@ -18,6 +18,13 @@ {{field.value}}
+
+
+ + {{'linkedValue' | i18n}} +
+ {{cipher.linkedFieldI18nKey(field.linkedId) | i18n}} +
diff --git a/src/services/autofill.service.ts b/src/services/autofill.service.ts index 852a7b9638..a5c27ab808 100644 --- a/src/services/autofill.service.ts +++ b/src/services/autofill.service.ts @@ -12,6 +12,7 @@ import { EventType } from 'jslib-common/enums/eventType'; import { FieldType } from 'jslib-common/enums/fieldType'; import { CipherView } from 'jslib-common/models/view/cipherView'; +import { FieldView } from 'jslib-common/models/view/fieldView'; import AutofillField from '../models/autofillField'; import AutofillPageDetails from '../models/autofillPageDetails'; @@ -318,9 +319,16 @@ export default class AutofillService implements AutofillServiceInterface { const matchingIndex = this.findMatchingFieldIndex(field, fieldNames); if (matchingIndex > -1) { - let val = fields[matchingIndex].value; - if (val == null && fields[matchingIndex].type === FieldType.Boolean) { - val = 'false'; + const matchingField: FieldView = fields[matchingIndex]; + let val; + if (matchingField.type === FieldType.Linked) { + // Assumption: Linked Field is not being used to autofill a boolean value + val = options.cipher.linkedFieldValue(matchingField.linkedId); + } else { + val = matchingField.value; + if (val == null && matchingField.type === FieldType.Boolean) { + val = 'false'; + } } filledFields[field.opid] = field;